浏览器中丢失referrer和HTTPS=>HTTP丢失referer的解决:基于会话的站内来源地址URL还原...

当浏览器中referrer丢失时,影响来源分析。问题包括代码、浏览器行为、协议转换等因素。解决方案包括避免特定JS操作,设置HTTPS声明,利用session cookie和日志分析系统来跟踪和还原用户路径,尤其是在多核浏览器、隐私模式及移动应用环境下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Referer丢了会导致很多来源分析就做不了了,以前referer丢失来源有三种:
0 代码因素:一些js构造链接打开的模式会造成referer丢失,解决方法是尽量避免windows.open meta refresh等;
1 代码+浏览器因素:meta js打开新窗口 部分浏览器会丢失
2 协议因素:https协议降级http,解决的方法是靠https端增加声明,比如:通过meta的方式:referer meta

<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">

目前搜索引擎https后的页面:Google用的是orgin 百度用的always
或者通过http header的方式,总体来说,这些问题是可以通过代码修复的。

现在有多了几种:主要来自多核浏览器使用率的增加。
3 多核浏览器切换内核/隐私浏览模式,部分第三方浏览器版本会丢referer,360支持renderer 标签,可以强制使用某种内核进行页面渲染,比如:webkit。
4 浏览器的各种鼠标手势等高级功能,会丢失referer,
5 来自移动app:微信 微博的点击;

从实际的项目来看,需要修补referer丢失的环节太多,开发测试量也很大(尤其加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值