PHP を使用して画像ファイルやダウンロードされたファイルのホットリンクを防ぐ方法
この記事の例では、PHP で画像ファイルやダウンロードされたファイルのホットリンクを防ぐ方法を説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
PHP でホットリンクを防ぐ最も簡単な方法は、PHP の $_SERVER['HTTP_REFERER'] 関数を使用して操作することですが、この方法は最終的には apache と iis を使用して操作する必要があります。 :
php アンチホットリンク:
コードをコピーします コードは次のとおりです:
session_start();
session_register('チェック');
$_SESSION['check']=true;
?>
セッション変数を確認して、ホームページにアクセスするかどうかを決定します。そして、ソース Web ページ参照 (HTTP_REFERER) がローカル Web サイト上の Web ページからのものであるかどうかを確認します。
方法は次のとおりです。
コードをコピーします コードは次のとおりです:
session_start();
$refs = parse_url($_SERVER['HTTP_REFERER']) //参照Webページ情報を分解します
//ホームページセッションとソースホストが同じかどうかを確認します
if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST'])
終了します;
?>
注: これはホットリンクを防ぐためにのみ使用できます。少しでも知識があれば、解読できます。
サーバーを使用して PHP 盗難防止接続をセットアップします
Apache アンチホットリンク:
httpd.confを変更します:
コードをコピーします コードは次のとおりです:
SetEnvIfNoCase Referer "^" local_ref=1
<ファイルマッチ「.(gif|jpg)」>
注文の許可、拒否
env=local_ref から許可する
ファイルマッチ>
「ホットリンク禁止」の画像を表示したい場合は、mod_rewrite を使用してこれを実現できます。
まず、Apache をインストールするときに、 --enable-rewrite パラメータを追加して mod_rewrite モジュールをロードします。
「ホットリンクなし」画像が abc.gif であると仮定すると、httpd.conf で次のように設定できます:
コードをコピーします コードは次のとおりです:RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?www.jb51.net /.*$ [NC]
RewriteRule .(gif|jpg)$ abc.gif [R,L]
ドキュメントルート "/usr/local/apache/htdocs"
#サイトのHTMLファイルが保存されるディレクトリを設定します。
<ディレクトリ />
オプション FollowSymLinks
許可オーバーライドなし
ディレクトリ>
iis アンチホットリンク:
実行ファイルとして c:RewriteRewrite.dll を選択するだけです
httpd.ini は設定ファイルです
画像ホットリンク保護コード
コードをコピーします
コードは次のとおりです:[ISAPI_Rewrite]
#3600 = 1時間
キャッシュクロックレート 3600
リピートリミット 32
# httpd.ini ファイルと httpd.parse.errors ファイルを保護します
# HTTP 経由でのアクセスから
RewriteCond ホスト: (.+)
RewriteCond リファラー: (?!http://1.*).*
RewriteRule .*.(?:gif|jpg|png|bmp) /force.gif [I,O]
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/904934.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/904934.html技術記事 PHP で画像ファイルとダウンロード ファイルのホットリンクを防止する方法 この記事では、PHP で画像ファイルとダウンロード ファイルのホットリンクを防止する方法について説明します。参考のためにみんなで共有してください。具体的な分析は以下の通りです...