# 我知道第三方 cookies ,但已经被主流浏览器默认拦截了吧
举报· 179 次点击
登录 注册 站外分享
14 条回复  
justdoit123 小成 2024-8-30 12:20:30
1. 技术上并不是需要用户同意。实际上你爱怎么用,就怎么用。但是欧盟有法律限制,具体不是很清楚,貌似是第三方 cookies 的使用需要用户同意。因为这些第三方 cookie 基本是 google ads 之流,轻松可以追踪到用户的浏览行为。你自己网站需要用的必要 cookies 不受此限制。虽然只是欧盟有这些限制,但是不知道为什么很多网站都把这种要“用户同意使用 cookie” 的弹框对所有地区的访客开启。我曾经试过访问一些国际大企业的网站,比如 Google 搜索,当你把代理设置在欧盟国家的时候,会弹出一个条款要你同意,但是代理设置成欧盟外的地区,这个弹框又不会出现。

2. 回到技术层面,你这种方案有一定风险。cookies 只是存储介质,如果只是存储一些 session 统计等无关紧要的信息,那你这样做也所谓。但是当 cookie 存储的信息是身份验证信息的时候,你的这种处理方式会带来一定风险。js 能把 cookie 丢到 localStorage ,意味着你的这种 cookie 可以被 JS 读取,意味着如果网站有 XSS 漏洞,用户的 身份验证信息会被攻击者偷走。一般而言,用来存储身份验证信息的 cookie 不需要用户同意。一般要设置成 Http-Only ( JS 无法读取,也就不会被 XSS 攻击者窃取)、Secure (只能在 https 这类安全通讯协议上传输)、SameSite 至少设置为 Lax (老版本的浏览器并没把 Lax 设为 SameSite 的默认值)。
xmumiffy 小成 2024-8-30 12:23:11
是法律和合规要求,不询问直接用会被欧盟定额或以全球收入为基准罚款
doublleft 小成 2024-8-30 12:23:22
localStorage 要 js 执行的,用于跨站跟踪的三方 cookie 一般就是一个 204 GET
zoharSoul 小成 2024-8-30 12:27:56
localStorage 别的网站访问不了啊
cookie 有 xss 问题
Huelse 小成 2024-8-30 12:31:09
欧盟的杰作之一 GDPR https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
MossFox 小成 2024-8-30 12:44:03
需要用户同意那个,具体政策相关没具体看过。不过对于后面的问题……

当用户浏览器设置里面 禁用了 Cookies ,所有本地存储 (含 LocalStorage) 将也会完全不可用。尝试调用会报错。

此外就是,Cookies 承担的可以不止是单纯一个域名下使用的凭据。多个域名之间的跳转保留登录状态自动完成登录、或是 OAuth 等,其中的重定向步骤可以没有 JavaScript 的参与,直接靠服务端取 Cookie 和跳转设置新 Cookie 来完成验证。全靠客户端借助 LocalStorage 的话,这种场景用户那边体验会下滑,因为网络请求就不是几个重定向就完成的了,必须加载含 JavaScript 的页面来承担中间的一些步骤。
maizero 小成 2024-8-30 13:09:21
各国的隐私法的要求。
GDPR 特别严。
美国有的州也比较严,例如加州。
binaryify 小成 2024-8-30 13:52:00
法律问题, 你这么干了,会被欧盟起诉
cheng6563 小成 2024-8-30 14:27:14
jsp 老办法不就是在 url 上自动带上 jsessionid
12下一页
返回顶部