PHP中使用curl伪造IP的简单方法


Posted in PHP onAugust 07, 2015

curl简介:
curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传等等,功能十分强大。
PHP中常用curl实现的功能:
   1、实现远程获取和采集内容
   2、实现PHP 网页版的FTP上传下载
   3、实现模拟登陆
   4、实现接口对接(API),数据传输等
   5、实现模拟Cookie等

   PHP使用CURL功能
默认情况下PHP是不支持CURL功能的,需要在PHP.ini中开启该功能

; extension= php_curl.dll//首先去除前面的;分号,并重启Apache/IIS

使用curl伪造IP

我找到的IP拷贝到txt文件里,然后sed和awk处理了一下,分享一下我的awk处理脚本:

#!/bin/awk -f 
   
  #运行前 
  BEGIN { 
    FS = " "; 
    count = 0; 
  } 
   
  #运行中 
  { 
    iparr[count ++] = $0; 
  } 
   
  #运行后 
  END { 
    printf("<?php\n"); 
    printf("$iparr = array(\n"); 
    for (i = 0; i < count; i ++) { 
      printf("'%s' => '%s',\n", iparr[i], iparr[i]); 
    } 
    printf(");\n"); 
  }

CURL使用

   

<?php 
  require_once dirname(__FILE__) . "/iplib.php"; 
   
  $req_url = "test.com"; 
   
  foreach ($iparr as $forward => $cip) { 
     
    $ch = curl_init(); 
     
    curl_setopt($ch, CURLOPT_URL, $req_url); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
        "X-FORWARDED-FOR:$forward", 
        "CLIENT-IP:$cip" 
    )); 
    curl_setopt($ch, CURLOPT_REFERER, 'http://blog.csdn.net/'); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
     
    curl_exec($ch); 
     
    curl_close($ch); 
  }

缺陷
很多服务器端一般都采用了$_SERVER['REMOTE_ADDR']来获取客户端的真实ip,这是在传输层就已经决定的地址,无法通过CURL进行修改,好吧,貌似我也没帮朋友做成功这件事情,不过还是记录一下

PHP 相关文章推荐
php的header和asp中的redirect比较
Oct 09 PHP
PHP 采集程序 常用函数
Dec 18 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
PHP采集利器 Snoopy 试用心得
Jul 03 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
smarty中常用方法实例总结
Aug 07 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
PHP错误和异常处理功能模块示例
Nov 12 PHP
PDO实现学生管理系统
Mar 21 PHP
smarty中常用方法实例总结
Aug 07 #PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 #PHP
PHP下载生成的csv文件及问题总结
Aug 06 #PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 #PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 #PHP
php实现无限级分类(递归方法)
Aug 06 #PHP
PHP常用的排序和查找算法
Aug 06 #PHP
You might like
PHP中PDO的错误处理
2011/09/04 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
php中的ini配置原理详解
2014/10/14 PHP
PHP多文件上传实例
2015/07/09 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
Linux机考试题
2015/10/16 面试题
电气专业应届生求职信
2013/11/01 职场文书
户外活动策划方案
2014/03/12 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
2014年财政工作总结
2014/12/10 职场文书
党支部考察意见范文
2015/06/02 职场文书
亮剑观后感300字
2015/06/05 职场文书