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'] 会无效:
- 直接输入网址访问该网页。
- Javascript 打开的网址。
- Javascript 重定向(window.location)网址。
- 使用 meta refresh 重定向的网址。
- 使用 PHP header 重定向的网址。
- flash 中的链接。
- 浏览器未加设置或被用户修改。
所以一般来说,只有通过 超链接以及 POST 或
GET 表单访问的页面,$_SERVER['HTTP_REFERER'] 才有效。
由于 $_SERVER['HTTP_REFERER'] 对 POST
表单访问也是有效的,因此在表单数据处理页面一定程度上可以通过校验 $_SERVER['HTTP_REFERER']
来防止表单数据的恶意提交。但该方法并不能保证表单数据的绝对正确,即对表单数据的真实性检测并不能完全依赖于
$_SERVER['HTTP_REFERER'] 。
PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址的更多相关文章
- PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
PHP $_SERVER['HTTP_REFERER'] 使用 $_SERVER['HTTP_REFERER'] 将很容易得到链接到当前页面的前一页面的地址.一个例子如下: index.php(实际地 ...
- PHP 获取前两页的url地址
通过隐藏表单控件 <input type="hidden" name="prevurl" value="<?php echo $_SERV ...
- PHP 获取上一个页面的url
php $_SERVER["HTTP_REFERER"]变量可以获取上一个或前一个页面的URL地址. 比如有一个a.php页面,这个页面上有一个链接指向b.php页面,如果我们在a ...
- 获取上个页面的url包括参数
Uri uri = Request.UrlReferrer; string path = uri.AbsoluteUri; TempData["path"] = path;
- 使用JS获取上一页的url地址
一般来说每个页面上面都有一个返回按钮,用来返回上一页,代码如下: <a href="javascript:history.go(-1)" class="jsBack ...
- 转载: js jquery 获取当前页面的url,获取frameset中指定的页面的url(有修改)
转载网址:http://blog.csdn.net/bestlxm/article/details/6800077 js jquery 怎么获取当前页面的url,获取frameset中指定的页面的ur ...
- js中如何获取页面的Url,域名和端口号
有时候通过获取上个页面的Url来做一个跳转,获取域名防止非正常访问 获取上一个页面的一个URL,这个URL一般做一个页面的跳转 window.location.href <script>w ...
- 一个页面通过iframe,获取另一个页面的form
document.getElementsByTagName("iframe")[0].contentWindow.document.forms[0].submit(); var z ...
- WebBrowser之获取跳转页面的Document接口源码
问题由来是这样的,今天帮一个网友解决问题,说从VC驿站下载了一个源码,程序的功能主要是在对话框上面放置了一个WebBrowser控件,程序启动的时候默认调用这句代码: m_web.Navigate(_ ...
随机推荐
- DBA之路
对于一个励志要成为DBA的人,虽然还有不足,梦想还是要有的,万一实现了呢.做一个关于DBA成长之路的相关目录,作为灯塔. --------------------------------------- ...
- Web程序员们,你准备好迎接HTML5了吗?
HTML5作为下一代的web开发标准,其特性已经慢慢地出现在主流的浏览器中,这种新的HTML将会让浏览器不必再依赖Flash.QuickTime.Silverlight等插件,也简化了原来需要大量JS ...
- 微信小程序开发教程目录
本系列教程是自己在工作中使用到而记录的,没有顺序之分 如有错误之处,请给与指正,也不希望误导了别人 微信小程序开发教程目录 微信小程序之注册和入门 微信小程序之HTTPS请求 微信小程序开发之选项卡 ...
- Java笔记:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- 警惕phpstudy等开发神器使用默认配置可能带来的危险
0x00 前言 其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里. 而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑 ...
- (译)ABP之Entities
原文地址:https://aspnetboilerplate.com/Pages/Documents/Entities#DocAuditing 实体是DDD(领域驱动模型)的核心概念之一,Eric E ...
- SAP的这三款CRM解决方案,您能区分清楚么
我的一位同事, John Burton, 在2017年12月底写过一篇博文:Explaining SAP's portfolio of "CRM Service" related ...
- 如何在java注解中加入原生html标签内容
你是否也遇到过类似的事情.想在java注解加入类似于下面这种注释: 结果出来却变成了这样 ,标签被解析了, 这怎么办呢 : 且看分解 我们在注解中直接放入下边这样的代码: <Response&g ...
- JAVA基础-File类
一.File类概述 File类是文件和目录路径名的抽象表示形式.File类可以理解为一个文件路径或者文件夹路径的JAVA表现形式,而路径又可以分为绝对路径(是一个固定路径,从盘符开始),相对路径(相对 ...
- 网络端口地址转换的NAPT配置
背景:只有一个IP地址,实现内网内多台主机访问外网 原理:NAPT使用不同的端口来映射对各内网的IP地址到一个指定的外网IP地址,多对一. NAPT采用端口多路复用的方式.内部网络的所有主机均可共享一 ...