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. HDOJ 1003 Max Sum(线性dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 思路分析:该问题为最大连续子段和问题,使用动态规划求解: 1)最优子结构:假设数组为A[0, 1 ...

  2. jenkins+maven +svn+tomcat7集群部署(一)

    在网上看了好多有关集群部署的文章,感觉都不是太连贯,非常多仅仅是给你说怎么安装而已,可是过程中遇到的问题真不少,可是也攻克了非常多问题,希望我的文章可以帮到那些想学习的人吧,jenkins主要是攻克了 ...

  3. eclipse主题插件

    打开eclipse ,选择 Help 选择Install New Software 点击 Add 输入http://eclipse-color-theme.github.com/update,选中Ec ...

  4. Android中使用NDK

    首先用Android Studio下载NDK 这个比较简单,就不多说了 1.写调用jni的Java代码 新建一个JniUtils类 public class JniUtils { static { S ...

  5. HDU 1045(质因数分解)

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description Tomor ...

  6. [Swust OJ 797]--Palindromic Squares(回文数水题)

    题目链接:http://acm.swust.edu.cn/problem/797/ Time limit(ms): 1000 Memory limit(kb): 10000   Description ...

  7. [LeetCode]题解(python):016-3Sum Closest

    题目来源: https://leetcode.com/problems/3sum-closest/ 题意分析: 这道题目输入一个数组nums和一个数target,找出数组中三个数,使得他们的和最接近t ...

  8. [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu)

    原文 [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) 周银辉 点击窗口左上角图标时弹出来的菜单也就是这里所说的系 ...

  9. php返回的json格式

    public function search_ip(){ $where['ip'] = $_GET['ip']; $Machine = M('Machine_info'); $arr = $Machi ...

  10. Hdu 1301 Jungle Roads (最小生成树)

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1301 很明显,这是一道“赤裸裸”的最小生成树的问题: 我这里采用了Kruskal算法,当然用Prim算法也 ...