Heim >Backend-Entwicklung >PHP-Problem >So simulieren Sie unterschiedliche IP-Zugriffe in PHP

So simulieren Sie unterschiedliche IP-Zugriffe in PHP

藏色散人
藏色散人Original
2022-11-10 10:03:092308Durchsuche

So simulieren Sie unterschiedliche IP-Zugriffe in PHP: 1. Stellen Sie die Seite so ein, dass der IP- und Quellzugriff eingeschränkt wird. 2. Verwenden Sie Curl für den normalen Zugriff. 3. Verwenden Sie Curl, um den IP- und Quellzugriff zu simulieren. Code wie „curl_setopt($ch , CURLOPT_HTTPHEADER, array( 'CLIENT-IP: ip','X-FORWARDED-FOR: ip'));".

So simulieren Sie unterschiedliche IP-Zugriffe in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.

So simulieren Sie verschiedene IP-Zugriffe in PHP

php So simulieren Sie mit Curl IP und Quelle für den Zugriff

Bei Websites mit eingeschränkter IP und Quelle ist der Zugriff mit normalen Zugriffsmethoden nicht möglich. In diesem Artikel wird eine Methode vorgestellt, mit der die Curl-Klasse von PHP verwendet werden kann, um IP und Quelle zu simulieren und auf Websites mit eingeschränkter IP und Quelle zuzugreifen.

1. Stellen Sie die Seite so ein, dass der Zugriff auf IP und Quelle eingeschränkt wird Quelle simulieren

<?php
 
$client_ip = getip();
$referer = getreferer();
 
$allow_ip = &#39;192.168.1.100&#39;;
$allow_referer = &#39;https://www.jb51.net&#39;;
 
if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){
  echo &#39;allow access&#39;;
}else{
  echo &#39;deny access&#39;;
}
 
 
// 获取访问者ip
function 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;;
}
 
?>

Der vollständige Code der simulierten IP

<?php
function 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.example.com/server.php&#39;;
$response = doCurl($url);
 
echo $response;
?>

lautet wie folgt:

curl_setopt($ch, CURLOPT_REFERER, &#39;来源&#39;);

Zurück, um den Zugriff zu ermöglichen

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo simulieren Sie unterschiedliche IP-Zugriffe in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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