我有一些问题。 所以我想用
$_SERVER['HTTP_REFERER'];
然后基本上显示它。
所以这就是我现在正在做的事情。
$previousUrl = $_SERVER['HTTP_REFERER'];
echo $previousUrl;
我想使用echo显示网址。但它不起作用。
有人可以向我解释我做错了什么吗?
金问候,
阿图尔。
答案 0 :(得分:1)
最终,您必须依赖用户及其浏览器配置。
如果他们点击了其他网站的链接而用户没有任何内容(插件等)阻止推介者,则会填充$_SERVER['HTTP_REFERER']
。
如果他们直接访问了该网站,或者他们阻止了HTTP_REFERER
,则该值将为空白,并且您无法访问该网站。
答案 1 :(得分:1)
“Referer”[sic]标题字段允许用户代理指定
获取目标URI的资源的URI引用
(即“推荐人”,尽管字段名称拼写错误)。一个用户
代理不得包含的片段和userinfo组件
生成Referer字段时的URI引用[RFC3986](如果有)
值。
Referer = absolute-URI / partial-URI<br><br>
Referer头字段允许服务器生成反向链接
用于简单分析,日志记录,优化缓存的其他资源,
它还允许找到过时或错误的链接
保养。一些服务器使用Referer头字段作为手段
否认来自其他网站的链接(所谓的“深层链接”)或
限制跨站点请求伪造(CSRF),但不是所有请求
包含它。
示例:
`Referer: http://www.example.org/hypertext/Overview.html`
如果目标URI是从没有它的源获得的
自己的URI(例如,来自用户键盘的输入,或者用户键盘中的条目)
用户的书签/收藏夹),用户代理必须排除
Referer字段或发送值为“about:blank”。
Referer字段有可能揭示有关的信息
请求上下文或浏览用户的历史记录,这是一种隐私
关注引用资源的标识符是否显示个人信息
信息(例如帐户名称)或假定的资源
保密(例如在防火墙后面或在内部
安全服务)。大多数通用用户代理不发送
引用资源是本地“文件”时的Referer头字段
“数据”URI。用户代理不得在其中发送Referer头字段
如果使用a收到引用页面,则为不安全的HTTP请求
安全协议。有关其他安全性,请参见第9.4节
考虑。
Some intermediaries have been known to indiscriminately remove
来自传出请求的Referer标头字段。这有 干扰CSRF保护的不幸副作用 攻击,对用户来说可能更有害。 希望限制的中介和用户代理扩展 在Referer中的信息披露应该限制他们的变化 特定编辑,例如用内容替换内部域名 假名或截断查询和/或路径组件。一个 中介不应该修改或删除Referer头字段 当字段值与请求共享相同的方案和主机时 目标
答案 2 :(得分:-2)
它可以在您编写时使用,或者像
一样if(isset($_SERVER['HTTP_REFERER'])) {
echo $_SERVER['HTTP_REFERER'];
}
如果没有引用者或以前的网站使用过引用者,结果可能是错误的或不存在。