我可以在PHP中使用什么代替$ _SERVER ['HTTP_REFERER']来获取有关引用链接的一致数据?

时间:2011-11-03 19:39:43

标签: php redirect http-referer

我在php.net上查找了$ _SERVER ['HTTP_REFERER']的手册,并且明确表示根据客户端使用的浏览器不可靠。我是否可以使用一致的替代品将网站重定向到引荐链接?

编辑:我没有意识到我的问题中的错误,直到有人在评论中指出 - 这是内部网址,因为我正在尝试自动重定向注销按钮,因此用户不会必须看到一条单独的消息,例如“您已成功注销”

3 个答案:

答案 0 :(得分:2)

您可以通过该位置返回注销链接\按钮。如果它是一个链接,你可以将它添加到网址,如果一个按钮是一个隐藏的表单字段。

<a href="/sign-out.php?back=CURRENT_URL">

形式

<input type="hidden" name="back" value="CURRENT_URL">

CURRENT_URL = $_SERVER['PHP_SELF'],或适合您系统的内容。

答案 1 :(得分:1)

简而言之,并且不要依赖HTTP_REFERER,因为它不可靠且不安全。

从PHP手册:

  

将用户代理引用到的页面地址(如果有)   当前页面。这是由用户代理设置的。并非所有用户代理都会   设置这个,有些提供修改HTTP_REFERER的能力   特征。简而言之,它无法真正被信任。

答案 2 :(得分:0)

其他解决方案是使用javascript,如下所示:

<?php
echo "<script>history.go(-1);</script>";
?>