av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語(yǔ)言

php爬蟲(chóng)程序中怎么樣偽造ip地址防止被封

時(shí)間:2025-05-27 22:30:31 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

php爬蟲(chóng)程序中怎么樣偽造ip地址防止被封

  php爬蟲(chóng)程序中怎么樣偽造ip地址防止被封是很多程序員都關(guān)心的問(wèn)題。下面是小編為大家?guī)?lái)的php爬蟲(chóng)程序中怎么樣偽造ip地址防止被封的知識(shí),歡迎閱讀。

  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'));  //構(gòu)造IP

  curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/ ");   //構(gòu)造來(lái)路

  curl_setopt($ch, CURLOPT_HEADER, 1);

  $out = curl_exec($ch);

  curl_close($ch);

  2.php

  代碼如下

  function getClientIp() {

  if (!empty($_SERVER["HTTP_CLIENT_IP"]))

  $ip = $_SERVER["HTTP_CLIENT_IP"];

  else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))

  $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

  else if (!empty($_SERVER["REMOTE_ADDR"]))

  $ip = $_SERVER["REMOTE_ADDR"];

  else

  $ip = "err";

  return $ip;

  }

  echo "IP: " . getClientIp() . "";

  echo "referer: " . $_SERVER["HTTP_REFERER"];

  偽造成功,這是不是給“刷票”的朋友提供了很好的換IP的方案!

  再看一下相對(duì)復(fù)雜的處理辦法

  以下是偽造方法:

  代碼如下

  PHP(前提是裝了curl):

  PHP代碼

  $ch = curl_init();

  curl_setopt ($ch, CURLOPT_URL, "http://www.hzhuti.com");

  curl_setopt ($ch, CURLOPT_REFERER, "http://www.zhutiai.com/");

  curl_exec ($ch);

  curl_close ($ch);

  PHP(不裝curl用sock)

  代碼如下

  $server = '127.0.0.1';

  $host = '127.0.0.1';

  $target = '/xxx.asp';

  $referer = 'http://127.0.0.1/'; // Referer

  $port = 80;

  $fp = fsockopen($server, $port, $errno, $errstr, 30);

  if (!$fp)

  {

  echo "$errstr ($errno)<br />n";

  }

  else

  {

  $out = "GET $target HTTP/1.1rn";

  $out .= "Host: $hostrn";

  $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";

  $out .= "Referer: $refererrn";

  $out .= "Connection: Closernrn";

  fwrite($fp, $out);

  while (!feof($fp))

  {

  echo fgets($fp, 128);

  }

  fclose($fp);

  }

  IP也可以偽造

  代碼如下

  $fp = fsockopen ("192.168.0.128", 80, $errno, $errstr, 30);

  if (!$fp) {

  echo "$errstr ($errno)<br>n";

  } else {

  $msg="GET /003.php HTTP/1.0rn";

  $msg.="Host: 192.168.0.128rn";

  $msg.="Referer: http://www.baidu.comrn";

  $msg.="Client-IP: 1.1.1.1rn";

  $msg.="X-Forwarded-For: 1.1.1.1rn"; //主要是這里來(lái)構(gòu)造IP

  $msg.="Connection: Closernrn";

  fputs ($fp, $msg);

  while (!feof($fp)) {

  echo fgets ($fp,1024);

  }

  fclose ($fp);

  }

  記住用fsockopen時(shí),命令最后一定要有rnrn,不然會(huì)超時(shí)。

  其實(shí)這個(gè)可以用$_SERVER['REMOTE_ADDR']來(lái)得到正確IP,但是人們?yōu)榱说玫酱碓L問(wèn)IP,而采用的得到IP的方法往往不是$_SERVER['REMOTE_ADDR'],這就為我們提供了機(jī)會(huì)。


【php爬蟲(chóng)程序中怎么樣偽造ip地址防止被封】相關(guān)文章:

PHP中IP地址與整型數(shù)字互相轉(zhuǎn)換04-25

PHP中用CURL偽造IP來(lái)源的方法06-26

php如何獲得ip地址05-29

php獲取IP物理地址的方法05-15

php怎樣根據(jù)ip地址查地區(qū)06-26

php通過(guò)Chianz.com獲取IP地址與地區(qū)的方法08-12

PHP根據(jù)IP地址獲取所在城市具體實(shí)現(xiàn)07-16

php根據(jù)IP地址獲取當(dāng)前地理位置接口05-18

php中防止SQL注入的方法06-16