Nat*_*ate 144 http-headers cors
我试图了解如何使用CORS,并对Access-Control-Allow-Credentials
标题的作用感到困惑.
文件说
指示凭证标志为true时是否可以公开对请求的响应.
但我不明白"暴露"的反应意味着什么.
任何人都可以解释这个标题被设置为true(与设置为true的凭证标志一起)实际上是什么?
mon*_*sur 238
默认情况下,CORS不包括跨源请求的cookie.这与其他跨源技术(如JSON-P)不同.JSON-P始终包含请求的cookie,这种行为可能导致一类称为跨站点请求伪造或CSRF 的漏洞.
为了减少CORS中CSRF漏洞的可能性,CORS要求服务器和客户端都承认可以在请求中包含cookie.这样做可以使cookie成为主动决策,而不是在没有任何控制的情况下被动地发生的事情.
客户端代码必须withCredentials
在XMLHttpRequest
to 上设置属性true
才能授予权限.
但是,仅此标题是不够的.服务器必须使用Access-Control-Allow-Credentials
标头进行响应.响应此标头true
意味着服务器允许cookie(或其他用户凭据)包含在跨源请求中.
如果您希望跨源凭证请求有效,您还需要确保您的浏览器不会阻止第三方Cookie.
请注意,无论您是在进行同源请求还是跨域请求,都需要保护您的站点免受CSRF的影响(特别是如果您的请求包含cookie).
归档时间: |
|
查看次数: |
80181 次 |
最近记录: |