ホームページ  >  記事  >  バックエンド開発  >  PHP_PHPチュートリアルで画像ファイルの盗難リンクを禁止する方法

PHP_PHPチュートリアルで画像ファイルの盗難リンクを禁止する方法

WBOY
WBOYオリジナル
2016-07-13 17:36:39837ブラウズ

1. 画像へのリンクが許可されているホスト ドメイン名が www.test.com であると仮定します。

2. httpd.confを変更します

SetEnvIfNoCase リファラー "^http://www.test.com/" local_ref=1


注文許可、拒否
env=local_ref から許可


このシンプルなアプリケーションは、写真のホットリンクの問題を解決できるだけでなく、わずかな変更を加えることでファイルのホットリンクの問題を防ぐこともできます。

上記の方法で、指定されていないホストからの画像を接続した場合、画像は表示されません。「ホットリンク禁止」の画像を表示したい場合は、mod_rewriteを使用します。

まず、Apache をインストールするときに、--enable-rewrite パラメーターを追加して mod_rewrite モジュールをロードします。

「禁止されたホットリンク」画像が abc.gif であると仮定すると、httpd.conf で次のように設定できます:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http: //www.test.com/abc.gif [R,L]

ホストの写真が盗まれると、「ホットリンク禁止」の写真 abc.gif のみが表示されます。

盗難防止用の PHP コード

$ADMIN[defaulturl] = "http://www.163.com/404.htm";//ホットリンクによって返されるアドレス
$okaysites = array("http://www. 163.com/","http://163.com"); //ホワイトリスト
$ADMIN[url_1] = "http://www.163.com/download/";//ダウンロード場所 1
$ADMIN [ url_2] = "";//ダウンロード場所 2 など
$reffer = $HTTP_REFERER;
if($reffer) {
$yes = 0;
while(list($domain, $subarray) = each( $ oksites)) {
if (ereg($subarray,"$reffer")) {
$yes = 1;
}
}
$theu = "url"."_"."$site";
if ( $ ADMIN[$theu] AND $yes == 1) {
header("場所: $ADMIN[$theu]/$file");
} else {
header("場所: $ADMIN[defaulturl]");
}
} else {
header("Location: $ADMIN[defaulturl]");
}
?>

手順: 上記のコードを dao4.php として保存します

http://www.bkjia.com/PHPjc/486630.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486630.html技術記事 1. 画像へのリンクが許可されているホスト ドメイン名は www.test.com であるとします。 2. httpd.conf SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1 FilesMatch "を変更します。(gif| jpg)" 注文許可、デ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。