大家都知道, 访问 aaa.123.com 时, 可以把cookie的域名设置成 .123.com 对所有属于123.com域名下的都生效, 那访问 xxx.eu.org时, 可不可以把cookie的域设置成 .eu.org ? *.ug.kg 这些免费的域名也同理, 那访问 xxx.com.cn 呢, 可以把cookie设置成 .com.cn 吗, 不就对所有.com.cn网站都生效了 设置成, 域名, 大家都
浏览器在处理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),这份列表用于防止 ... 感谢解答