Heim  >  Artikel  >  Backend-Entwicklung  >  Tipps für die PHP-Fake-Quelle HTTP_REFERER

Tipps für die PHP-Fake-Quelle HTTP_REFERER

墨辰丷
墨辰丷Original
2018-06-09 09:30:001834Durchsuche

Dieser Artikel stellt hauptsächlich die Techniken zum Fälschen der Quelle HTTP_REFERER in PHP vor. Ich hoffe, dass er für alle hilfreich ist.

Das Beispiel dieses Artikels beschreibt die Methode zum Fälschen des Quell-HTTP_REFERER in PHP. Die spezifische Analyse lautet wie folgt:

Automatische Forum-Posting-Maschinen, automatische Top-Posting-Maschinen usw. sind sehr beliebt Im Internet gibt es heute große Veränderungen, und es gibt viele Spam-Informationen. Viele Websites verwenden einfach den Wert von HTTP_REFERER, um Maschinenbeiträge zu filtern. Alles ist ein zweischneidiges Schwert. Solange man es gut nutzt, hat es seinen Wert.

Vor langer Zeit konnte das Herunterladen von Software wie Flashget, Thunder usw. Quellinformationen fälschen, und der gefälschte HTTP_REFERER dieser Software basierte hauptsächlich auf dem zugrunde liegenden Sock, um falsche http-Header-Informationen zu erstellen, um den Zweck zu erreichen . In diesem Artikel wird die Methode zum Fälschen von HTTP_REFERER in der PHP-Sprache aus rein technischer Sicht erläutert, um den Prozess für alle verständlich zu machen und eine bessere Verteidigung zu gewährleisten.

Umgebung: Apache/2.2.8 + PHP/5.2.5 + Windows XP-System, lokale Tests.
Erstellen Sie zunächst zwei Dateien 1.php und 2.php im virtuellen Stammverzeichnis der Website.
Unter diesen ist der Inhalt der 1.php-Datei wie folgt:

<?php
$host = &#39;127.0.0.1&#39;;
$target = &#39;/2.php&#39;;
$referer = &#39;http://www.PHP.cn&#39;; //伪造HTTP_REFERER地址
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp){
echo "$errstr($errno)<br />\n";
} 
else{
$out = "
GET $target HTTP/1.1
Host: $host
Referer: $referer
Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)){
echo fgets($fp, 1024);
}
fclose($fp);
}
?>

Die andere 2.php-Datei ist sehr einfach. Schreiben Sie einfach eine Codezeile, um den aktuellen HTTP_REFERER-Serverwert zu lesen folgt:

<?php
echo "<hr />";
echo $_SERVER["HTTP_REFERER"];
?>

Führen Sie die 1.php-Datei aus und öffnen Sie http://localhost/1.php. Die Seite gibt die folgenden Informationen zurück:

HTTP/1.1 200 OK Datum: Fr, 04. April 2008 16:07: 54 GMT Server: Apache/2.2.8 (Win32) PHP/5.2.5 X-Powered-By: PHP/5.2.5 Inhaltslänge: 27 Verbindung: schließen Inhaltstyp: Text /html; charset=gb2312

Siehst du das Ergebnis? Die gefälschten HTTP_REFERER-Quelleninformationen waren erfolgreich. Wenn Ihre Website nur HTTP_REFERER beurteilt, ist sie auch nicht sicher. Eine einfache Verteidigungsmethode besteht darin, der Verifizierungsseite einen Bestätigungscode hinzuzufügen.

Ergänzung: Der Code für gefälschte Quellen unter ASP lautet wie folgt:

<%
dim http 
set http=server.createobject("MSXML2.XMLHTTP") &#39;//MSXML2.serverXMLHTTP也可以
Http.open "GET",url,false 
Http.setRequestHeader "Referer","http://www.jb51.net/" 
Http.send()
%>

Wenn Sie eine nachdenkliche Person sind, verwenden Sie diese Methoden bitte nicht in böswilliger Absicht, denn wenn Sie zu viel Böses tun Wenn Sie beispielsweise viele Spam-Beiträge veröffentlichen, werden Sie möglicherweise kurzfristig viele externe Links erhalten, aber solche Black-Hat-Methoden werden früher oder später von Suchmaschinen entdeckt Diese verschickten Links sind wie Wasser, das nicht eingesammelt werden kann. Wenn Sie zurückkommen, unterliegen solche belastenden Beweise nicht mehr Ihrer Kontrolle.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

PHP-String- und Prozesssteuerungsmethoden

PHP realisiert die Zeichenkonvertierung in voller Breite -width-Methode

Funktion zum Konvertieren eines digitalen PHP-Betrags in einen chinesischen Kapitalbetrag

Das obige ist der detaillierte Inhalt vonTipps für die PHP-Fake-Quelle HTTP_REFERER. 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