Heim > Backend-Entwicklung > PHP-Tutorial > PHP legt zufälligen IP-Zugriff fest

PHP legt zufälligen IP-Zugriff fest

angryTom
Freigeben: 2023-04-07 16:36:02
nach vorne
3349 Leute haben es durchsucht

PHP legt zufälligen IP-Zugriff fest

Wenn wir eine Site anfordern, enthält der HTTP-Header einige IP-Informationen. Durch die Fälschung dieser Informationen können wir den Effekt unterschiedlicher IP-Zugriffsanfragen erzeugen.

Header CLIENT-IP und X-FORWARDED-FOR werden auf die IP gesetzt, die wir fälschen möchten, und der Server erhält die von uns angegebene IP.

Empfohlenes Lernen: PHP-Video-Tutorial

X-Forwarded-For ist ein Erweiterungsheader. Das Protokoll HTTP/1.1 (RFC 2616) definiert es nicht. Es wurde zuerst von Squid, einer Caching-Proxy-Software, eingeführt, um die tatsächliche IP des HTTP-Anforderers darzustellen. Jetzt ist es zu einem De-facto-Standard geworden und wird von großen HTTP-Anbietern verwendet Proxys, Weiterleitungsdienste wie Lastausgleich sind weit verbreitet und im RFC 7239-Standard (Forwarded HTTP Extension) geschrieben.

Bei normaler TCP/IP-Zweiparteienkommunikation kann die Quell-IP nicht gefälscht werden Das heißt, im TCP/IP-Protokoll heißt es, dass die Quell-IP des Datenpakets gefälscht werden kann, dies führt jedoch dazu, dass das gesendete Datenpaket niemals zurückkehrt, was eine normale Kommunikation unmöglich macht. Das ist so, als ob wir einen Brief an die Gegenpartei schreiben: Wenn wir die falsche Absenderadresse angeben und der Empfänger entsprechend der Absenderadresse auf dem Umschlag antwortet, kann der ursprüngliche Absender die Antwort nicht erhalten.

Einige DDoS-Angriffe, wie z. B. SYN-Flood, nutzen diesen Fehler in TCP/IP aus, um den Angriff durchzuführen.

Im Folgenden wird beschrieben, wie PHP einen Direktzugriff konstruiert.

<?php
function curl($url,$ifpost = 0, $datafields = &#39;&#39;, $cookiefile = &#39;&#39;, $v = false){
$ip_long = array(
            array(&#39;607649792&#39;, &#39;608174079&#39;), //36.56.0.0-36.63.255.255
            array(&#39;1038614528&#39;, &#39;1039007743&#39;), //61.232.0.0-61.237.255.255
            array(&#39;1783627776&#39;, &#39;1784676351&#39;), //106.80.0.0-106.95.255.255
            array(&#39;2035023872&#39;, &#39;2035154943&#39;), //121.76.0.0-121.77.255.255
            array(&#39;2078801920&#39;, &#39;2079064063&#39;), //123.232.0.0-123.235.255.255
            array(&#39;-1950089216&#39;, &#39;-1948778497&#39;), //139.196.0.0-139.215.255.255
            array(&#39;-1425539072&#39;, &#39;-1425014785&#39;), //171.8.0.0-171.15.255.255
            array(&#39;-1236271104&#39;, &#39;-1235419137&#39;), //182.80.0.0-182.92.255.255
            array(&#39;-770113536&#39;, &#39;-768606209&#39;), //210.25.0.0-210.47.255.255
            array(&#39;-569376768&#39;, &#39;-564133889&#39;), //222.16.0.0-222.95.255.255
    );
    $rand_key = mt_rand(0, 9);
    $ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
$header = array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3","User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",&#39;CLIENT-IP:&#39;.$ip,&#39;X-FORWARDED-FOR:&#39;.$ip); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, $v); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
$ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost); 
$ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); 
curl_setopt($ch,CURLOPT_TIMEOUT,30); //允许执行的最长秒数
$ok = curl_exec($ch); 
curl_close($ch); 
unset($ch);
return $ok;
}
print_r(curl("URL"));
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPHP legt zufälligen IP-Zugriff fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:www.80shihua.com
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