Heim > Backend-Entwicklung > PHP-Tutorial > So erstellen Sie einen zufälligen IP-Zugriff in PHP

So erstellen Sie einen zufälligen IP-Zugriff in PHP

王林
Freigeben: 2023-04-08 11:56:01
nach vorne
2261 Leute haben es durchsucht

So erstellen Sie einen zufälligen IP-Zugriff in PHP

Wir wissen, dass der HTTP-Header beim Anfordern einer Website einige IP-Informationen enthält. Durch die Fälschung dieser Informationen können wir den Effekt unterschiedlicher IP-Zugriffsanfragen erzeugen.

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

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.

(Verwandte Lernvideofreigabe: PHP-Video-Tutorial)

Bei normaler TCP/IP-Zweiparteienkommunikation kann die Quell-IP also nicht gefälscht werden Um zu sagen: Im TCP/IP-Protokoll kann die Quell-IP des Datenpakets gefälscht werden, 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 andere Partei 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.

PHP erstellt zufälliges IP-Zugriffsbeispiel:

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

Empfohlene Tutorials zu verwandten Artikeln: PHP-Tutorial

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

Verwandte Etiketten:
Quelle:cnblogs.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