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 相关文章推荐
详解:――如何将图片储存在数据库里
Dec 05 PHP
56.com视频采集接口程序(PHP)
Sep 22 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
PHP常用正则表达式集锦
Aug 17 PHP
PHP反射API示例分享
Oct 08 PHP
PHP7 echo和print语句实例用法
Feb 15 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
解决PhpStorm64不能启动的问题
Jun 20 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学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
php面向对象重点知识分享
2019/09/27 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
python的类方法和静态方法
2014/12/13 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
HashMap和Hashtable的区别
2013/05/18 面试题
高校毕业生自我鉴定
2013/10/27 职场文书
金融专业应届生求职信
2013/11/02 职场文书
本科毕业生自荐信
2014/05/26 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
实习介绍信模板
2015/01/30 职场文书
大学生年度个人总结
2015/02/15 职场文书
公司慰问信范文
2015/03/23 职场文书