在注销页面中,我看到了使用
$http_referer=$_SERVER['HTTP_REFERER'];
header('Location :'.$http_referer);
此标头将页面重定向到哪里以及 http_referrer 用于什么
在注销页面中,我看到了使用
$http_referer=$_SERVER['HTTP_REFERER'];
header('Location :'.$http_referer);
此标头将页面重定向到哪里以及 http_referrer 用于什么
一些客户端会发送一个引用标头,告诉您它们来自哪里。有问题的代码将客户端重定向到该页面。
请注意,并非所有客户端都发送标头。某些浏览器允许您禁用引用标头。它也很少通过 HTTPS 发送。如果标题为空,请确保您具有合理的默认行为。
使用 Http-Referer,您可以查看用户之前在哪个页面上。如果用户例如打开http://www.google.com
并单击指向您页面的链接,那么在引用者中将是http://www.google.com
.
浏览器发送Referer 标头以指示用户来自的页面,例如通过单击指向您的站点的链接或提交表单。
它可能根本不存在或包含其他内容 - 例如,某些防火墙出于(相当可疑的)“隐私”原因删除了标头。浏览器也会在 HTTPS=>HTTP 转换期间删除它。
但是,在您的情况下,注销页面很可能只能从您自己的站点访问。因此,您可以简单地检查引用者是否存在,并在这种情况下使用它。如果它是空的,你会重定向到你的主页:
$redirect_to = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'index.php';
header('Location: ' . $redirect_to);
Http Referer 显示页面的地址,用户从那里重定向到您的页面。
根据php.net 手册,HTTP_REFERER 是将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。不是所有的用户代理都会设置这个,有些提供修改 HTTP_REFERER 作为一个特性的能力。简而言之,它不能真正被信任。
推荐人有以下数据,如果您的网址如:www.xyz.com/abc/text.php 然后回显以下内容:
echo $http_referer=$_SERVER['HTTP_REFERER'];
它有打印 www.xyz/abc
你已经去这个链接:http ://www.electrictoolbox.com/php-http-referer-variable/
而已。