首页 > 开发 > PHP > 正文

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

2024-05-04 23:38:36
字体:
来源:转载
供稿:网友

这篇文章主要介绍了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中开启该功能

 

 
  1. ; 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进行修改,好吧,貌似我也没帮朋友做成功这件事情,不过还是记录一下

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表