ホームページ >バックエンド開発 >PHPの問題 >PHPで外部ホットリンクを禁止する方法

PHPで外部ホットリンクを禁止する方法

藏色散人
藏色散人オリジナル
2020-08-27 09:25:313034ブラウズ

php で外部ホットリンクを禁止する方法: 最初に「.htaccess」ファイルを見つけて開き、次にコンテンツ「RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC]」をファイルに追加し、最後に保存します。このファイルで十分です。

PHPで外部ホットリンクを禁止する方法

# 推奨: 「

PHP ビデオ チュートリアル

#ホットリンクを防ぐための PHP 方法

アンチホットリンク技術はすでに非常に一般的です。一部の Web サイトは、自分の写真が他の Web サイトに直接コピーされて使用されることを好まないため、アンチホットリンク技術を使用します。このようにして、他の人が Web サイトを直接コピーして使用するときは、プログラムの設定により、ホットリンク防止などの文字が表示されない、または表示されます。

アンチホットリンク技術を使用すると、写真の盗難を防ぐだけでなく、自分のサイトに写真をダウンロードするトラフィックも節約できます。これは非常に良いことだと思います。 PHP環境? PHP 環境では通常 Apache サーバーが使用されることがわかっているので、主に Apache のホットリンク対策方法を見てみましょう。実際、同じ原理が IIS でも使用されます。

Apache アンチホットリンク:

ほとんどの仮想ホストは Apache であるため、最も便利なアンチホットリンク設定は .htaccess ファイルを使用することです。インターネットで調べる方法はたくさんありますので、絶対に使いやすい方法をまとめました。次のコードを .htaccess ファイルに追加し、変更します。

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]

コードの説明:

最初に最後の行を見てください。Web サイト上の png、jpg、gif ファイルをホットリンクから保護しました。Web サイト上の画像が上記の範囲外になると、ホワイトリストが Web サイトに表示されると、コードの最後の行にあるすべての画像が表示されます。

Nginx アンチホットリンク:

Nginx は .htaccess をサポートしていないため、設定が少し面倒です。まず、テキスト エディタでファイル /usr/local/nginx/conf/nginx.conf を開き (vhost を使用している場合は、vhost に移動して、対応する conf ファイル

を見つけます)、次のコードと一致します。サーバー セクションのすぐ内側。ここで話しているのはコピーではなく、マッチングについてであることに注意してください。{}

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;
}
}

注: 不規則な行が表示される可能性があるため、編集には Windows 付属のメモ帳を使用しないでください。編集後、有効にするために Ngnix サービスを再起動してください。

以上がPHPで外部ホットリンクを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。