【发布时间】:2012-07-02 12:03:42
【问题描述】:
我读了这篇文章Understanding CSRF - Simple Question 但我仍然不明白 CSRF 令牌如何阻止 CSRF 令牌。
让我困惑的主要问题是,为什么攻击者可以向我的站点发出任何 http 请求,但他无法读回响应?
1、如果我在每个post请求之前都发布一个http请求来获取token,攻击者也可以发出“get token”请求来获取token。
2、如果我在.html页面加载时将token设置为隐藏输入,攻击者也可以发出“get html”请求来获取这个.html页面并读取隐藏页面的值。
我只是不明白为什么攻击者可以发出请求但无法读取响应?
【问题讨论】:
-
攻击者不能发出“get html”请求,因为两个页面不共享同一个域名,浏览器会拒绝请求并失败并报错。试试看。