是否需要csrf令牌和验证码?

时间:2010-09-27 18:31:35

标签: forms security language-agnostic

有人可以确认这一点:我是否需要在提交表单中同时提供CSRF令牌和Captcha,或者两者或多或少地提供相同的功能(一个可以用来代替另一个)?

3 个答案:

答案 0 :(得分:22)

可以使用验证码代替CSRF令牌。 OWASP CSRF Prevention Guide中介绍了这一点。 Captcha被认为是一种更强的CSRF预防形式,而不是令牌或参考检查,因为它不能被XSS绕过。

答案 1 :(得分:0)

是的,我错了。验证码和令牌都是会话绑定的。

但是我仍然认为这个问题没有多大意义 您不能将CAPTCHA用于网站上的每个表单。它会让用户疯狂离开 因此,为什么不在默认情况下为每个表单添加一个令牌,为选定的表单添加CAPTCHA?

答案 2 :(得分:0)

以上表明答案是“否”。

但是在阅读与CAPTCHA相比的CSRF令牌时,值得研究一下,它说:

“ CAPTCHA不会阻止跨站点请求伪造(CSRF)”:

https://blog.detectify.com/2017/12/06/captcha-csrf/