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

PHP legt zufälligen IP-Zugriff fest

Oct 15, 2019 pm 02:29 PM
curl ip

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie legen Websites über Nginx IP-Beschränkungen für die Black-/Whitelist sowie IP-Zugriffsbeschränkungen für Länder und Städte fest? Wie legen Websites über Nginx IP-Beschränkungen für die Black-/Whitelist sowie IP-Zugriffsbeschränkungen für Länder und Städte fest? Jun 01, 2023 pm 05:27 PM

1. Black/White-List-IP-Einschränkungskonfiguration Nginx bietet mehrere Möglichkeiten, Black- und White-Lists zu konfigurieren. Hier sind nur zwei häufig verwendete Methoden. 1. Die erste Methode: Die Anweisungen „allow“, „denydeny“ und „allow“ gehören zu ngx_http_access_module. Nginx lädt dieses Modul standardmäßig, sodass es direkt verwendet werden kann. Diese Methode ist die einfachste und direkteste. Die Einstellung ähnelt der Firewall iptable. Verwendung: Fügen Sie direkt zur Konfigurationsdatei hinzu: #Whitelist-Einstellungen, gefolgt von „Zulassen ist zugänglich“ IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}# Blacklist-Einstellungen,

Was bedeutet das Binden von IP und Mac? Was bedeutet das Binden von IP und Mac? Mar 09, 2023 pm 04:44 PM

Unter IP- und Mac-Bindung versteht man die Zuordnung einer bestimmten IP-Adresse zu einer bestimmten MAC-Adresse, sodass nur das Gerät, das die MAC-Adresse verwendet, die IP-Adresse für die Netzwerkkommunikation verwenden kann. Durch das Binden von IP und Mac kann verhindert werden, dass die IP-Adresse des gebundenen Hosts gefälscht wird. Voraussetzungen: 1. Die MAC-Adresse ist eindeutig und kann nicht gefälscht werden. Sie kann nur an Hosts im Netzwerk gebunden werden, die direkt mit dem Router verbunden sind. Das Gateway des Hosts befindet sich auf dem Router.

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

Sowohl Curl als auch Pythonrequests sind leistungsstarke Tools zum Senden von HTTP-Anfragen. Während Curl ein Befehlszeilentool ist, mit dem Sie Anfragen direkt vom Terminal aus senden können, bietet die Requests-Bibliothek von Python eine eher programmatische Möglichkeit, Anfragen aus Python-Code zu senden. Die grundlegende Syntax zum Konvertieren des Curl-Befehls in den Pythonrequestscurl-Befehl lautet wie folgt: curl[OPTIONS]URL Beim Konvertieren des Curl-Befehls in eine Python-Anfrage müssen wir die Optionen und die URL in Python-Code konvertieren. Hier ist ein Beispiel für einen CurlPOST-Befehl: curl-XPOST https://example.com/api

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Jul 29, 2023 pm 05:07 PM

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL für HTTP-Anfragen. Einführung: Bei der Webentwicklung ist es häufig erforderlich, mit APIs von Drittanbietern oder anderen Remote-Servern zu kommunizieren. Die Verwendung von cURL zum Senden von HTTP-Anfragen ist eine gängige und leistungsstarke Methode. In diesem Artikel wird erläutert, wie Sie mit PHP cURL erweitern, um HTTP-Anfragen auszuführen, und einige praktische Codebeispiele bereitstellen. 1. Vorbereitung Stellen Sie zunächst sicher, dass PHP die cURL-Erweiterung installiert hat. Zur Überprüfung können Sie php-m|grepcurl in der Befehlszeile ausführen

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Jul 08, 2023 pm 09:13 PM

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Vor kurzem hat PHP offiziell die neueste Version von PHP8.1 veröffentlicht, die eine wichtige Funktion eingeführt hat: Curl für die gleichzeitige Verarbeitung mehrerer Anfragen. Diese neue Funktion bietet Entwicklern eine effizientere und flexiblere Möglichkeit, mehrere HTTP-Anfragen zu verarbeiten und verbessert so die Leistung und das Benutzererlebnis erheblich. In früheren Versionen erforderte die Bearbeitung mehrerer Anfragen häufig die Erstellung mehrerer Curl-Ressourcen und die Verwendung von Schleifen zum Senden bzw. Empfangen von Daten. Obwohl diese Methode den Zweck erreichen kann

So überprüfen Sie die IP-Adresse auf WeChat So überprüfen Sie die IP-Adresse auf WeChat May 31, 2023 am 09:16 AM

So überprüfen Sie die IP-Adresse auf WeChat: 1. Melden Sie sich bei der Computerversion von WeChat an, klicken Sie mit der rechten Maustaste auf die Taskleiste am unteren Bildschirmrand und klicken Sie auf „Task-Manager“. 2. Wenn der Task-Manager angezeigt wird, klicken Sie auf „; Details“ in der unteren linken Ecke; 3. Aufgabenverwaltung Geben Sie die Option „Leistung“ des Browsers ein und klicken Sie auf „Ressourcenmonitor öffnen“; 4. Wählen Sie „Netzwerk“ und überprüfen Sie den WeChat-Prozess „Wechat.exe“; 5. Klicken Sie auf „ TCP-Verbindung“ unten, um die IP-bezogene Situation des WeChat-Netzwerks zu überwachen. Wenn Sie eine Nachricht senden und eine Antwort erhalten, wird die IP-Adresse der anderen Person angezeigt.

So legen Sie die Verzeichnis-Whitelist und die IP-Whitelist in Nginx fest So legen Sie die Verzeichnis-Whitelist und die IP-Whitelist in Nginx fest May 18, 2023 pm 03:52 PM

1. Legen Sie die Verzeichnis-Whitelist fest: Es gibt keine Einschränkung für den angegebenen Anforderungspfad. Wenn es keine Einschränkung für den Anforderungspfad zum API-Verzeichnis gibt, kann er als server{location/app{proxy_passhttp://192.168.1.111 geschrieben werden: 8095/app ;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nodelay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#Weil Nginx der genauen Übereinstimmung Priorität einräumt

See all articles