亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

PHP防盜鏈的基本思想

時間:2025-11-10 23:08:53 php語言

PHP防盜鏈的基本思想

  網站盜鏈會大量消耗被盜鏈網站的帶寬,而真正的點擊率也許會很小,嚴重損害了被盜鏈網站的利益。本文主要介紹用PHP實現防盜鏈的方法以及基本思想,希望對你有幫助,一起來看。

  盜鏈是指服務提供商自己不提供服務的內容,通過技術手段繞過其它有利益的最終用戶界面(如廣告),直接在自己的網站上向最終用戶提供其它服務提供商的服務內容,騙取最終用戶的瀏覽和點擊率。受益者不提供資源或提供很少的資源,而真正的服務提供商卻得不到任何的收益。做好防止盜鏈的工作,是每個網站開發(fā)者的重要工作。

  做好防盜鏈工作能給網站服務器減少不少壓力,這里我們分享一種php防盜鏈的實現方法:

  一般的下載的步驟:查找->輸出查找結果列表->進入軟件詳細頁面->點擊下載按鈕->打開下載頁面->點擊下載,開始下載

  我的方法就是在下載頁面做文章

  首先在網站的公共文件里定義一個$key=sdkfjwojf32413這相當于一個密鑰一樣

  在下載頁面生成一個隨機數:$certcode = '84615354' (每次打開生成的都不一樣)

  然后用以上兩個變量和軟件的ID生成一個md5()加密串

  然后生成軟件的真實下載地址:file.php?id=5&codekey=ksfjwofsdkfsf

  這里的id是軟件的編號可以根據他從數據庫找到軟件地址 $codekey=md5($id.$certcode.$key)

  然后把certcode保存到session里,

  在file.php的參數里面得到的codekey和id再從公共文件里得到$key 再從session里得到$certcode

  對codekey進么驗證,看是否正確,如果不正確就退出,否則就進行如下操作

  1、刪除session(再次打開這個地址就無效了)

  2、從數據庫里讀取軟件地址,然后讀取軟件內容,并輸出(用PHP的文件讀取方法輸出要下載的軟件內容而不是直接把地址給他下載)

  這樣如果要下載,就必須打開你自己的下載頁面,從你的下載頁面打開地址才能進行下載,而且下載地址每次都不一樣,因為生成的隨機數不一樣

  別的地方就算連到你的下載地址,也是下載不了的。

  拓展閱讀(具體實現):

  1.簡單防盜鏈

  $ADMIN[defaulturl] = "/pic/404.htm";/pic/p>

  $okaysites = array("/pic/","/pic/pic/p>

  $ADMIN[url_1] = "/pic/temp/download/";/pic/p>

  $ADMIN[url_2] = "";/pic/p>

  $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在我的站點里面,則用以下代碼表示下載連接.

  文件名?site=1&file=文件

  2.服務器防盜鏈

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

  /pic/p>

  $fileRelPath = "../../software";

  /pic/p>

  /pic/p>

  $excludeReferArr = array("www.wreny.com", "wreny.com");

  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)){

  ?>

【PHP防盜鏈的基本思想】相關文章:

php防盜鏈實例11-06

php簡單防盜鏈實現方法02-28

php防盜鏈的常用方法小結12-23

php下通過偽造http頭破解防盜鏈的代碼02-09

PHP學習:PHP拼音類01-25

php正則去掉php注釋09-25

php學習之php配置03-11

php與php MySQL之間的關系03-03

什么是PHP PHP與ASP比較03-11