我的实际实现要复杂得多,包括身份验证和许多其他功能,但是以最简单的形式,这就是我遇到的问题.使用标头重定向不会将自己显示为引荐来源.
因此,假设我有三个页面:start.php,middle.php和end.php
start.php
<html><body>
<a href="middle.php">middle</a>
</body></html>
middle.php
<?php
header('Location: end.php');
?>
end.php
<?php
echo 'The referer is: ' . $_SERVER['HTTP_REFERER'];
?>
当您单击链接时,您最终到达end.php,但是引荐来源网址不是middle.php.是否可以使用其他任何重定向方法来纠正此问题,或者可以执行其他任何操作?
干杯
编辑
在这种情况下,目标页面是第三方供应商.他们唯一需要验证的方法是引用URL.我对此无能为力.我只需要执行重定向的页面即可发送正确的URL.对于这种重定向方法,是否有其他选择,而不是找出不信任http_referer的原因?
解决方法:
抱歉,但是这超出了您的控制范围,只有浏览器可以发送该标头-并非所有人都能发送.它很容易伪造,所以请不要依赖它.
有关此php bug(被标记为不是错误)的更多信息.
标签:redirect,http-referer,php 来源: https://codeday.me/bug/20191105/1996476.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。