说明
用于测试 cookie 的可见性 & js cors 请求时携带的 cookie
/cookie.php
- 设置 cookie
/cors.php?host=a.test.com
- 发起跨域请求
# 首先绑定 host
# 127.0.0.1 a.test.com
# 127.0.0.1 b.test.com
# 127.0.0.1 test.com
php -S 127.0.0.1:80
结论
记录下,今天发现个 cors
credentials
的误解 😂
-
cors
- js 中
credentials=include
携带过去的 cookie 是 requested domain 的 cookie,不是当前域下的 cookie;携带的哪些 cookie 准守 cookie 本来的可见性
- js 中
-
cookie 可见性
- HostOnly
- HostOnly 的 cookie,只能当前域名读取到,其子域名也读取不到
- 设置 cookie 时将
domain
字段置为空,则为 HostOnly 的 cookie;- 其他情况都不是 HostOnly 的cookie,即使 domain 字段跟当前域名完全一样,也不是 HostOnly 的 cookie,这时候相当于
.xx.com
,会自动在前面带个.
,是子域名可见的
- 其他情况都不是 HostOnly 的cookie,即使 domain 字段跟当前域名完全一样,也不是 HostOnly 的 cookie,这时候相当于
- 子域名可以设置 cookie 的 domain 字段为父域名,反过来不行
- HttpOnly
- js 读取不到
- HostOnly