-
Notifications
You must be signed in to change notification settings - Fork 0
跨站请求携带 cookie #15
Copy link
Copy link
Open
Labels
Description
usecase
foo.com 页面内发送了一个 bar.com 的 GET 请求, 默认不会携带 cookie,如何解决呢?
fetch请求允许携带认证信息
fetch('http://bar.com', {
credentials: 'include',
})- 服务器必须允许携带认证信息
Access-Control-Allow-Credentials: true
- 服务器必须指定允许的域名
Access-Control-Allow-Origin: http://foo.com
此处不能使用通配符*
如果没有2、3,既是携带 cookie,返回信息也会被浏览器阻止
第三方 cookie
跨域 cookie 被视为第三方 cookie,如果浏览器被用户设置为不接受第三方 cookie,那么上述fetch请求不会设置 cookie:
Set-Cookie: pageAccess=3;
关闭第三方 cookie 的情况下,该 cookie 将不能被设置
Reactions are currently unavailable