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

php防盜鏈的常用方法小結

編輯:PHP綜合
1.簡單防盜鏈
復制代碼 代碼如下:
$ADMIN[defaulturl] = "http://jb51.net/404.htm";//盜鏈返回的地址
$okaysites = array("http://jb51.net/","http://www.jb51.net"); //白名單
$ADMIN[url_1] = "http://jb51.net/temp/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]");
}

?>

使用方法:將上述代碼保存為dao4.php,
比如我測試用的validatecode.rar在我的站點http://jb51.net/temp/download裡面,
則用以下代碼表示下載連接.


CODE: [Copy to clipboard]
文件名?site=1&file=文件

2.服務器防盜鏈
用到iis防盜鏈軟件,可以搜下,網上有很多。s.jb51.net裡面有的下

3.軟件下載的防盜鏈方法

復制代碼 代碼如下:
//放置下載軟件的根目錄相對於當前腳本目錄的相對目錄
$fileRelPath = "../../software";
//例外允許連接的網址,注意:自身域名不需要填入,設定為肯定可以下載,
// 空字符串("")表示直接輸入網址下載的情況
$excludeReferArr = array("www.wjb51.net", "wjb51.net");

chdir($fileRelPath);
$fileRootPath = getcwd() ."/";

$filePath=$HTTP_GET_VARS["file"];

$url=parse_url($_SERVER["HTTP_REFERER"]);

if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){
?>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved