In diesem Artikel wird hauptsächlich die Anti-Hotlinking-Methode in PHP vorgestellt und die damit verbundenen Technologien und spezifischen Implementierungsfähigkeiten in PHP-Anti-Hotlinking anhand von Beispielen analysiert
Die Beispiele in diesem Artikel beschreiben, wie man Hotlinking in PHP verhindert. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
$_SERVER['HTTP_REFERER']
Erwerbsstatus
Beachten Sie, dass $_SERVER['HTTP_REFERER'] möglicherweise nicht immer der Fall ist Es kann nur unter den folgenden Umständen abgerufen werden:
1. Die Umstände, unter denen HTTP_REFERER abgerufen werden kann, sind wie folgt:
1. Verwenden Sie direkt
2. Formular mit Absenden oder (POST oder GET) übermittelt
3. Mit Jscript (POST oder GET) eingereichte Formulare
2. Die folgenden Situationen können nicht abgerufen werden:
1. Link aus Favoriten
2. Klicken Sie auf „Home“ oder die benutzerdefinierte Adresse
3. Verwenden Sie location.href oder location.replace() von Jscript
4. Geben Sie die Adresse direkt in den Browser ein
5. <%Response.Redirect%>
6. <%Response.AddHeader%> oder Adresse mit XML laden
Funktionserklärung: strrpos
Erklärung
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<p></p>
Gibt die numerische Position des letzten Vorkommens von Needle in String $ zurück Heuhaufen. int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<br>
$haystack | 在此字符串中进行查找。 |
$needle | 如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。 |
Rückgabewert
Gibt die Position zurück, an der sich die Nadel befindet. Wenn nicht gefunden, wird FALSE zurückgegeben. Hotlink-Erkennungscode: asd.php<?php //防盗链技术 //先判断是否获取到 $_SERVER['HTTP_REFERER'] 变量 if(isset($_SERVER['HTTP_REFERER'])){ //判断$_SERVER['HTTP_REFERER']是不是以http://localhost/开始的 if(strpos($_SERVER['HTTP_REFERER'],"http://localhost")==0){ echo '<img src="a.png"/>'; } else{ header("Location:warning.php");//跳转页面到warning.php //echo $_SERVER["HTTP_REFERER"]; } } else { header("Location:warning.php"); } ?>
<html> <b>倒链</b> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <a href="http://localhost/wml/asd.php" rel="external nofollow" >验证防盗链</a> </body> </html>
(gif|jpg|jpeg|png|bmp|swf) Whitelist anderer Dateien
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man Hotlinking mit PHP verhindert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!