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


Posted in PHP onJanuary 15, 2015

本文实例讲述了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, "https://3water.com/ ");   //来路 

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:https://3water.com

伪造成功,这是不是给采集的朋友提供了很好的换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 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
CURL状态码列表(详细)
Jun 27 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
PHP代码优化的53个细节
Mar 03 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php表单敏感字符过滤类
Dec 08 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
PHP邮件群发机实现代码
Feb 16 PHP
Laravel 5.3 学习笔记之 错误&日志
Aug 28 PHP
php fread读取文件注意事项
Sep 24 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
php+mysql实现无限分类实例详解
Jan 15 #PHP
php截取html字符串及自动补全html标签的方法
Jan 15 #PHP
php在linux下检测mysql同步状态的方法
Jan 15 #PHP
php中静态类与静态变量用法的区别分析
Jan 15 #PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 #PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 #PHP
php中JSON的使用与转换
Jan 14 #PHP
You might like
关于PHP中的Class的几点个人看法
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
webpack打包js的方法
2018/03/12 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
python控制台英汉汉英电子词典
2020/04/23 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python饼状图的绘制实例
2019/01/15 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
村委会主任先进事迹
2014/01/15 职场文书
活动邀请函范文
2014/01/19 职场文书
面试必备的求职信
2014/05/25 职场文书
政风行风评议心得体会
2014/10/21 职场文书
优秀教师先进材料
2014/12/16 职场文书
公司年夜饭通知
2015/04/25 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
MySQL系列之六 用户与授权
2021/07/02 MySQL
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis