我的实际实现要复杂得多,需要身份验证和一堆其他东西,但以最简单的形式,这就是我遇到的问题。使用标头重定向不会将其自身显示为引用者。
所以,假设我有三个页面:start.php、middle.php 和 end.php
启动.php
<html><body>
<a href="middle.php">middle</a>
</body></html>
中间.php
<?php
header('Location: end.php');
?>
end.php
<?php
echo 'The referer is: ' . $_SERVER['HTTP_REFERER'];
?>
当您点击该链接时,您最终会到达 end.php,但引用站点不是 middle.php。我可以使用任何其他重定向方法来纠正此问题,或者我可以做其他任何事情吗?
Cheers
EDIT在这种情况下,目标页面是第三方供应商。他们必须验证的唯一方法是通过引用 URL。我对此无法控制。我只需要我的页面进行重定向以发送正确的 URL。除了找出不信任 http_referer 的原因之外,还有其他方法可以替代此重定向方法吗?
抱歉,但这超出了您的控制范围,只有浏览器可以发送该标头 - 但并非所有浏览器都可以。它很容易被伪造,所以不要依赖它。
有关于此的更多信息php bug http://bugs.php.net/bug.php?id=27041(这被标记为不是错误)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)