当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-16 09:46:37 浏览: 评论:0 

这篇文章主要介绍了PHP中使用curl伪造IP的简单方法,作者也提到了相关的一些缺陷,需要的朋友可以参考下

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处理脚本:

  1. #!/bin/awk -f  
  2.     
  3.  #运行前  
  4.  BEGIN {  
  5.    FS = " ";  
  6.    count = 0;  
  7.  }  
  8.     
  9.  #运行中  
  10.  {  
  11.    iparr[count ++] = $0;  
  12.  }  
  13.     
  14.  #运行后  
  15.  END {  
  16.    printf("<?php\n");  
  17.    printf("$iparr = array(\n");  
  18.    for (i = 0; i < count; i ++) {  
  19.      printf("'%s' => '%s',\n", iparr[i], iparr[i]);  
  20.    }  
  21.    printf(");\n");  
  22.  }  

CURL使用

  1. <?php  
  2.   require_once dirname(__FILE__) . "/iplib.php";  
  3.      
  4.   $req_url = "test.com";  
  5.      
  6.   foreach ($iparr as $forward => $cip) {  
  7.        
  8.     $ch = curl_init();  
  9.        
  10.     curl_setopt($ch, CURLOPT_URL, $req_url);  
  11.     curl_setopt($ch, CURLOPT_HTTPHEADER, array(  
  12.         "X-FORWARDED-FOR:$forward",  
  13.         "CLIENT-IP:$cip" 
  14.     ));  
  15.     curl_setopt($ch, CURLOPT_REFERER, 'http://blog.csdn.net/');  
  16.     curl_setopt($ch, CURLOPT_HEADER, 1);  
  17.        
  18.     curl_exec($ch);  
  19.        
  20.     curl_close($ch);  
  21.   }  

缺陷

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

Tags: curl伪造IP

分享到:

相关文章