亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

php爬蟲程序中怎么樣偽造ip地址防止被封

時間:2024-07-30 15:07:57 php語言 我要投稿
  • 相關(guān)推薦

php爬蟲程序中怎么樣偽造ip地址防止被封

  php爬蟲程序中怎么樣偽造ip地址防止被封是很多程序員都關(guān)心的問題。下面是小編為大家?guī)淼膒hp爬蟲程序中怎么樣偽造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'));  //構(gòu)造IP

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

  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的方案!

  再看一下相對復(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"; //主要是這里來構(gòu)造IP

  $msg.="Connection: Closernrn";

  fputs ($fp, $msg);

  while (!feof($fp)) {

  echo fgets ($fp,1024);

  }

  fclose ($fp);

  }

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

  其實這個可以用$_SERVER['REMOTE_ADDR']來得到正確IP,但是人們?yōu)榱说玫酱碓L問IP,而采用的得到IP的方法往往不是$_SERVER['REMOTE_ADDR'],這就為我們提供了機會。


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

PHP中用CURL偽造IP來源的方法06-26

php如何獲得ip地址09-06

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

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

php通過記錄IP來防止表單重復(fù)提交方法分析10-17

linux系統(tǒng)中怎么重新分配IP地址10-21

ip地址如何修改呢08-23

PHP獲取真實的客戶IP的方法09-01

IP地址計算和子網(wǎng)劃分06-21

電腦如何自動獲取ip地址06-02