php使用CURL伪造IP和来源实例详解

yipeiwu_com6年前PHP代码库

本文实例讲述了php使用CURL伪造IP和来源的方法。分享给大家供大家参考。具体分析如下:

伪造IP来源对于php来说是很简单的一件事情,我们只要利用了php的curl即可实现伪造IP来源的功能,IP地址你可以随便写.

index.php实例代码如下:

复制代码 代码如下:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/curl.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, "//www.jb51.net/ ");   //来路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);

curl.php代码如下:
复制代码 代码如下:
function getClientIp() {
    if (!emptyempty($_SERVER["HTTP_CLIENT_IP"]))
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    else if (!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"]))
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    else if (!emptyempty($_SERVER["REMOTE_ADDR"]))
        $ip = $_SERVER["REMOTE_ADDR"];
    else
        $ip = "err";
    return $ip;
}
echo "IP: " . getClientIp() . "";
echo "referer: " . $_SERVER["HTTP_REFERER"];

用index.php 请求 curl.php,输出结果:

IP:8.8.8.8  referer://www.jb51.net

伪造成功,这是不是给采集的朋友提供了很好的换IP的方案,当然防被刷的朋友也要注意了.

补充:

PHP中的CURL函数库(Client URL Library Function)如下:

curl_close — 关闭一个curl会话

curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数

curl_errno — 返回一个包含当前会话错误信息的数字编号

curl_error — 返回一个包含当前会话错误信息的字符串

curl_exec — 执行一个curl会话

curl_getinfo — 获取一个curl连接资源句柄的信息

curl_init — 初始化一个curl会话

curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源

curl_multi_close — 关闭一个批处理句柄资源

curl_multi_exec — 解析一个curl批处理句柄

curl_multi_getcontent — 返回获取的输出的文本流

curl_multi_info_read — 获取当前解析的curl的相关传输信息

curl_multi_init — 初始化一个curl批处理句柄资源

curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源

curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"

curl_setopt_array — 以数组的形式为一个curl设置会话参数

curl_setopt — 为一个curl设置会话参数

curl_version — 获取curl相关的版本信息

curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址.

curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄.

curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄.

希望本文所述对大家的php程序设计有所帮助。

相关文章

php自定义函数实现汉字转换utf8编码的方法

本文实例讲述了php自定义函数实现汉字转换utf8编码的方法。分享给大家供大家参考,具体如下: 该函数有两部分组成: function htou($c) { $n = (ord(...

PHP取进制余数函数代码

复制代码 代码如下: //取进制位上的数值 function getRemainder($num, $bin, $pos, &$result = 0){ //author lianq.n...

详解WordPress中分类函数wp_list_categories的使用

wp_list_categories 函数是 WordPress 中用来罗列系统中分类的函数,该函数拥有许多控制输出的参数,今天突然被一个朋友问到,所以就大概整理了一下。 因为 Word...

PHP生成不同颜色、不同大小的tag标签函数

复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大...

解决ThinkPHP关闭调试模式时报错的问题汇总

案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 “页面调试错误,无法找开页面,请重试”的错误. 我就郁闷啦,明明本地设置...