自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP做好防盜鏈的基本思想 防盜鏈的設(shè)置方法

開發(fā) 后端
網(wǎng)站盜鏈會(huì)大量消耗被盜鏈網(wǎng)站的帶寬,而真正的點(diǎn)擊率也許會(huì)很小,嚴(yán)重?fù)p害了被盜鏈網(wǎng)站的利益。本文主要介紹用PHP實(shí)現(xiàn)防盜鏈的方法以及基本思想,希望對(duì)你有幫助,一起來看。

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

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

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

我的方法就是在下載頁(yè)面做文章

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

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

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

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

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

在file.php的參數(shù)里面得到的codekey和id再?gòu)墓参募锏玫?key 再?gòu)膕ession里得到$certcode

對(duì)codekey進(jìn)么驗(yàn)證,看是否正確,如果不正確就退出,否則就進(jìn)行如下操作

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

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

這樣如果要下載,就必須打開你自己的下載頁(yè)面,從你的下載頁(yè)面打開地址才能進(jìn)行下載,而且下載地址每次都不一樣,因?yàn)樯傻碾S機(jī)數(shù)不一樣

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

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

1.簡(jiǎn)單防盜鏈

  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/";//下載地點(diǎn)1  
  4. $ADMIN[url_2] = "";//下載地點(diǎn)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,比如我測(cè)試用的validatecode.rar在我的站點(diǎn)http://vvschool.cn/temp/download里面,則用以下代碼表示下載連接.

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

2.服務(wù)器防盜鏈

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

  1. //放置下載軟件的根目錄相對(duì)于當(dāng)前腳本目錄的相對(duì)目錄  
  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. ?> 

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

【編輯推薦】

  1. 8種網(wǎng)站防止盜鏈的方法
  2. 高效PHP程序必知的53個(gè)技巧
  3. PHP程序員突破成長(zhǎng)瓶頸
  4. PHP中幾個(gè)常用的時(shí)間應(yīng)用方式
  5. 非常實(shí)用 十個(gè)PHP高級(jí)應(yīng)用技巧
責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2019-08-25 07:15:47

Nginx防盜鏈Linux

2017-03-22 14:41:43

2025-01-09 08:36:05

2020-06-15 09:41:47

網(wǎng)絡(luò)安全數(shù)據(jù)技術(shù)

2025-02-04 10:05:16

SpringForbiddenReferer?

2024-07-18 09:19:17

Nginx圖片安全性

2024-01-31 23:27:50

盜鏈Node.js

2020-09-01 16:56:58

華為云

2011-05-23 09:32:43

2018-05-25 09:29:18

架構(gòu)分布式架構(gòu)系統(tǒng)分拆

2017-02-06 14:12:29

大數(shù)據(jù)數(shù)據(jù)分析基本思想

2017-07-17 14:45:43

數(shù)據(jù)庫(kù)DB分庫(kù)切分策略

2012-11-14 16:07:20

2016-12-16 12:27:23

數(shù)據(jù)分析大數(shù)據(jù)

2012-04-12 10:15:23

2013-05-20 11:06:00

ATMATM防盜

2010-01-13 18:22:55

VB.NET對(duì)話框

2015-08-14 11:40:33

2015-02-12 13:13:25

網(wǎng)絡(luò)安全安全威脅網(wǎng)絡(luò)詐騙

2010-08-24 13:38:10

AndroidAndroid防盜版系
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)