程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 防盜鏈的PHP代碼,防盜鏈PHP代碼

防盜鏈的PHP代碼,防盜鏈PHP代碼

編輯:關於PHP編程

防盜鏈的PHP代碼,防盜鏈PHP代碼


<?php
/*
使用方法:將上述代碼保存為dao4.php,
比如測試用的validatecode.rar在站點http://www.niuzen.com裡面,
則用以下代碼表示下載連接.
文件名?site=1&file=文件  
例如以下URL.復制到你的站點下試試
http://www.coolcodes.cn/dao4.php?site=1&file=validatecode.rar 
以上代碼測試可用
*/
$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($okaysites)) {
if (ereg($subarray,"$reffer")) {
$yes = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("Location: $ADMIN[$theu]/$file");
} else {
header("Location: $ADMIN[defaulturl]");
}
} else {
header("Location: $ADMIN[defaulturl]");
}
 
?>

  詳細說明:http://php.662p.com/thread-456-1-1.html


php設置防盜鏈的代碼

這個用php實現反而更消耗資源,建議從服務器入手, 改apache配置
下面是php實現的代碼, xxx.mp3就是你的音樂文件的實際地址, 對外傳播的時候只傳播php地址,mp3地址對外不公開
<?php
if(strpos($_SERVER['HTTP_REFERER'], 'qq.com') !== FALSE) {
header('HTTP/1.1 404 Not Found');
exit;
}
readfile('xxx.mp3');
?>
 

教對於PHP打開防盜鏈圖片的代碼含義

我初學php,只能幫你解釋下這個表達式的意思,至於占不占服務器帶寬,因為沒有接觸過,不了解。

readfile()函數讀入一個文件並寫入到輸出緩沖,如果“fopen wrappers”已經被激活,則在本函數中可以把 URL 作為文件名來使用。

你這個例子裡的參數$_GET['url']應該是個數組,'url'是索引,值應該是個url地址,所以結合上面readfile()函數的解釋,就是把url地址作為文件名寫入到輸出緩存。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved