Bac*_*ave 5 http csrf same-origin-policy cors
发送 cookie 的默认值为SameSite=Lax,这意味着 GET 请求会发送 cookie,但 POST 会被阻止。
对于跨源 GET 请求,响应会由于 而被阻止Same-Origin-Policy,除非响应包含Access-Control-Allow-Origin。
为什么还不够Access-Control-Allow-Origin?
为什么你想回来Access-Control-Allow-Origin: someDomain.com却不回来Access-Control-Allow-Credentials?
为什么允许来自受信任域的跨源 GET 请求,但仅在发送 cookie 时才阻止响应?
在存在 cookie 的情况下,允许跨源共享的风险要大得多,因为这可能会将用户的私人信息泄露给恶意脚本。如果没有 cookie,脚本只能访问公共信息\xe2\x80\x94,这些信息与只需从任何计算机导航到 URL 即可访问的信息相同。
\n因此,该标志的存在标志着Access-Control-Allow-Credentials一个重要的安全拐点,并有效地区分共享公共信息和私人信息。
例如,假设您有一个用于分发股票行情数据的 API,并且您希望允许其他站点的脚本访问该 API。CORS 是必要的,因为同源策略将阻止这些脚本查看数据。不过,不需要 cookie。所以该网站可以简单地使用*并Access-Control-Allow-Origin完成。不存在共享任何私人数据的风险。
相比之下,想要启用用户特定数据共享的站点必须通过设置来选择Access-Control-Allow-Credentials加入true。此外,站点被迫指定允许的特定站点,因为在这种情况下*无效Access-Control-Allow-Origin。
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |