Heim  >  Artikel  >  Backend-Entwicklung  >  So legen Sie die IP in PHP Curl fest

So legen Sie die IP in PHP Curl fest

藏色散人
藏色散人Original
2020-08-27 10:04:013578Durchsuche

So legen Sie die IP mit PHP Curl fest: Rufen Sie zuerst die Besucher-IP mit der Methode „getip“ ab. Verwenden Sie dann die Methode „getreferer“, um schließlich die IP-Adresse und den Quellzugriff der Seite festzulegen.

So legen Sie die IP in PHP Curl fest

Empfohlen: „PHP-Video-Tutorial

php Verwenden Sie Curl, um IP und Quelle für den Zugriff zu simulieren

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

<?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;;
}
// 获取访问者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;;
}
?>

2. Verwenden Sie Curl, um den Zugriff zu verweigern Quelle simulieren

<?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;
?>

Der vollständige Code der simulierten IP

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

lautet wie folgt:

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

Zurück, um den Zugriff zu erlauben

Das obige ist der detaillierte Inhalt vonSo legen Sie die IP in PHP Curl fest. 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