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属性。如百度的:

Referer:
http://www.baidu.com/s?wd=+%E9%85%B7%E5%A3%B3&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-
我们可以通过这个方法检测到底是由哪个搜索引擎进入该页面的。可以看http://coolshell.cn/articles/9308.html酷壳的这篇文章。

PHP用CURL或fsockopen伪造IP和来路(referer)的更多相关文章

  1. PHP CURL 伪造IP和来路

    //随机IP function Rand_IP(){ $ip2id= round(rand(, ) / ); //第一种方法,直接生成 $ip3id= round(rand(, ) / ); $ip4 ...

  2. PHP用curl伪造IP和来源

    以前没有这么搞过. 今天群里一个朋友在问这个问题. 查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl ...

  3. 【转】php curl 伪造IP来源的实例代码

    curl发出请求的文件fake_ip.php: 代码 复制代码 代码如下: <?php $ch = curl_init(); $url = "http://localhost/targ ...

  4. php curl 伪造IP来源的代码分享

    php curl 可以模仿用户登录,还可以模仿用户IP地址.伪造IP来源. 1,curl发出请求的文件fake_ip.php: <?php $ch = curl_init(); $url = & ...

  5. php curl 伪造IP来源的实例代码

    来源:http://www.jb51.net/article/31694.htm curl 它不但可以模仿用户登录,还可以模仿用户IP地址哦,为伪造IP来源,本实例仅供参考哦 //伪造ip ; $i ...

  6. [浪风推荐]CURL伪造IP和来源

    给“刷票”的朋友提供了很好的换IP的方案,查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl_seto ...

  7. php爬虫程序中怎么样伪造ip地址防止被封

    今天我们来做一个简单的假的ip地址访问网站,这个可以利用php curl或fsockopen来实现,有需要的同学可以参考一下方案很简单的,不过此方案不完美对第三方工具没有用. HTTP-REFERER ...

  8. PHP获取IP地址的方法,防止伪造IP地址注入攻击

    PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理 ...

  9. curl file_get_contents fsockopen

    三种处理的方式:     curl     file_get_contents     fsockopen fsockopen 是比较底层的调用,属于网络系统的socket调用,而curl经过的包装支 ...

随机推荐

  1. 关于 OnCloseQuery: 顺序、不能关机等(所有的windows的广播消息都是逐窗口传递的)——如果一个窗体的OnCloseQuery事件中如果写了代码那么WM_QUERYENDSESSION消息就传不过去了msg.result会返回0,关机事件也就停止了

    系统关闭窗体的事件顺序为: OnCloseQuery ----> OnClose ----> OnDestroy 下面的代码说明问题: unit Unit3; interface uses ...

  2. python2.6升级到2.7

    开发部需要使用python2.7,由于公网的环境python版本都是系统自带的,版本是2.6,需要升级,最好是通过RPM升级. Linux系统:CentOS CentOS 6.4升级Python后yu ...

  3. [dfs+水] hdu 4462 Scaring the Birds

    题意: N*N的矩阵中有M个点能够放稻草人.且给覆盖距离R 每一个稻草人能覆曼哈顿距离R以内的点 问最少须要多少个稻草人 思路: 由于范围非常小,直接能够暴力 注意稻草人所在的位置是不须要被覆盖的 代 ...

  4. 具体解释VMware 9.0.1安装MAC OS X 10.8(历时近3日感想篇)

    突然心血来潮,想用VMware 9.0.1安装MAC OS X,但网上的文章多多少少总有点缺陷,不能适合每个人,在综合了近30篇安装MAC OS X的文章后,我决定公布一篇比較大众化,比較详尽的MAC ...

  5. Zookeeper 在Hadoop中的应用

    Zookeeper 简单介绍 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目.它主要是用来解决分布式应用中常常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集 ...

  6. ArcGIS 10 许可配置

    问题描述:在配置ArcGIS许可时,出现了许可检查通过,而无法启动arcmap的问题. 许可诊断结果如下: -------- Diagnostics -------- FLEXnet diagnost ...

  7. CSS3媒体查询(Media Queries)

    媒体类型: all 所有设备 screen 电脑显示器 handheld 便携设备 tv 电视类型设备 print 打印用纸打印预览视图 关键字 and not(排除某种设备) only(限定某种设备 ...

  8. C#中的虚方法和抽象方法(Thirteenth Day)

    今天在云和学院学了很多,我这次只能先总结一下C#中的虚方法和抽象的运用. 理论: 虚方法: •用virtual修饰的方法叫做虚方法 •虚方法可以在子类中通过override关键字来重写 •常见的虚方法 ...

  9. [译]Stairway to Integration Services Level 8 - SSIS 工作流管理高级

    介绍 在前两个章节我们,建立了一个新的SSIS包,简单的使用了一下scripting还有优先约束,并且测试了MaxConcurrentExecutables 属性.  同时实验了  “On Succe ...

  10. 一种解决h5页面背景音乐不能自动播放的方案

    场景:微信.浏览器.App 普通解决方案:采用audio标签的autoplay属性 现象: 大部分IOS系统和少部分Android微信不支持自动播放 $解决方案:监听WeixinJSBridgeRea ...