【发布时间】:2017-11-08 09:19:34
【问题描述】:
如果 evilsite.com 向 evilsite.com/foo 提交表单,然后 307 重定向到用户已经登录的 goodsite.com/bar,这会将带有货物站点 cookie 的 POST 发送到 goodsite.com/bar。
人们通常如何防范这种情况? 普通的 webframeworks django/flask 会做些什么来防止这种情况发生吗?
我可以看到两种防止这种情况的方法:
- 将令牌放入您的页面,该令牌随每个表单(不是 cookie)一起发送。 这似乎需要做很多工作。
- 查看引荐来源网址。但是有些浏览器插件会抑制引荐来源网址,或者更糟的是假装目的地是引荐来源网址。而且我不确定这个引荐来源标头有多可靠。
【问题讨论】:
-
我看到 stackoverflow 确实总是在每个表单中都包含一个名为“fkey”的隐藏输入字段。
标签: http security redirect web browser