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

So verbieten Sie externes Hotlinking in PHP

藏色散人
藏色散人Original
2020-08-27 09:25:313001Durchsuche

So verbieten Sie externe Hotlinks: Suchen und öffnen Sie zuerst die Datei „.htaccess“ und fügen Sie dann den Inhalt „RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC]“ hinzu.

So verbieten Sie externes Hotlinking in PHP

Empfohlen: „PHP-Video-Tutorial

PHP-Methoden zur Verhinderung von Hotlinking

Einige Websites mögen es nicht, wenn ihre Bilder direkt kopiert und verwendet werden Andere Websites verwenden Anti-Hotlinking-Technologie, sodass beim direkten Kopieren und Verwenden von Website-Bildern die Bilder gemäß den Programmeinstellungen nicht angezeigt werden oder Anti-Hotlinking und andere Wörter angezeigt werden.

Mit der Anti-Hotlinking-Technologie können Sie nicht nur verhindern, dass Ihre Bilder gestohlen werden, sondern auch den Datenverkehr beim Herunterladen von Bildern auf Ihrer Website reduzieren. Wie kann man also Hotlinking in der PHP-Umgebung verhindern? Wir wissen, dass in der PHP-Umgebung normalerweise der Apache-Server verwendet wird. Schauen wir uns daher hauptsächlich die Apache-Anti-Hotlink-Methode an. Tatsächlich wird das gleiche Prinzip in IIS verwendet.

Apache-Anti-Hotlinking:

Die meisten virtuellen Hosts sind Apache, daher ist die bequemste Anti-Hotlinking-Einstellung die Verwendung der .htaccess-Datei. Es gibt viele Möglichkeiten, im Internet zu suchen, deshalb habe ich die Methoden zusammengefasst, die absolut einfach zu verwenden sind. Fügen Sie der .htaccess-Datei den folgenden Code hinzu und ändern Sie ihn.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !60ie.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(png|jpg|gif)$ [R,NC,L]

Code-Erklärung:

Schauen Sie sich zuerst die letzte Zeile an. Ich habe einen Anti-Hotlink-Schutz für PNG-, JPG- und GIF-Dateien auf der Website. Sobald die Bilder auf meiner Website auf Websites außerhalb der oben genannten Whitelist angezeigt werden Am Ende wird ein Bild in einer Codezeile angezeigt.

Nginx-Anti-Hotlinking:

Nginx unterstützt .htaccess nicht, daher ist die Einrichtung etwas mühsam. Öffnen Sie zunächst mit einem Texteditor die Datei /usr/local/nginx/conf/nginx.conf (wenn Sie vhost verwenden, gehen Sie zu vhost, um die entsprechende Conf-Datei zu finden

) und gleichen Sie den folgenden Code in server{ ab. } Direkt im Absatz. Beachten Sie, dass ich nicht vom Kopieren, sondern vom Abgleichen spreche.

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
valid_referers none blocked *.ilucong.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk
*.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer) {
rewrite ^/ ;
#return 404;
}
}

Hinweis: Versuchen Sie, zum Bearbeiten nicht den mit Windows gelieferten Editor zu verwenden, da nach der Bearbeitung unregelmäßige Zeilen auftreten können. Starten Sie den Ngnix-Dienst neu, damit er wirksam wird

Das obige ist der detaillierte Inhalt vonSo verbieten Sie externes 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