Django CSRF失败 - 可能的失败原因是什么?
问题描述:
当CSRF正确实施时,普通用户(非黑客)的CSRF故障的原因是什么?Django CSRF失败 - 可能的失败原因是什么?
我认为一个原因是当cookie被禁用。 在浏览器/计算机设置中是否还有其他可能导致验证失败的原因?
谢谢。
答
Cookie被禁用将导致CSRF失败。唯一的另一个潜在问题就是cookie从发布时间到表单提交时(可能是用户加载表单,使浏览器窗口保持打开状态几小时或几天,然后返回并提交表单)过期。
CSRF非常适合用户通过浏览网站自然获得的标准表单。如果CSRF令牌未在POST数据中传递,或者X-CSRFToken
标头未与令牌一起随请求发送,则AJAX请求可能会失败。如果未从同一个域发送,则通过HTTPS提交的内容将失败。