ajax请求的安全令牌问题

时间:2010-05-19 14:41:49

标签: php ajax security csrf

在构建应用时,我使用令牌来防止对表单的攻击

每次呈现表单时,它都会获得一个新的 ONE TIME 安全令牌,我将其作为隐藏字段包含在表单中。此令牌也存储在会话中。

发送表单时,将根据会话中的令牌验证令牌,以确保表单合法。这适用于标准页面。

问题 当使用Ajax发送表单时,页面上可能有多个,一旦您发送其中一个表单,该令牌对其他表单无效,因为它是一次性令牌。

有没有人为此提供建议?或者它是否足够安全,每个会话生成一个令牌,并且每次发送表单时只使用它而不是使令牌无效?

1 个答案:

答案 0 :(得分:2)

如果您想要遵循当前的方法,您可以在每次执行AJAX请求时生成安全令牌,在AJAX响应中返回它,并在获取时将其注入隐藏中。 但是,我会重新考虑您当前的安全令牌方法。 Here您在OSWAP wiki中有一些提示。