我想知道action属性最安全的选项是什么,因为许多人说$_SERVER['PHP_SELF']
不安全。为action属性赋予空字符串可以吗?但$_SERVER['PHP_SELF']
和空字符串的输出不同。
答案 0 :(得分:0)
我认为确实没有一种真正“安全”的方式来填充表单的action属性。例如,我可以打开Web控制台并根据需要修改表单。
那就是说,我认为你真正关心的是,如果有人要发送一个链接,其中使用了旨在改变PHP_SELF值的漏洞。获取链接的人无法知道表单已被泄露。
所以,我通常喜欢硬编码我的行动网址。如果它们必须是动态的,您可以根据您希望确保它有意义的URL列表对它们进行验证。
空动作属性也没有错,但您可以查看Forms with action=""
编辑:总结我原来的帖子: 我认为硬编码的URL是最好的。 接下来是“#”或空字符串(实际上,它仍然是硬编码的URL)。 我尽可能避免使用PHP_SELF,并在必须使用它时根据已知的合法URL进行验证。