日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

PHP做好防盜鏈的設(shè)置方法_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:如何使用PHP實現(xiàn)javascript的escape和unescape函數(shù)
前端開發(fā)工程師都知道javascript有編碼函數(shù)escape()和對應的解碼函數(shù)unescape(),而php中只有個urlencode和 urldecode,這個編碼和解碼函數(shù)對encodeURI和encodeURIComponent有效,但是對escape的是無效的。 javascript中的escape()函數(shù)和unescape()函數(shù)用戶字符串編碼

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

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

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

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

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

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

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

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

這里的id是軟件的編號可以根據(jù)他從數(shù)據(jù)庫找到軟件地址 $codekey=md5($id.$certcode.$key)
然后把certcode保存到session里,

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

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

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

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

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

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

拓展閱讀(具體實現(xiàn)):

1.簡單防盜鏈

  1. $ADMIN[defaulturl] = "http://www.vvschool.cn/404.htm";//盜鏈返回的地址  
  2. $okaysites = array("http://www.vvschool.cn/","http://www.siyizhu.com"); //白名單   
  3. $ADMIN[url_1] = "http://www.vvschool.cn/temp/download/";//下載地點1  
  4. $ADMIN[url_2] = "";//下載地點2,以此類推  
  5.  
  6. $reffer = $HTTP_REFERER;  
  7. if($reffer) {  
  8. $yes = 0;  
  9. while(list($domain, $subarray) = each($okaysites)) {  
  10. if (ereg($subarray,"$reffer")) {  
  11. $yes = 1;  
  12. }  
  13. }  
  14. $theu = "url"."_"."$site";  
  15. if ($ADMIN[$theu] AND $yes == 1) {  
  16. header("Location: $ADMIN[$theu]/$file");  
  17. } else {  
  18. header("Location: $ADMIN[defaulturl]");  
  19. }  
  20. } else {  
  21. header("Location: $ADMIN[defaulturl]");  
  22. }?> 

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

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

2.服務器防盜鏈

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

  1. //放置下載軟件的根目錄相對于當前腳本目錄的相對目錄  
  2. $fileRelPath = "../../software";  
  3. //例外允許連接的網(wǎng)址,注意:自身域名不需要填入,設(shè)定為肯定可以下載,  
  4. // 空字符串("")表示直接輸入網(wǎng)址下載的情況  
  5. $excludeReferArr = array("www.wreny.com", "wreny.com");  
  6. chdir($fileRelPath);  
  7. $fileRootPath = getcwd() ."/";  
  8. $filePath=$HTTP_GET_VARS["file"];  
  9. $url=parse_url($_SERVER["HTTP_REFERER"]);  
  10. if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){   
  11. ?> 

其實,反盜鏈方式也有不少, 這里只列出一個大概思想作為參考:⑴ IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;⑵ 圖片反盜鏈,在圖片中加入水印,雖然盜鏈者可以達到目的,但是卻也在為自己的網(wǎng)站做宣傳。

分享:使用PHP會話(Session)實現(xiàn)用戶登陸功能
對比起 Cookie,Session 是存儲在服務器端的會話,相對安全,并且不像 Cookie 那樣有存儲長度限制,本文簡單介紹 Session 的使用。 由于 Session 是以文本文件形式存儲在服務器端的,所以不怕客戶端修改 Session 內(nèi)容。實際上在服務器端的 Session 文件,PHP 自動修改

來源:模板無憂//所屬分類:PHP教程/更新時間:2013-07-02
相關(guān)PHP教程