Hoarder项目中的Referrer头信息移除技术方案
在开源书签管理工具Hoarder的开发过程中,开发团队讨论了一个关于隐私保护的重要技术问题:如何防止用户点击书签时泄露Referrer头信息。这个问题涉及到Web安全与隐私保护的核心概念。
问题背景
当用户通过Hoarder点击收藏的书签时,浏览器默认会发送Referrer头信息,其中包含了用户是从哪个Hoarder实例访问该链接的。这意味着网站管理员可以追踪到用户使用的具体Hoarder实例,存在潜在的隐私泄露风险。
技术解决方案探讨
开发团队提出了几种可行的技术方案来解决这个问题:
-
rel="noreferrer"属性方案
这是HTML5提供的一个简单解决方案,通过在链接标签中添加这个属性,可以阻止浏览器发送Referrer头。这个方案的优势是简单易实现,且不需要依赖第三方服务。 -
target="_blank"属性组合方案
测试发现,在仪表盘页面点击图片时,rel="noreferrer"可以正常工作,但在书签详情页面需要配合target="_blank"属性才能生效。这会导致所有链接都在新标签页打开,可能影响用户体验。 -
JavaScript导航方案
使用JavaScript进行页面跳转也可以避免Referrer头的发送,这种方法更加灵活但实现复杂度稍高。 -
URL前缀代理方案
最初提出的通过第三方匿名服务(如anonym.es)中转的方案,由于会使隐私保护依赖于外部服务,被开发团队认为不是最佳选择。
最终技术决策
经过讨论,开发团队倾向于采用rel="noreferrer"与target="_blank"属性组合的方案。这个选择基于以下考虑:
- 纯前端解决方案,不依赖任何第三方服务
- 实现简单,维护成本低
- 符合现代Web标准
- 虽然会导致链接在新标签页打开,但这已成为现代Web应用的常见行为模式
技术实现细节
在实际实现中,开发团队需要:
- 为所有外部链接添加rel="noreferrer"属性
- 在书签详情页面同时添加target="_blank"属性
- 确保这些修改不会影响应用的核心功能
- 考虑添加配置选项,让用户可以选择是否启用此功能
隐私保护的意义
这个改进虽然看似微小,但对用户隐私保护具有重要意义。它防止了:
- 外部网站追踪用户的书签来源
- 暴露用户使用的Hoarder实例信息
- 潜在的跨站点追踪行为
这种对细节的关注体现了Hoarder项目对用户隐私的重视,也是现代Web应用开发中值得借鉴的做法。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C092
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python058
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
AgentCPM-Explore没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Explore 智能体模型基于仅 4B 参数的模型,在深度探索类任务上取得同尺寸模型 SOTA、越级赶上甚至超越 8B 级 SOTA 模型、比肩部分 30B 级以上和闭源大模型的效果,真正让大模型的长程任务处理能力有望部署于端侧。Jinja00