0

在注销页面中,我看到了使用

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

此标头将页面重定向到哪里以及 http_referrer 用于什么

4

5 回答 5

3

一些客户端会发送一个引用标头,告诉您它们来自哪里。有问题的代码将客户端重定向到该页面。

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

于 2012-11-17T12:37:19.507 回答
0

使用 Http-Referer,您可以查看用户之前在哪个页面上。如果用户例如打开http://www.google.com并单击指向您页面的链接,那么在引用者中将是http://www.google.com.

于 2012-11-17T12:35:00.120 回答
0

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

它可能根本不存在或包含其他内容 - 例如,某些防火墙出于(相当可疑的)“隐私”原因删除了标头。浏览器也会在 HTTPS=>HTTP 转换期间删除它。


但是,在您的情况下,注销页面很可能只能从您自己的站点访问。因此,您可以简单地检查引用者是否存在,并在这种情况下使用它。如果它是空的,你会重定向到你的主页:

$redirect_to = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'index.php';
header('Location: ' . $redirect_to);
于 2012-11-17T12:37:13.070 回答
0

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

根据php.net 手册,HTTP_REFERER 是将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。不是所有的用户代理都会设置这个,有些提供修改 HTTP_REFERER 作为一个特性的能力。简而言之,它不能真正被信任。

于 2012-11-17T12:40:23.383 回答
0

推荐人有以下数据,如果您的网址如:www.xyz.com/abc/text.php 然后回显以下内容:

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

它有打印 www.xyz/abc

你已经去这个链接:http ://www.electrictoolbox.com/php-http-referer-variable/

而已。

于 2012-11-17T12:47:12.797 回答