Heim  >  Artikel  >  Backend-Entwicklung  >  So verbieten Sie Hotlinking in PHP

So verbieten Sie Hotlinking in PHP

藏色散人
藏色散人Original
2020-09-01 10:11:023010Durchsuche

So verhindern Sie Hotlinking in PHP: Definieren Sie zunächst einen „$key=sdkfjwojf32413“ in der öffentlichen Datei der Website. Generieren Sie dann eine zufällige Zahl. Anschließend wird eine MD5-verschlüsselte Zeichenfolge generiert die Software und speichern Sie einfach den Zertifikatscode in der Sitzung.

So verbieten Sie Hotlinking in PHP

Empfohlen: „PHP-Video-Tutorial

Hot-Links verweisen auf Inhalte, die der Dienstanbieter selbst nicht bereitstellt, und nutzen technische Mittel, um andere nützliche Endbenutzerschnittstellen (z. B. Werbung) zu umgehen. , Endbenutzern direkt Dienstinhalte anderer Dienstanbieter auf ihren eigenen Websites bereitzustellen, um Endbenutzer um ihre Browsing- und Klickraten zu betrügen. Der Begünstigte stellt keine oder nur sehr wenige Ressourcen bereit, während der eigentliche Leistungserbringer keinen Nutzen erhält. Das Verhindern von Hotlinking ist eine wichtige Aufgabe für jeden Website-Entwickler.

Eine gute Arbeit bei der Verhinderung von Hotlinking kann den Druck auf den Website-Server erheblich verringern. Hier stellen wir eine Methode zur Implementierung von Anti-Hotlinking in PHP vor:

Allgemeine Download-Schritte: Suchen -> Suchergebnisliste ausgeben -> Rufen Sie die Seite mit den Softwaredetails auf in der öffentlichen Datei der Website, was einem Schlüssel entspricht.

Generieren Sie auf der Download-Seite eine Zufallszahl: $certcode = '84615354' (die generierte Zahl ist jedes Mal anders, wenn Sie sie öffnen)

Dann verwenden Verwenden Sie die beiden oben genannten Variablen und die ID der Software, um eine md5()-verschlüsselte Zeichenfolge zu generieren . Sie können die Softwareadresse aus der darauf basierenden Datenbank finden: $codekey=md5($id.$certcode.$key) Dann speichern Sie den Certcode in der Sitzung

Holen Sie sich den Codekey und die ID in den Parametern von file.php , holen Sie sich dann den $key aus der öffentlichen Datei und holen Sie sich dann den $certcode aus der Sitzung

Überprüfen Sie den Codekey, um zu sehen, ob er korrekt ist, beenden Sie den Vorgang, andernfalls führen Sie die folgenden Vorgänge aus

1. Löschen Sie die Sitzung (das erneute Öffnen dieser Adresse ist ungültig)

2. Lesen Sie die Softwareadresse aus der Datenbank, lesen Sie dann den Softwareinhalt und geben Sie ihn aus (mithilfe der PHP-Datei). Die Lesemethode gibt stattdessen den Inhalt der herunterzuladenden Software aus Geben Sie ihm direkt die Download-Adresse)

Wenn Sie also herunterladen möchten, müssen Sie Ihre eigene Download-Seite öffnen und die Adresse von Ihrer Download-Seite zum Herunterladen öffnen. Die Download-Adresse ist jedes Mal verfügbar. Sie sind alle unterschiedlich , weil die generierten Zufallszahlen unterschiedlich sind

Auch wenn Sie anderswo mit Ihrer Download-Adresse verbunden sind, können Sie sie nicht herunterladen.

Erweiterte Lesart (spezifische Implementierung):

1. Einfaches Anti-Hotlinking

$ADMIN[defaulturl] = "http://www.vvschool.cn/404.htm";//盗链返回的地址 
$okaysites = array("http://www.vvschool.cn/","http://www.siyizhu.com"); //白名单 
$ADMIN[url_1] = "http://www.vvschool.cn/temp/download/";//下载地点1 
$ADMIN[url_2] = "";//下载地点2,以此类推 
   
$reffer = $HTTP_REFERER; 
if($reffer) { 
$yes = 0; 
while(list($domain, $subarray) = each($okaysites)) { 
if (ereg($subarray,"$reffer")) { 
$yes = 1; 
} 
} 
$theu = "url"."_"."$site"; 
if ($ADMIN[$theu] AND $yes == 1) { 
header("Location: $ADMIN[$theu]/$file"); 
} else { 
header("Location: $ADMIN[defaulturl]"); 
} 
} else { 
header("Location: $ADMIN[defaulturl]"); 
}

Dateiname?site=1&file=Dateiverwendungsmethode: Speichern Sie den obigen Code als dao4.php, zum Beispiel validatecode.rar I Zum Testen wird auf meiner Website der folgende Code verwendet, um den Download-Link darzustellen:

3. Software-Download-Anti-Hotlinking-Methode: (1) IIS-Anti -Hotlinking mit ISAPI_Rewrite kann als Lösung für Anti-Hotlinking unter Windows verwendet werden; tatsächlich gibt es viele Anti-Hotlinking-Methoden als Referenz:

(2) Anti-Hotlinking von Bildern, Hinzufügen von Wasserzeichen zu Bildern, obwohl Hotlinker Es kann das Ziel erreichen, aber es fördert auch Ihre eigene Website.

Das Obige ist die Grundidee und Einstellungsmethode von PHP Anti-Hotlinking. Ich hoffe, dass es für das Lernen aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo verbieten Sie Hotlinking in PHP. 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