国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 偽造ip地址來源實現程序

2024-05-04 21:58:20
字體:
來源:轉載
供稿:網友

今天我們來做一個簡單的假的ip地址訪問網站,這個可以利用php curl或fsockopen來實現,有需要的同學可以參考一下方案很簡單的,不過此方案不完美對第三方工具沒有用.

HTTP-REFERER這個變量已經越來越不可靠了,完全就是可以偽造出來的東東.

1.php 請求 2.php 。

1.php代碼:

  1. $ch = curl_init(); 
  2. curl_setopt($ch, CURLOPT_URL, "http://localhost/2.php"); 
  3. curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8''CLIENT-IP:8.8.8.8'));  //構造IP 
  4. curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/ ");   //構造來路 
  5. curl_setopt($ch, CURLOPT_HEADER, 1); 
  6. $out = curl_exec($ch); 
  7. curl_close($ch); 

2.php代碼如下: 

  1. function getClientIp() { 
  2.     if (!emptyempty($_SERVER["HTTP_CLIENT_IP"])) 
  3.         $ip = $_SERVER["HTTP_CLIENT_IP"]; 
  4.     else if (!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])) 
  5.         $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
  6.     else if (!emptyempty($_SERVER["REMOTE_ADDR"])) 
  7.         $ip = $_SERVER["REMOTE_ADDR"]; 
  8.     else 
  9.         $ip = "err"
  10.     return $ip
  11. echo "IP: " . getClientIp() . ""
  12. echo "referer: " . $_SERVER["HTTP_REFERER"]; 

偽造成功,這是不是給“刷票”的朋友提供了很好的換IP的方案,再看一下相對復雜的處理辦法,PHP(前提是裝了curl),PHP代碼如下:

  1. $ch = curl_init();  
  2. curl_setopt ($ch, CURLOPT_URL, "http://m.survivalescaperooms.com");  
  3. curl_setopt ($ch, CURLOPT_REFERER, "http://m.survivalescaperooms.com/");  
  4. curl_exec ($ch);  
  5. curl_close ($ch);  

PHP(不裝curl用sock),代碼如下:

  1. $server = '127.0.0.1';  
  2. $host = '127.0.0.1';  
  3. $target = '/xxx.asp';  
  4. $referer = 'http://127.0.0.1/'; // Referer  
  5. $port = 80;  
  6. $fp = fsockopen($server$port$errno$errstr, 30);  
  7. if (!$fp)  
  8. {  
  9. echo "$errstr ($errno)<br />n";  
  10. }  
  11. else  
  12. {  
  13. $out = "GET $target HTTP/1.1rn";  
  14. $out .= "Host: $hostrn";  
  15. $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";  
  16. $out .= "Referer: $refererrn";  
  17. $out .= "Connection: Closernrn";  
  18. fwrite($fp$out);  
  19. while (!feof($fp))  
  20. {  
  21. echo fgets($fp, 128);  
  22. }  
  23. fclose($fp);  

IP也可以偽造,代碼如下:

  1. $fp = fsockopen ("192.168.0.128", 80, $errno$errstr, 30); 
  2. if (!$fp) { 
  3. echo "$errstr ($errno)<br>n"
  4. else { 
  5. $msg="GET /003.php HTTP/1.0rn"
  6. $msg.="Host: 192.168.0.128rn"
  7. $msg.="Referer: http://m.survivalescaperooms.comrn"
  8.  
  9. $msg.="Client-IP: 1.1.1.1rn"
  10. $msg.="X-Forwarded-For: 1.1.1.1rn"//主要是這里來構造IP 
  11. $msg.="Connection: Closernrn"
  12. fputs ($fp$msg); 
  13. while (!feof($fp)) { 
  14. echo fgets ($fp,1024); 
  15. fclose ($fp); 

記住用fsockopen時,命令最后一定要有rnrn,不然會超時.

其實這個可以用$_SERVER['REMOTE_ADDR']來得到正確IP,但是人們為了得到代理訪問IP,而采用的得到IP的方法往往不是$_SERVER['REMOTE_ADDR'],這就為我們提供了機會.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤阳县| 岳西县| 增城市| 沈丘县| 全椒县| 亚东县| 万安县| 淳安县| 林口县| 台州市| 赫章县| 长乐市| 澜沧| 仙居县| 衡阳市| 侯马市| 石城县| 辰溪县| 长子县| 康平县| 浪卡子县| 从化市| 八宿县| 诸暨市| 青神县| 塘沽区| 灵武市| 大关县| 大悟县| 和龙市| 乐清市| 黎城县| 共和县| 那曲县| 长沙县| 南平市| 兴仁县| 奉节县| 永济市| 扎鲁特旗| 延川县|