【发布时间】:2010-05-29 13:27:38
【问题描述】:
我正在考虑生成一个唯一的表单令牌并将其存储在会话中,并将其作为隐藏输入嵌入到我的表单中。
我可以对包含多个表单的页面进行这项工作吗?为每个表单使用相同的令牌仍然安全吗?
我希望在我的网站上检测机器人请求,这些表单令牌真的可以安全地替换验证码吗?
【问题讨论】:
-
这样的令牌不是用来替换验证码,而是为了防止 XSS(或 CSRF?或两者兼而有之?不确定)This article regarding PHP form security 我猜值得一读。
-
我只是使用验证码来阻止浏览器和机器人,多次自动提交表单。如果他们试图提交相同的令牌,我的脚本会标记一个错误。
-
好吧,令牌有助于防止手动创建的 HTTP POST 请求被接受。验证码有助于防止在您的站点上自动提交表单。