ホームページ >バックエンド開発 >PHPチュートリアル >Nginx でホットリンクを防ぐ 3 つの方法
1: 一般的なホットリンク対策保護は次のとおりです:
<code>location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www<span>.jzxue</span><span>.com</span> jzxue<span>.com</span><span>; </span> if ($invalid_referer) { rewrite ^/ http://www<span>.jzxue</span><span>.com</span>/retrun<span>.html</span><span>; </span><span>#return 403; </span> } } </code>
最初の行: gif|jpg|png|swf|flv
gif、jpg、png、swf、flv のサフィックスを持つファイルがホットリンクから保護されていることを示します
2 行目: www.ingnix.com の 2 つの起源の判断を示します
if{} の内容は、指定したソースでない場合に http://www.jzxue.com/retrun.html ページにジャンプするという意味です。 もちろん、直接 403. of を返すことも可能です。 。
2: 画像ディレクトリのホットリンクを防止する
<code>location /images<span>/</span> { alias /<span>data</span>/images<span>/</span>; valid_referers <span>none</span> blocked server_names <span>*</span><span>.</span>xok<span>.</span>la xok<span>.</span>la ; <span>if</span> (<span>$invalid_referer</span>) {<span>return</span><span>403</span>;} } </code>
3: サードパーティモジュール ngx_http_accesskey_module を使用して Nginx ホットリンク防止を実装する
実装方法は以下の通りです
1. NginxHttpAccessKeyModule モジュール ファイルをダウンロードします: http://wiki.nginx.org/File:Nginx-accesskey-2.0.3.tar.gz;
2. このファイルを解凍した後、nginx-accesskey-2.0.3 で設定ファイルを見つけます。このファイルを編集します。「$HTTP_ACCESSKEY_MODULE」を「ngx_http_accesskey_module」に置き換えます。
3. 次のパラメータを使用して nginx を再コンパイルします:
<code>./configure --<span>add</span>-<span>module</span>=path/<span>to</span>/nginx-accesskey <<pestd <span>add</span></code>
<code><span>location</span> /download { <span>accesskey</span><span>on</span>; <span>accesskey_hashmethod</span> md5; <span>accesskey_arg</span><span>"key"</span>; <span>accesskey_signature</span><span>"mypass<span>$remote_addr</span>"</span>; }</code>
accesskey_hashmethod は暗号化方式 MD5 または SHA-1 です。
accesskey_arg は URL のキーワード パラメータです。
accesskey_signature は暗号化された値で、ここでは mypass とアクセス IP で構成される文字列です。
テスト スクリプト download.php にアクセスします:
<code><span><span><?</span><span>$ipkey</span>= md5(<span>"mypass"</span>.<span>$_SERVER</span>[<span>'REMOTE_ADDR'</span>]); <span>$output_add_key</span>=<span>"<a href=http://www.jzxue.com/download/G3200507120520LM.rar?key="</span>.<span>$ipkey</span>.<span>">download_add_key</a><br />"; <span>$output_org_url</span>=<span>"<a href=http://www.jzxue.com/download/G3200507120520LM.rar>download_org_path</a><br />"</span>; <span>echo</span><span>$output_add_key</span>; <span>echo</span><span>$output_org_url</span>; <span>?></span></code>
上記では、Nginx のホットリンク対策の 3 つの方法を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。