在 document.referrer 失效或不可靠的情况下,你可以考虑以下几种方法来追踪网站访问来源:
utm_source, utm_medium, utm_campaign 等),这些参数可以通过服务器端或客户端脚本捕获并记录。https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_saledocument.referrer 可能失效,但服务器端的 HTTP Referer 头通常仍然有效。你可以在服务器端日志中捕获 Referer 头信息。Referer 头通常会记录访问来源。javascript
document.cookie = "source=google; path=/; max-age=2592000"; // 30天有效期sessionStorage 或 localStorage 来存储来源信息。sessionStorage 在会话结束时失效,而 localStorage 则持久化存储。javascript
localStorage.setItem('source', 'google');Referer 头信息。%{Referer}i 或 Nginx日志中的 $http_referer。X-Forwarded-For 或 CF-Connecting-IP,这些信息可以帮助你追踪来源。document.referrer 不可靠,你可以尝试通过其他方式捕获来源信息,例如通过 window.location.href 或 window.history 来获取当前页面的URL,并结合其他方法进行来源追踪。php
$source = $_GET['utm_source'];
if ($source) {
setcookie('source', $source, time() + 2592000, '/');
}
header('Location: /target-page');每种方法都有其优缺点,选择哪种方法取决于你的具体需求和环境。通常,结合多种方法可以获得更准确的来源追踪结果。例如,使用URL参数结合服务器端日志分析,或者使用第三方分析工具结合Cookies。