Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erläuterung von Beispielen für Methoden zur Verhinderung von Hotlinking in PHP

Ausführliche Erläuterung von Beispielen für Methoden zur Verhinderung von Hotlinking in PHP

墨辰丷
Freigeben: 2023-03-26 18:14:02
Original
1824 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Anti-Hotlinking-Methode in PHP vor und analysiert die zugehörigen Technologien und spezifischen Implementierungstechniken in PHP-Anti-Hotlinking in Form von Beispielen

Die Details sind wie folgt:

$_SERVER['HTTP_REFERER']Erwerbsstatus

Hinweis $_SERVER['HTTP_REFERER'] kann nur wie folgt abgerufen werden Umstände:

1. Die Situationen, in denen HTTP_REFERER abgerufen werden kann, sind wie folgt:

1. Verwenden Sie direkt
2. Formular mit Submit 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

strrpos – Berechnet die Position des letzten Vorkommens der angegebenen Zeichenfolge in der Zielzeichenfolge

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[&#39;HTTP_REFERER&#39;] 变量
if(isset($_SERVER[&#39;HTTP_REFERER&#39;])){
  //判断$_SERVER[&#39;HTTP_REFERER&#39;]是不是以http://localhost/开始的
  if(strpos($_SERVER[&#39;HTTP_REFERER&#39;],"http://localhost")==0){
    echo &#39;<img src="a.png"/>&#39;;
  }
  else{
    header("Location:warning.php");//跳转页面到warning.php
    //echo $_SERVER["HTTP_REFERER"];
  }
}
else {
  header("Location:warning.php");
}
?>
Nach dem Login kopieren

warning.php

<html>
<b>倒链</b>
</html>
Nach dem Login kopieren

Anti-Hotlink-Bestätigungscode

<!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>
Nach dem Login kopieren

Das Obige ist das Verständnisprinzip

Im Allgemeinen ist der Anti-Hotlink-Schutzcode konfiguriert durch Konfiguration des Servers, z. B. Nginx-Konfigurationszugriff

(gif|jpg|jpeg|png|bmp|swf) Whitelist anderer Dateien

Die spezifische Konfiguration kann auf Baidu gesucht werden

Verwandte Empfehlungen:

NginxAnti-Hotlinking und Nginx-Zugriffskontrolle und Nginx-Parsing-PHP-Konfiguration

Wie wäre es mit der PHP-Implementierung Anti-HotlinkingAusführliche Erklärung

PHP-CrackAnti- Hotlinking

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für Methoden zur Verhinderung von Hotlinking in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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