PHP用CURL或fsockopen伪造IP和来路(referer)
URL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 CURL库。
我们可以用CURL来伪造IP和来路,例子:1.php 请求 2.php 。
CURLOPT_HTTPHEADER
一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100')
如;
curl_setopt($ch, CURLOPT_HTTPHEADERS,array('Content-Type: application/json'));
或者array是其他的形式。CURLOPT_HTTPHEADER还可以来配置设置host访问。
1.php
<?Php
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://localhost/php/webCrawl/receiveCurlSet.php');
curl_setopt($ch,CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //构造IP
curl_setopt($ch,CURLOPT_REFERER,'http://www.baidu.com');
curl_setopt($ch,CURLOPT_HEADER,0);
$out=curl_exec($ch);
print $out;
curl_close($ch);
?>
receiveCurlSet.php
<?Php
function getClientIp() { if (!empty($_SERVER["HTTP_CLIENT_IP"]))
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (!empty($_SERVER["REMOTE_ADDR"]))
$ip = $_SERVER["REMOTE_ADDR"];
else
$ip = "err"; return $ip;
}
echo "IP: " . getClientIp() . "";
echo "referer: " . $_SERVER['HTTP_REFERER'];
?>
输出:
IP: 8.8.8.8referer: http://www.baidu.com1
不知道后面为什么多了一个1.
还有,我们接收 的php文件,是用的getClientIp函数,如果用
$_SERVER["REMOTE_ADDR"]
是不能显示我们设置8.8.8.8的。因为REMOTe_ADDR是查看客户端物理IP地址的,这个我们无法模拟。
还可以用fsockopen来设置,参考http://yige.org/p/463。
注意:
如果是header的话,是没有referer的。
即:
在a页面:
<?php
header("Location:http://localhost/php/webCrawl/301Redirect2.php");
?>
301Redirect2.php 页面
echo $_SERVER['HTTP_REFERER'];
会报错:
Undefined index: HTTP_REFERER。
原因是什么,不知道。
我们通过搜索引擎搜索结果,点击页面,该页面是新开的页面,但是有referer属性。如百度的:
PHP用CURL或fsockopen伪造IP和来路(referer)的更多相关文章
- PHP CURL 伪造IP和来路
//随机IP function Rand_IP(){ $ip2id= round(rand(, ) / ); //第一种方法,直接生成 $ip3id= round(rand(, ) / ); $ip4 ...
- PHP用curl伪造IP和来源
以前没有这么搞过. 今天群里一个朋友在问这个问题. 查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl ...
- 【转】php curl 伪造IP来源的实例代码
curl发出请求的文件fake_ip.php: 代码 复制代码 代码如下: <?php $ch = curl_init(); $url = "http://localhost/targ ...
- php curl 伪造IP来源的代码分享
php curl 可以模仿用户登录,还可以模仿用户IP地址.伪造IP来源. 1,curl发出请求的文件fake_ip.php: <?php $ch = curl_init(); $url = & ...
- php curl 伪造IP来源的实例代码
来源:http://www.jb51.net/article/31694.htm curl 它不但可以模仿用户登录,还可以模仿用户IP地址哦,为伪造IP来源,本实例仅供参考哦 //伪造ip ; $i ...
- [浪风推荐]CURL伪造IP和来源
给“刷票”的朋友提供了很好的换IP的方案,查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl_seto ...
- php爬虫程序中怎么样伪造ip地址防止被封
今天我们来做一个简单的假的ip地址访问网站,这个可以利用php curl或fsockopen来实现,有需要的同学可以参考一下方案很简单的,不过此方案不完美对第三方工具没有用. HTTP-REFERER ...
- PHP获取IP地址的方法,防止伪造IP地址注入攻击
PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理 ...
- curl file_get_contents fsockopen
三种处理的方式: curl file_get_contents fsockopen fsockopen 是比较底层的调用,属于网络系统的socket调用,而curl经过的包装支 ...
随机推荐
- MVC-04 视图(1)
不可否认的,View应该是整个ASP.NET MVC项目开发过程中最花时间的部分,因为与显示逻辑相关的技术五花八门,你可能要学习的有HTML.CSS.JavaScript.DOM.JQuery.JSO ...
- javascript的isPrototypeOf函数的理解
JavaScript中isPrototypeOf函数方法是返回一个布尔值,指出对象是否存在于另一个对象的原型链中.使用方法: object1.isPrototypeOf(object2)~~~原型链理 ...
- BZOJ 1096
const maxm=1e100; maxn=; ..maxn] of int64; q:..maxn] of longint; n,i,h,t:longint; function calc(j,i: ...
- Bitmap recycle()
Bitmap调用recycle? When? Bitmap有一个recycle方法,意思非常easy,回收Bitmap的空间. Q 1: Bitmap是否有调用recycle方法的必要性? A: 嵌入 ...
- Knockout快速扫盲
1.Knockout.js是什么? Knockout是一款很优秀的js库,它可以快速让你使用一个干净整洁的底层数据模型,即可创建一个富文本且具有良好显示和编辑功能的用户界面.任何时候你的ui需要自 ...
- 总结一下ASP.NET MVC 网站的部署问题
总结一下ASP.NET MVC 网站的部署问题 近日,准备把MVC建了一个新的测试站点部署到IIS上面,结果没想到出现了一系列的问题和错误,准备记录一下. 第一个问题,就是如何将MVC的站点部署到II ...
- virtual 关键字
virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象.例如,此方法可被任何继承它的类重写. public virtual double Area() { retu ...
- 数据完整性(Data Integrity)笔记
因数据库存储数据要持之以恒,数据库中的表需要一些方法验证各种数据类型.不仅仅局限于数据类型,还有唯一值,值的范围,或者某列的值和另外一个表中的列匹配. 当你在定义表的时候其用这些数据验证方法.这叫做声 ...
- js得到分页栏
自己写的,感觉返回html代码蠢蠢的,但是新手并不知道怎么写更好的,感觉这样子也蛮简单.记录下来,以后来越改越好. //获得分页栏.注意indexSize为奇数,这样也比较好看 //totalNum: ...
- BZOJ 1295: [SCOI2009]最长距离( 最短路 )
把障碍点看做点(边)权为1, 其他为0. 对于每个点跑spfa, 然后和它距离在T以内的就可以更新答案 ------------------------------------------------ ...