ここで説明するアンチホットリンク コードは、PHP ソリューションのみに焦点を当てています。もちろん、サーバー管理権限または htaccess ファイル操作を持っている場合は、PHP アンチホットリンク コードを使用しないことをお勧めします。
最初に最も単純なものを見てみましょう
以下はphpで実装されたコードです。xxx.mp3は音楽ファイルの実際のアドレスであり、外部に配布する場合はphpのアドレスのみが公開され、mp3のアドレスは外部に公開されません。
コードは次のとおりです
| コードをコピー
|
if(strpos($_SERVER['HTTP_REFERER'], 'qq.com') !== FALSE) {
header('HTTP/1.1 404 が見つかりません');
終了します;
}
readfile('xxx.mp3');
?>
ホワイトリストに追加する方法
コードは次のとおりです
| コードをコピー
|
/**
* @著者セラフィム
* @copyright 2012
*/
$ADMIN = 配列(
'defaulturl'=> 'http://www.xx.com/images/banner-header.gif', //ホットリンクによって返されるアドレス
'url_1' => 'http://www.xx.net/file'、
'url_2' => 'http://www.xx.net/file1',
);
$okaysites = array(
「http://box.baidu.com」、
'http://tieba.baidu.com/p/1493336008', //ホワイトリスト
「http://www.xx.com/1.html」、
);
$reffer = $_SERVER['HTTP_REFERER']
if ($reffer) {
$はい = 0;
while (list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray, "$reffer")) {
$はい = 1;
}
}
$theu = 'url_' . $_GET['サイト'];
$file = $_GET['ファイル']
if ($ADMIN[$theu] および $yes == 1) {
header("場所: $ADMIN[$theu]/$file");
} その他 {
header("場所: $ADMIN[defaulturl]");
}
} その他 {
header("場所: $ADMIN[defaulturl]");
}
print_r($_SERVER['HTTP_REFERER']);
?>
インスタンス 3 [ホワイトリスト 2 をサポート]
コードは次のとおりです
コードをコピー
$ADMIN[defaulturl] = "http://www.bKjia.c0m/404.htm";//ホットリンクによって返されるアドレス
$okaysites = array("http://www.bKjia.c0m/","http://bKjia.c0m"); //ホワイトリスト |
$ADMIN[url_1] = "http://www.bKjia.c0m/download/";//ダウンロード場所 1
$ADMIN[url_2] = "";//ダウンロード場所 2 など |
$reffer = $HTTP_REFERER;
if($reffer) {
$はい = 0;
while(list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray,"$reffer")) {
$はい = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("場所: $ADMIN[$theu]/$file");
} その他 {
header("場所: $ADMIN[defaulturl]");
}
} その他 {
header("場所: $ADMIN[defaulturl]");
}
?>
アンチホットリンクを実装するにはさまざまな方法があります。たとえば、一部のサイトでは HTML を生成しますが、これは iis、apache、htaccess ではあまり便利ではありません。
|
http://www.bkjia.com/PHPjc/631618.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/631618.html
技術記事
ここで説明するアンチホットリンク コードは、PHP ソリューションのみに焦点を当てています。もちろん、サーバー管理権限または htaccess ファイル操作がある場合は、PHP アンチホットリンク コードを使用しないことをお勧めします。 一番見てみましょう...