php 伪造HTTP_REFERER页面URL来源的三种方法


Posted in PHP onSeptember 22, 2016

php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER'],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种方法,需要的朋友可以参考一下。

$_SERVER['HTTP_REFERER']是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用$_SERVER['HTTP_REFERER']来判断是从哪个页面进入到此页面了,这样我们可以进行更好的跟踪了。

但是$_SERVER['HTTP_REFERER']也是可以被伪造欺骗的,有三种方法可以伪造和欺骗$_SERVER['HTTP_REFERER']

第一种方法:file_get_contents

$opt=array('http'=>array('header'=>"Referer: $refer")); 
$context=stream_context_create($opt); 
$file_contents = file_get_contents($url,false, $context);

file_get_contents中stream_context_create就伪造来源的重要参数了。 

第二种方法:CURL

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, "http://www.manongjc.com"); 
curl_setopt ($ch, CURLOPT_REFERER, "http://www.manongjc.com"); 
curl_exec ($ch); 
curl_close ($ch);

参数http://www.manongjc.com就是伪造的URL地址。

第三种方法:fsockopen

$server = 'www.manongjc.com'; 
$host = 'www.manongjc.com'; 
$target = 'index.php'; 
$referer = 'http://www.manongjc.com/'; // Referer 
$port = 80; 
$fp = fsockopen($server, $port, $errno, $errstr, 30); 
if (!$fp){ 
 echo "$errstr ($errno)\n"; 
}else{ 
$out = "GET $target HTTP/1.1\r\n"; 
$out .= "Host: $host\r\n"; 
$out .= "Referer: $referer\r\n"; 
$out .= "Connection: Close\r\n\r\n"; 
fwrite($fp, $out); 
while (!feof($fp)){ 
echo fgets($fp, 128); 
} 
fclose($fp); 
}

上面三种方法中,第三种方法fsockopen性能和效果上是最好的,因此推荐大家使用第三种方法。

以上就是对PHP伪造HTTP_REFERER页面URL来源的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

PHP 相关文章推荐
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
php支付宝接口用法分析
Jan 04 PHP
php实现计数器方法小结
Jan 05 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
PHP模板解析类实例
Jul 09 PHP
详解PHP中的Traits
Jul 29 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
PHP中include和require的区别实例分析
May 07 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 #PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 #PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 #PHP
php支付宝在线支付接口开发教程
Sep 19 #PHP
iOS10推送通知开发教程
Sep 19 #PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 #PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 #PHP
You might like
编写自己的php扩展函数
2006/10/09 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
js的闭包的一个示例说明
2008/11/18 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
Python如何实现守护进程的方法示例
2017/02/08 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
汽车驾驶求职信
2013/10/25 职场文书
暑期实习鉴定
2013/12/16 职场文书
《故乡》教学反思
2014/04/10 职场文书
小班上学期评语
2014/05/05 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
团员个人总结
2015/02/26 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书