设置cookie的问题
大家都知道, 访问aaa.123.com
时, 可以把cookie的域名设置成
.123.com
对所有属于123.com域名下的都生效,
那访问 xxx.eu.org时, 可不可以把cookie的域设置成
.eu.org
? *.ug.kg 这些免费的域名也同理,
那访问 xxx.com.cn 呢,可以把cookie设置成
.com.cn
吗, 不就对所有.com.cn网站都生效了 本帖最后由 wawos 于 2024-10-22 09:50 编辑
还是说浏览器在本地就内置了哪些属于是域名的后缀, 比如 eu.org,com.cn free.fr ?
这些有2段的后缀不能单独当成域名来设置?
这些后缀每年随时都会变化更新的啊 浏览器在处理cookie域时,确实内置了“公共后缀列表”(Public Suffix List,简称 PSL),这份列表用于防止某些域名范围内的跨域cookie设置,避免滥用。对于像 eu.org、com.cn 这样的二级或多级公共后缀,浏览器不允许将cookie的域设置为这些后缀,以防止不相关的网站之间共享cookie。
解释:
公共后缀(Public Suffix):比如 .com.cn 和 .eu.org,它们不是普通的网站域名,而是公共域名后缀,通常由多个不同实体使用。浏览器使用 PSL 来识别这些公共后缀,阻止将 cookie 设置为 .com.cn 或 .eu.org 这样的域名。
PSL 的作用:PSL 确保cookie只在特定的子域名下有效,避免跨域设置cookie。例如:
访问 aaa.123.com 时,可以将cookie域设置为 .123.com,这对 bbb.123.com 也是有效的,因为它们属于同一个顶级域名 123.com。
但是在访问 xxx.com.cn 时,浏览器不允许将cookie域设置为 .com.cn,因为 .com.cn 是公共后缀,属于PSL的一部分,多个不同的公司或组织可能拥有不同的 .com.cn 子域。
浏览器行为:
浏览器在访问网页时,会自动参考内置的 PSL 列表,拒绝在这些公共后缀上设置 cookie。这确实防止了跨多个不相关站点的cookie共享问题。
这些后缀的变化:
PSL 列表会随着互联网的发展和新的域名后缀的增加而不断更新。这个列表是开源的,并由社区维护,确保其时效性和准确性。
总结:
你不能将cookie的域设置为 .com.cn 或 .eu.org 等公共后缀,因为浏览器会拒绝这种操作。
PSL 确保了cookie安全,仅允许在实际拥有的域名范围内共享cookie。
你可以通过访问 Public Suffix List(https://publicsuffix.org/) 来查看具体哪些后缀属于公共后缀列表。
个人支付宝接口 发表于 2024-10-22 09:55
浏览器在处理cookie域时,确实内置了“公共后缀列表”(Public Suffix List,简称 PSL),这份列表用于防止 ...
感谢解答
static/image/smiley/default/tongue.gif
页:
[1]