我想知道是否有人可以给出一个“最佳实践”的回应,使用空白HTML表单动作发布回当前页面。
有一个帖子问一个空白的HTML表单动作在这里做什么,一些像这样的页面认为它是好的,但我想知道人们是怎么想的。
我想知道是否有人可以给出一个“最佳实践”的回应,使用空白HTML表单动作发布回当前页面。
有一个帖子问一个空白的HTML表单动作在这里做什么,一些像这样的页面认为它是好的,但我想知道人们是怎么想的。
当前回答
这将在HTML5中验证。
<form action="#">
其他回答
I use to do not specify action attribute at all. It is actually how my framework is designed all pages get submitted back exact to same address. But today I discovered problem. Sometimes I borrow action attribute value to make some background call (I guess some people name them AJAX). So I found that IE keeps action attribute value as empty if action attribute wasn't specified. It is a bit odd in my understanding, since if no action attribute specified, the JavaScript counterpart has to be at least undefined. Anyway, my point is before you choose best practice you need to understand more context, like will you use the attribute in JavaScript or not.
只使用
?
<form action="?" method="post" enctype="multipart/form-data" name="myForm" id="myForm">
它并不违反HTML5标准。
如果不包含action属性,页面会被iframe点击劫持攻击,这涉及到几个简单的步骤:
攻击者将您的页面包装在iframe中 iframe URL包含一个与表单字段同名的查询参数 提交表单时,将查询值插入到数据库中 用户的身份信息(电子邮件,地址等)已被泄露
参考文献
绕过CSRF保护ClickJacking和HTTP参数污染
我认为最好明确地说明表单的位置。如果你想要完全安全,如果你想要表单提交回自身,在action属性中输入相同的URL。尽管主流浏览器会将""赋值到同一页面,但不能保证非主流浏览器也会这样做。
当然,整个URL包括GET数据,就像Juddling指出的那样。
当你放空动作时,一些安全过滤认为它是恶意的或网络钓鱼。因此,他们可以阻止你的页面。所以建议不要让action=为空。