大家都知道, 访问 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。例如: 浏览器行为: 浏览器在访问网页时,会自动参考内置的 PSL 列表,拒绝在这些公共后缀上设置 cookie。这确实防止了跨多个不相关站点的cookie共享问题。 PSL 列表会随着互联网的发展和新的域名后缀的增加而不断更新。这个列表是开源的,并由社区维护,确保其时效性和准确性。 你不能将cookie的域设置为 .com.cn 或 .eu.org 等公共后缀,因为浏览器会拒绝这种操作。 你可以通过访问 Public Suffix List(https://publicsuffix.org/) 来查看具体哪些后缀属于公共后缀列表。 |
感谢解答 |