好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP怎么CURL伪造IP和来源实现程序 - php高级应用

PHP怎么CURL伪造IP和来源实现程序

伪造IP来源这个东西在对很多朋友都有用,有的朋友喜欢利用php curl来伪造IP来源,让自己觉得很多IP了,下面我们以伪造IP来源实例来介绍php中curl的用法.

curl默认是未被启用的,启用方法.

启用 cURL 设置: 如果你是在Windows平台下,那么非常简单,你需要改一改你的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了,如下所示:

extension=php_curl.dll 

如果你是在Linux下面,那么,你需要重新编译你的PHP了,编辑时,你需要打开编译参数——在configure命令上加上[–with-curl] 参数.

简单测试实例,代码如下:

<?php   // 初始化一个 cURL 对象    $curl  = curl_init();        // 设置你需要抓取的URL    curl_setopt( $curl , CURLOPT_URL,  'http://coolshell.cn' );       // 设置header    curl_setopt( $curl , CURLOPT_HEADER, 1);       // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。    curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1);       // 运行cURL,请求网页    $data  = curl_exec( $curl );       // 关闭URL请求    curl_close( $curl );       // 显示获得的数据    var_dump( $data );  ?> 

模仿post数据,代码如下:

<?php        $phoneNumber  =  '13912345678' ;        $message  =  'This message was generated by curl and php' ;        $curlPost  =  'pNUMBER='   . urlencode( $phoneNumber ) .  '&MESSAGE='  . urlencode( $message ) .  '&SUBMIT=Send' ;        $ch  = curl_init();       curl_setopt( $ch , CURLOPT_URL,  'http://www.example.com/sendSMS.php' );       curl_setopt( $ch , CURLOPT_HEADER, 1);       curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1);       curl_setopt( $ch , CURLOPT_POST, 1);       curl_setopt( $ch , CURLOPT_POSTFIELDS,  $curlPost );        $data  = curl_exec();       curl_close( $ch );   ?> 

现在进入正题,CURL伪造IP和来源.

1.php实例代码如下:

$ch  = curl_init();  curl_setopt( $ch , CURLOPT_URL,  "http://localhost/2.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,  "http://www.phpfensi.com/ " ); //来路  curl_setopt( $ch , CURLOPT_HEADER, 1);  $out  = curl_exec( $ch );  curl_close( $ch ); 

2.php实例代码如下:

function  getClientIp() {       if  (! empty empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))           $ip  =  $_SERVER [ "HTTP_CLIENT_IP" ];       else   if  (! empty empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ]))           $ip  =  $_SERVER [ "HTTP_X_FORWARDED_FOR" ];       else   if  (! empty empty ( $_SERVER [ "REMOTE_ADDR" ]))           $ip  =  $_SERVER [ "REMOTE_ADDR" ];       else            $ip  =  "err" ;       return   $ip ;  }  echo   "IP: "  . getClientIp() .  "" ;  echo   "referer: "  .  $_SERVER [ "HTTP_REFERER" ];  

用1.php 请求 2.php,输出结果.

关于SSL也就是HTTPS协议,你只需要把CURLOPT_URL连接中的http://变成https://就可以了,当然,还有一个参数叫CURLOPT_SSL_VERIFYHOST可以设置为验证站点.

关于Cookie,你需要了解下面三个参数:

CURLOPT_COOKIE,在当面的会话中设置一个cookie 

CURLOPT_COOKIEJAR,当会话结束的时候保存一个Cookie 

CURLOPT_COOKIEFILE,Cookie的文件

查看更多关于PHP怎么CURL伪造IP和来源实现程序 - php高级应用的详细内容...

  阅读:45次