PHP $_SERVER[‘HTTP_REFERER’] 获取前一页面的 URL 地址

PHP $_SERVER[‘HTTP_REFERER’] 获取前一页面的 URL 地址

转载:http://www.5idev.com/p-php_server_http_referer.shtml

使用 $_SERVER[‘HTTP_REFERER’] 将很容易得到链接到当前页面的前一页面的地址。一个例子如下:

index.php(实际地址为:http://www.5idev.com/php/index.php):

链接

test.php(实际地址为:http://www.5idev.com/php/test.php):

echo $_SERVER['HTTP_REFERER'];

在浏览器访问 index.php,点击链接到 test.php,得到的输出结果为:

http://www.5idev.com/php/index.php

PHP $_SERVER[‘HTTP_REFERER’] 无效

需要注意的是,$_SERVER[‘HTTP_REFERER’] 完全来源于浏览器。并不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,$_SERVER[‘HTTP_REFERER’] 不总是真实正确的。

通常下面的一些方式,$_SERVER[‘HTTP_REFERER’] 会无效:

  1. 直接输入网址访问该网页。
  2. Javascript 打开的网址。
  3. Javascript 重定向(window.location)网址。
  4. 使用 meta refresh 重定向的网址。
  5. 使用 PHP header 重定向的网址。
  6. flash 中的链接。
  7. 浏览器未加设置或被用户修改。

所以一般来说,只有通过 超链接以及 POSTGET 表单访问的页面,$_SERVER[‘HTTP_REFERER’] 才有效。

由于 $_SERVER[‘HTTP_REFERER’] 对 POST 表单访问也是有效的,因此在表单数据处理页面一定程度上可以通过校验 $_SERVER[‘HTTP_REFERER’] 来防止表单数据的恶意提交。但该方法并不能保证表单数据的绝对正确,即对表单数据的真实性检测并不能完全依赖于 $_SERVER[‘HTTP_REFERER’] 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114114.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月24日 上午8:00
下一篇 2021年9月24日 上午8:00


相关推荐

  • 基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计

    基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。设计功能描述:1、采用51单片机作为主控单元;2、采用74HC245芯片驱动数码管;3、采用数码管显示倒计时时间;4、东西和南北方向各有两个数码管,分别显示时间,东西和南北的时间是不一样的,相差黄灯的时间才是正确的;5、可分别设置主干道和支干道通行时间;6、具有紧急模式,特种车辆优先通行或交通事故应急处理。按键说明:K1:黄灯长亮…

    2025年12月1日
    10
  • navicat for mac激活码【中文破解版】

    (navicat for mac激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    43
  • 被问到项目亮点、难点、遇到的问题、解决思路

    被问到项目亮点、难点、遇到的问题、解决思路面试中被问到你的项目亮点 难点 遇到的问题 解决思路是不是很蒙 现在我拆分一下问题什么是项目亮点 你负责的业务是什么 学会发现问题 你真的想过业务是什么吗 有为业务想过什么吗 有了你 业务有什么不同吗 能不能 5 分钟说明白 你负责的业务是什么 可有想过有没有说到位 甚至答非所问这里谈谈我个人对业务的理解 或许没有普遍意义 所以仅供参考

    2025年8月3日
    5
  • ESlint 是什么? 有什么好处

    ESlint 是什么? 有什么好处ESlint是代码检查工具,用来检查你的代码是否符合指定的规范;写ESlint的好处是什么?

    2022年6月18日
    47
  • 银行家算法C语言版「建议收藏」

    银行家算法C语言版「建议收藏」#include<stdio.h>#include<stdlib.h>#include<conio.h>#definem50#definetrue1#definefalse0intno1;//进程数intno2;//资源数intr;intallocation[m][m],need[m][m],available[m],max[m][m];charname1[m],name2[m];.

    2022年6月8日
    44
  • cns服务搭建+手机ml,百度直连「建议收藏」

    cns服务搭建+手机ml,百度直连「建议收藏」1买个服务器,阿里云或腾讯云2执行代码GitHub:githubLinux一键:安装:`typecurl&>/dev/null&&echo’curl-O’||echo’wget-Ocns.sh’`http://pros.cutebi.taobao69.cn:666/cns/cns.sh&&shcns.sh卸载:`typecurl&>/dev/null&&echo’curl-

    2025年7月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号