【发布时间】:2017-07-27 07:09:48
【问题描述】:
我想知道 action 属性最安全的选项是什么,因为很多人说 $_SERVER['PHP_SELF'] 不安全。为动作属性提供空字符串可以吗?但是$_SERVER['PHP_SELF'] 和空字符串的输出是不同的。
【问题讨论】:
我想知道 action 属性最安全的选项是什么,因为很多人说 $_SERVER['PHP_SELF'] 不安全。为动作属性提供空字符串可以吗?但是$_SERVER['PHP_SELF'] 和空字符串的输出是不同的。
【问题讨论】:
我不认为真的有一种真正“安全”的方式来填充表单的 action 属性。例如,我可以打开 Web 控制台并随意修改表单。
也就是说,我认为您真正关心的是,是否有人要发送一个链接,其中使用了旨在更改 PHP_SELF 值的漏洞利用。获取链接的人无法知道表单已被泄露。
所以,我通常喜欢在可能的情况下对我的操作 URL 进行硬编码。如果它们必须是动态的,您可以根据您希望确保有意义的 URL 列表来验证它们。
空的action属性也没有什么问题,不过你可以看看Forms with action=""
编辑:总结一下我原来的帖子: 我认为硬编码的 URL 是最好的。 接下来是一个“#”或一个空字符串(实际上,它仍然是一个硬编码的 URL)。 我尽量避免使用 PHP_SELF,并在我必须使用它时根据已知的合法 URL 对其进行验证。
【讨论】: