Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erläuterung der Verwendung von Curl zur Simulation von IP-Instanzen

Ausführliche Erläuterung der Verwendung von Curl zur Simulation von IP-Instanzen

零下一度
Freigeben: 2023-03-14 06:02:01
Original
1820 Leute haben es durchsucht

Bei Websites mit eingeschränkten IP-Adressen und -Quellen funktionieren normale Erfassungsmethoden nicht. In diesem Artikel wird eine Methode vorgestellt, mit der die Curl-Klasse von PHP verwendet werden kann, um IPs und Quellen zu simulieren und Websites mit eingeschränkten IPs und Quellen zu sammeln.

1. Legen Sie Seitenbeschränkungen für IP und Quellzugriff fest

server.php

<?php 
$client_ip = getip();$referer = getreferer(); 
$allow_ip = &#39;192.168.1.100&#39;;$allow_referer = &#39;http://www.uxuew.cn&#39;; 
if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){  echo &#39;allow access&#39;;
}else{  echo &#39;deny access&#39;;
} 
 
// 获取访问者ipfunction getip(){  if(!empty($_SERVER[&#39;HTTP_CLIENT_IP&#39;])){$cip = $_SERVER[&#39;HTTP_CLIENT_IP&#39;];
  }elseif(!empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])){$cip = $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;];
  }elseif(!empty($_SERVER[&#39;REMOTE_ADDR&#39;])){$cip = $_SERVER[&#39;REMOTE_ADDR&#39;];
  }else{$cip = &#39;&#39;;
  }  return $cip;
} 
// 获取访问者来源function getreferer(){  if(isset($_SERVER[&#39;HTTP_REFERER&#39;])){return $_SERVER[&#39;HTTP_REFERER&#39;];
  }  return &#39;&#39;;
} 
?>
Nach dem Login kopieren

2. Verwenden Sie Curl, um normal zuzugreifen

<?phpfunction doCurl($url, $data=array(), $header=array(), $timeout=30){ 
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
  $response = curl_exec($ch); 
  if($error=curl_error($ch)){die($error);
  }
 
  curl_close($ch); 
  return $response;
 
} 
// 调用$url = &#39;http://www.uxuew.cn/server.php&#39;;$response = doCurl($url); 
echo $response;?>
Nach dem Login kopieren

3 Simuliere IP und Quelle für den Zugriff

Simulierte Quelle

curl_setopt($ch, CURLOPT_REFERER, 'source');

Simulierte IP

curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: simulierte IP','X-FORWARDED-FOR: simulierte IP'));

Vervollständigen Sie den Code wie folgt:

<?phpfunction doCurl($url, $data=array(), $header=array(), $referer=&#39;&#39;, $timeout=30){ 
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
  // 模拟来源
  curl_setopt($ch, CURLOPT_REFERER, $referer); 
  $response = curl_exec($ch); 
  if($error=curl_error($ch)){die($error);
  }
 
  curl_close($ch); 
  return $response;
 
} 
// 调用$url = &#39;http://www.example.com/server.php&#39;;$data = array(); 
// 设置IP$header = array(  &#39;CLIENT-IP: 192.168.1.100&#39;,
  &#39;X-FORWARDED-FOR: 192.168.1.100&#39;); 
// 设置来源$referer = &#39;http://www.uxuew.cn/&#39;; 
$response = doCurl($url, $data, $header, $referer, 5); 
echo $response;?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung von Curl zur Simulation von IP-Instanzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage