Heim > Backend-Entwicklung > PHP-Tutorial > So simulieren Sie mit Curl IP und Quelle für den Zugriff über PHP

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

jacklove
Freigeben: 2023-03-30 22:38:01
Original
2382 Leute haben es durchsucht

Websites mit eingeschränkten IP-Adressen und -Quellen können mit normalen Zugriffsmethoden nicht aufgerufen werden. 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. Seiteneinschränkungs-IP und Quellzugriff festlegen

server.php

<?php$client_ip = getip();$referer = getreferer();$allow_ip = &#39;192.168.1.100&#39;;$allow_referer = &#39;http://www.csdn.net&#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 für den normalen Zugriff

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

ZurückZugriff verweigern

3 Zugriff

Simulierte Quelle

curl_setopt($ch, CURLOPT_REFERER, &#39;来源&#39;);
Nach dem Login kopieren

Simulierte IP

curl_setopt($ch, CURLOPT_HTTPHEADER, array(&#39;CLIENT-IP: 模拟ip&#39;,&#39;X-FORWARDED-FOR: 模拟ip&#39;));
Nach dem Login kopieren

Der vollständige Code lautet wie folgt:

<?php
function 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.csdn.net/&#39;;$response = doCurl($url, $data, $header, $referer, 5);

echo $response;
?>
Nach dem Login kopieren

ZurückZugriff zulassen

In diesem Artikel werden die relevanten Kenntnisse über die Verwendung von PHP zur Simulation von IP und Quelle für den Zugriff erläutert. Für weitere verwandte Inhalte zahlen Sie bitte Aufmerksamkeit auf die chinesische PHP-Website.

Verwandte Empfehlungen:

NULL-Datenmethode über MySQL konvertieren

Verwandte Informationen zu PHP-Funktionen mit variabler Anzahl von Parametern Inhalt

So rufen Sie die Sina-API über PHP auf, um einen Kurzlink zu generieren

Das obige ist der detaillierte Inhalt vonSo simulieren Sie mit Curl IP und Quelle für den Zugriff über PHP. 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