Html 使用锚提交表单是否安全?

Html 使用锚提交表单是否安全?,html,forms,button,anchor,Html,Forms,Button,Anchor,我在某个地方读到过,使用锚定标签提交表单不是很安全,所以我的问题是:使用锚定标签而不是或提交表单安全吗?如果不是,为什么?问题是,我有一个用于按钮的CSS类,它显示了我想要的,但是如果我将它添加到实际的按钮,它会添加一个我不想要的奇怪边框 感谢使用锚来提交表单需要使用JavaScript来连接事件。这是不安全的,因为如果用户禁用了JavaScript,您将无法提交表单。例如: <form id="form1" action="" method="post"> <a hr

我在某个地方读到过,使用锚定标签提交表单不是很安全,所以我的问题是:使用锚定标签而不是
提交表单安全吗?如果不是,为什么?问题是,我有一个用于按钮的CSS类,它显示了我想要的
,但是如果我将它添加到实际的按钮,它会添加一个我不想要的奇怪边框


感谢使用锚来提交表单需要使用JavaScript来连接事件。这是不安全的,因为如果用户禁用了JavaScript,您将无法提交表单。例如:

<form id="form1" action="" method="post">
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a>
</form>

如果您愿意,您可以使用

提交!
或者坚持我们都知道的:

<input type="submit" value="Submit!" />

您可以对这三种语言进行样式化,但后两种语言不需要JavaScript。如果有边界问题,您可能只需要在某个地方更改一些CSS。


<!-- add the anchor token at the end of your action statement -->

<form method='post' action='this_page.php?put_peram=token#anchor_name'>
<input type='submit' value='click here'>

<!-- put the anchor right above where you want the page to  index -->

<a name="anchor_name></a>

尽量避免使用javascript进行操作。使用“始终提交”按钮。出于安全目的,可能会禁用某些用户的javascript

尽管您希望使用javascript提交值,但在编写
标记之前添加以下行



的确如此。但幸运的是,您可以将按钮的样式设置为
a
。只需从当前的样式中删除边框。顺便说一下,使用
也有同样的问题。使用
。虽然在大多数设置中禁用Javascript的用户数量非常少。@nfechner当然可以,但是如果有一个非常好的元素自1872年以来就内置了此功能,为什么要冒险呢?@GolezTrol re:为什么要冒险呢。设置锚定标记的样式要比设置输入按钮的样式容易得多,并且它们在不同浏览器中应用的各种样式中呈现的更加一致。像Bootstrap这样的库将样式化的复杂性抽象出来,这样锚定标记和输入看起来是一样的,但是如果您不使用这些库中的任何一个,那么从渲染和样式化的角度来看,在整个站点使用锚定标记可能会使事情变得更干净。input,按钮在IE中没有有效的:悬停状态,在其他浏览器中它是一个psuedoclass。我宁愿让0.01%的用户在禁用JavaScript的情况下无法使用我的web应用,也不愿意使用库在IE中运行:hover(同样,Pagespeed也抱怨性能问题)。你应该尝试设计你的
,以满足你的需要。请发布你当前版本的CSS,这样我们可以找到一种方法来删除奇怪的边框:)谢谢,我已经修复了边框。我只定义了顶部和底部边界,所以在两侧有默认的边界。锚如何在重定向后生存,这在POST之后是常见的?
<!-- add the anchor token at the end of your action statement -->

<form method='post' action='this_page.php?put_peram=token#anchor_name'>
<input type='submit' value='click here'>

<!-- put the anchor right above where you want the page to  index -->

<a name="anchor_name></a>