最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年09月25日 15:10:45   投稿:lijiao  
網(wǎng)站盜鏈會大量消耗被盜鏈網(wǎng)站的帶寬,而真正的點(diǎn)擊率也許會很小,嚴(yán)重?fù)p害了被盜鏈網(wǎng)站的利益。本文主要介紹用PHP實(shí)現(xiàn)防盜鏈的方法以及基本思想,希望對你有幫助,一起來看。

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

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

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

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

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

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

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

然后生成軟件的真實(shí)下載地址: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進(jìn)么驗(yàn)證,看是否正確,如果不正確就退出,否則就進(jìn)行如下操作

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

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

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

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

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

1.簡單防盜鏈

$ADMIN[defaulturl] = "http://www.vvschool.cn/404.htm";//盜鏈返回的地址 
$okaysites = array("http://www.vvschool.cn/","http://www.siyizhu.com"); //白名單 
$ADMIN[url_1] = "http://www.vvschool.cn/temp/download/";//下載地點(diǎn)1 
$ADMIN[url_2] = "";//下載地點(diǎn)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在我的站點(diǎn)里面,則用以下代碼表示下載連接.

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

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

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

//放置下載軟件的根目錄相對于當(dāng)前腳本目錄的相對目錄 
$fileRelPath = "../../software"; 
//例外允許連接的網(wǎng)址,注意:自身域名不需要填入,設(shè)定為肯定可以下載, 
// 空字符串("")表示直接輸入網(wǎng)址下載的情況 
$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)){ 
?> 

其實(shí),反盜鏈方式也有不少, 這里只列出一個大概思想作為參考:

(1)IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;

(2) 圖片反盜鏈,在圖片中加入水印,雖然盜鏈者可以達(dá)到目的,但是卻也在為自己的網(wǎng)站做宣傳。

以上就是PHP防盜鏈的基本思想和設(shè)置方法,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • php頁面防重復(fù)提交方法總結(jié)

    php頁面防重復(fù)提交方法總結(jié)

    有時候我們的程序執(zhí)行比較慢,而且我們頁面也不怎么友好,沒什么提示信息。操作人員以為沒有點(diǎn)擊提交按鈕,就會再一次點(diǎn)擊提交。這會導(dǎo)致很多問題出現(xiàn)。下面介紹三種防重復(fù)提交的方法
    2013-11-11
  • PHP7導(dǎo)出Excel報ERR_EMPTY_RESPONSE解決方法

    PHP7導(dǎo)出Excel報ERR_EMPTY_RESPONSE解決方法

    在本篇文章中小編給大家整理了關(guān)于PHP7導(dǎo)出Excel報ERR_EMPTY_RESPONSE的解決方法,需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • PHP獲取數(shù)組表示的路徑方法分析【數(shù)組轉(zhuǎn)字符串】

    PHP獲取數(shù)組表示的路徑方法分析【數(shù)組轉(zhuǎn)字符串】

    這篇文章主要介紹了PHP獲取數(shù)組表示的路徑,結(jié)合實(shí)例形式對比分析了數(shù)組轉(zhuǎn)字符串的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • 通過Email發(fā)送PHP錯誤的方法

    通過Email發(fā)送PHP錯誤的方法

    這篇文章主要介紹了通過Email發(fā)送PHP錯誤的方法,實(shí)例分析了php錯誤的讀取及通過php發(fā)送Email的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • php實(shí)現(xiàn)的美國50個州選擇列表實(shí)例

    php實(shí)現(xiàn)的美國50個州選擇列表實(shí)例

    這篇文章主要介紹了php實(shí)現(xiàn)的美國50個州選擇列表實(shí)例,可實(shí)現(xiàn)讓當(dāng)前州為選中狀態(tài)的功能,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • PHP日志LOG類定義與用法示例

    PHP日志LOG類定義與用法示例

    這篇文章主要介紹了PHP日志LOG類定義與用法,結(jié)合實(shí)例形式分析了日志log的具體定義及使用方法,涉及php文件讀寫、日期時間及字符串等相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • 實(shí)例說明js腳本語言和php腳本語言的區(qū)別

    實(shí)例說明js腳本語言和php腳本語言的區(qū)別

    今天小編就為大家分享一篇關(guān)于實(shí)例說明js腳本語言和php腳本語言的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • mysql 中InnoDB和MyISAM的區(qū)別分析小結(jié)

    mysql 中InnoDB和MyISAM的區(qū)別分析小結(jié)

    InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優(yōu)缺點(diǎn),視具體應(yīng)用而定?;镜牟顒e為:MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持。MyISAM類型的表強(qiáng)調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類型更快,但是不提供事務(wù)支持,而InnoDB提供事務(wù)支持已經(jīng)外部鍵等高級數(shù)據(jù)庫功能。
    2008-04-04
  • 非常實(shí)用的php彈出錯誤警告函數(shù)擴(kuò)展性強(qiáng)

    非常實(shí)用的php彈出錯誤警告函數(shù)擴(kuò)展性強(qiáng)

    利用php彈出警告的函數(shù),整理到自己的代碼庫中去在遇到錯誤的地方可用到此函數(shù),擴(kuò)展性強(qiáng),喜歡的朋友可以收藏下
    2014-01-01
  • PHP記錄和讀取JSON格式日志文件

    PHP記錄和讀取JSON格式日志文件

    這篇文章主要介紹了PHP記錄和讀取JSON格式日志文件的相關(guān)資料,需要的朋友可以參考下
    2016-07-07

最新評論

邮箱| 富顺县| 邯郸县| 东阳市| 海阳市| 福建省| 老河口市| 镇江市| 开封县| 江华| 万荣县| 峨眉山市| 德清县| 邵武市| 察雅县| 永年县| 景谷| 襄垣县| 上饶县| 滦南县| 江阴市| 奎屯市| 隆安县| 攀枝花市| 怀来县| 贵阳市| 江北区| 安阳市| 平远县| 尉氏县| 始兴县| 饶平县| 镇巴县| 阜阳市| 丽江市| 曲阳县| 思茅市| 嫩江县| 商河县| 揭东县| 阜康市|