Heim >Backend-Entwicklung >PHP-Problem >So simulieren Sie unterschiedliche IP-Zugriffe in PHP
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'));".
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 = '192.168.1.100'; $allow_referer = 'https://www.jb51.net'; if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){ echo 'allow access'; }else{ echo 'deny access'; } // 获取访问者ip function getip(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $cip = $_SERVER['HTTP_CLIENT_IP']; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $cip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif(!empty($_SERVER['REMOTE_ADDR'])){ $cip = $_SERVER['REMOTE_ADDR']; }else{ $cip = ''; } return $cip; } // 获取访问者来源 function getreferer(){ if(isset($_SERVER['HTTP_REFERER'])){ return $_SERVER['HTTP_REFERER']; } return ''; } ?>
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 = 'http://www.example.com/server.php'; $response = doCurl($url); echo $response; ?>
lautet wie folgt:
curl_setopt($ch, CURLOPT_REFERER, '来源');
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!