【问题标题】:PHP Multiple form tokensPHP 多表单标记
【发布时间】:2010-05-29 13:27:38
【问题描述】:

我正在考虑生成一个唯一的表单令牌并将其存储在会话中,并将其作为隐藏输入嵌入到我的表单中。

我可以对包含多个表单的页面进行这项工作吗?为每个表单使用相同的令牌仍然安全吗?

我希望在我的网站上检测机器人请求,这些表单令牌真的可以安全地替换验证码吗?

【问题讨论】:

  • 这样的令牌不是用来替换验证码,而是为了防止 XSS(或 CSRF?或两者兼而有之?不确定)This article regarding PHP form security 我猜值得一读。
  • 我只是使用验证码来阻止浏览器和机器人,多次自动提交表单。如果他们试图提交相同的令牌,我的脚本会标记一个错误。
  • 好吧,令牌有助于防止手动创建的 HTTP POST 请求被接受。验证码有助于防止在您的站点上自动提交表单。

标签: php forms captcha


【解决方案1】:

不,这些令牌不能代替验证码,因为这些东西有不同的用途。

从您对标记和验证码的混淆来看,我想您并不真正了解这些标记。您确定每个表格都需要单独的令牌吗?每个会话一个令牌就足够了吗?

【讨论】:

  • 我要做的就是阻止 BOT 每分钟自动提交一次表单。
  • @Juddling well 令牌对您没有帮助。好的验证码会。
【解决方案2】:

对所有表单使用相同的标记绝对没问题。即使在不同的页面上。可以在用户会话的一开始就生成令牌并坚持使用它。 此外,这些令牌仅保护您/您的用户免受跨站点请求伪造。

为了防止机器人攻击,您仍然需要验证码或类似的东西。

【讨论】:

    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 2023-03-31
    • 2013-02-18
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多