使用$ _SERVER [' HTTP_REFERER']

时间:2012-11-17 12:32:34

标签: php

在退出页面中,我看到了

的使用
       $http_referer=$_SERVER['HTTP_REFERER'];
       header('Location :'.$http_referer);

此标头将页面重定向到http_referrer用于

的位置

5 个答案:

答案 0 :(得分:3)

有些客户发送referer header告诉您他们来自哪里。有问题的代码会将客户端重定向到该页面。

请注意,并非所有客户端都会发送标头。某些浏览器允许您禁用referer标头。它也很少通过HTTPS发送。如果标题为空,请确保您有明智的默认行为。

答案 1 :(得分:0)

使用Http-Referer,您可以看到用户之前在哪个页面上。如果用户例如在http://www.google.com上,点击指向您页面的链接,然后在参考者中http://www.google.com

答案 2 :(得分:0)

浏览器发送Referer标题以指示用户来自的页面,例如,点击指向您网站的链接或提交表单。

它可能根本不存在或包含其他内容 - 例如,某些防火墙会删除标题(非常可疑)“隐私”原因。浏览器还会在HTTPS => HTTP转换期间将其删除。


但是,在您的情况下,退出页面很可能只能从您自己的网站访问。因此,您只需检查引用是否存在,并在此情况下使用它。如果它为空,则重定向,例如到您的主页:

$redirect_to = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'index.php';
header('Location: ' . $redirect_to);

答案 3 :(得分:0)

Http Referer显示页面的地址,用户被重定向到您的页面。

  

根据php.net manual,HTTP_REFERER是将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。

答案 4 :(得分:0)

Referer有以下数据, 如果您的网址如下:www.xyz.com/abc/text.php 然后回应:

echo $http_referer=$_SERVER['HTTP_REFERER'];

打印www.xyz/abc

您已找到此链接:http://www.electrictoolbox.com/php-http-referer-variable/

那就坐。