【发布时间】:2012-02-24 11:34:06
【问题描述】:
在正确实现CSRF的情况下,对于普通用户(非黑客)来说,CSRF失败的原因是什么?
我认为原因之一是 cookie 被禁用时。 他们的浏览器/计算机设置中是否存在其他可能导致验证失败的原因?
谢谢。
【问题讨论】:
在正确实现CSRF的情况下,对于普通用户(非黑客)来说,CSRF失败的原因是什么?
我认为原因之一是 cookie 被禁用时。 他们的浏览器/计算机设置中是否存在其他可能导致验证失败的原因?
谢谢。
【问题讨论】:
禁用 Cookie 会导致 CSRF 失败。唯一的其他潜在问题是 cookie 从发出时间到提交表单时过期(如果用户加载表单,将浏览器窗口保持打开几个小时或几天,然后返回并提交表单)。
CSRF 几乎只适用于用户通过浏览网站自然而然地获得的标准表单。如果 CSRF 令牌未在 POST 数据中传递,或者 X-CSRFToken 标头未与令牌一起发送,则 AJAX 请求可能会失败。如果不是从同一个域发送,通过 HTTPS 的提交将失败。
【讨论】: