PHP无法获取Referer问题排查
测试结果:
同一个页面,2次打开,第一次能获取到Referer第二次获取不到,很好奇原因所在。
test1.php代码是:
<?php echo '测试来源:直接载入页面<br/>'; echo '<a href="test_cookie.php">进入页面</a><br/>'; echo '测试来源:新窗口打开<br/>'; echo '<a target="_blank" href="test_cookie.php">进入页面</a><br/>';
test_cookie.php的代码为:
<?php date_default_timezone_set('Asia/Shanghai');//设置默认时区 header('content-type:text/html; charset=utf8');//设置返回头信息 echo date('Y-m-d H:i:s'); echo "<br/>\r\n"; echo 'PHP获取Refer是:'; $refer=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'No refer found'; echo $refer; echo "<br/>\r\n"; echo 'JS获取Refer是:'; echo "<script>document.writeln(document.referrer);</script>"; echo "<br/>\r\n";
极度好奇是什么原因造成的第一次能获取,第二次不能获取。
环境是LNMPA,官方是http://lnmp.org/lnmpa.html
Mac下用charles抓包
2次请求test1.php的header是一致的。
2次请求test_cookie.php的header是一致的。
那么问题来了,什么原因造成的2次完全一模一样的请求,PHP取不到refer。跪求解。
更多精彩话题关注小五博客http://www.lingdonge.com
标签:
php无法获取referer
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧