ホームページ > php教程 > php手册 > PHPで.htaccessを使用してホットリンクを防ぐ最も簡単な方法

PHPで.htaccessを使用してホットリンクを防ぐ最も簡単な方法

WBOY
リリース: 2016-06-21 08:58:18
オリジナル
906 人が閲覧しました

たとえば、画像がすべて img ディレクトリにある場合は、次の内容を含む .htaccess という名前のファイルをそのディレクトリに置きます。

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [ NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

RewriteRule ^(.*)$ http://image. simcole.cn/image/$1 [L]

大まかな説明:

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{ HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

この部分は、リンクがホットであるかどうかを判断するためのものです。上記の条件が真である場合 (つまり、画像へのアクセス要求が URL に直接入力されておらず、simcole.cn や zhuaxia.com からでもありません)。 google.com からのものでも、baidu.com や bloglines.com からのものでもない場合は、次のリダイレクトを実行します:

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

img ディレクトリ内の jpg、gif、png、bmp、swf、jpeg ファイルをホットリンクしているすべての Web ページで、表示されている画像が画像ディレクトリ内の replace.gif 画像に置き換えられることを意味します。置き換えられたイメージは、アンチホットリンクが設定されている img ディレクトリに配置しないでください。上記のルールに従って、画像リクエストがホットリンクではないと判断された場合、次のリダイレクトが実行されます:

RewriteRule ^(.*)$ http://image.simcole.cn/image/$1 [L]

これは、img ディレクトリの下にあるすべてのリクエストがターゲット サーバーにリダイレクトされることを意味します。たとえば、画像の元の URL は http://www.simcole.cn/img/girl.jpg になります。 http://image.simcole.cn/image/girl.jpg にリダイレクトされます。もちろん、リダイレクトを実際に使用できるようにするには、まず元のサーバーの img ディレクトリにあるすべてのファイルを一時サーバーのイメージ ディレクトリにコピーする必要があります。その効果は、元のサーバーから画像をダウンロードすることによって占有されるすべてのトラフィックを節約し、一時サーバーに負担させることです

とても簡単ですね。試してみてください。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート