我在php.net上查找了$ _SERVER ['HTTP_REFERER']的手册,并且明确表示根据客户端使用的浏览器不可靠。我是否可以使用一致的替代品将网站重定向到引荐链接?
编辑:我没有意识到我的问题中的错误,直到有人在评论中指出 - 这是内部网址,因为我正在尝试自动重定向注销按钮,因此用户不会必须看到一条单独的消息,例如“您已成功注销”答案 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>";
?>