《PHP學(xué)習(xí):php實(shí)現(xiàn)博客,論壇圖片防盜鏈的方法》要點(diǎn):
本文介紹了PHP學(xué)習(xí):php實(shí)現(xiàn)博客,論壇圖片防盜鏈的方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例講述了php實(shí)現(xiàn)博客,論壇圖片防盜鏈的方法.分享給大家供大家參考,具體如下:PHP應(yīng)用
防盜鏈的方式很多,我這里就說說我對放盜鏈的理解,這個跟防止遠(yuǎn)程提交是一個原理.PHP應(yīng)用
先介紹一個函數(shù)PHP應(yīng)用
uniqid(string); //這個函數(shù)的作用,是在你添加的字符串后面隨即添加一個獨(dú)一無二ID字符串.
如果你還不放心,你可以給這個函輸出的字符串再用SHA1()函數(shù)進(jìn)行加密.PHP應(yīng)用
這樣我們得到了一個獨(dú)一無二,且只有你自己知道的字符串,用來做數(shù)字簽證.接下來是如何檢測這個數(shù)字簽證.PHP應(yīng)用
function has($string) { if(!isset($string) || $string != $_SESSION["uniqid"]) { exit; } } //上面這個函數(shù)的意思是如果不存在字符串$string或者字符串不等于$_SESSION["uniqid"]; //則不執(zhí)行下面的部分.
檢測數(shù)字簽證的函數(shù)以后寫好了.接下來是怎么做了.都知道網(wǎng)頁是從最頂部一直執(zhí)行下來的.只要在頂部生出數(shù)字簽證,在下面的函數(shù)中進(jìn)行驗(yàn)證就可以了.PHP應(yīng)用
session_start(); //開去session功能 $uniqid = uniqid("dwz"); $_SESSION["uniqid"] = $uniqid; //執(zhí)行代碼 has($uniqid); //進(jìn)行數(shù)字驗(yàn)證
上面的最簡答的防盜鏈的方式就完成了.回到正題,怎么防止圖片的盜鏈?PHP應(yīng)用
這個更簡答.當(dāng)我們查看網(wǎng)站圖片源碼的時候會發(fā)現(xiàn),存儲圖片有二種路徑:一種是相對路徑,一種是絕對路徑.PHP應(yīng)用
相對路徑的意思是:圖片在你的服務(wù)器上面.PHP應(yīng)用
覺得路徑的意思是:圖片可以在你的服務(wù)器上面,也可以不在你的服務(wù)器上面.PHP應(yīng)用
如果不在你的服務(wù)器上面,那就有一個URL地址或者IP地址.這個就是我們防盜的關(guān)鍵所在.PHP應(yīng)用
$_SERVER['HTTP_HOST']; //這樣就可以獲取服務(wù)器的url.但這個可以直接用代碼修改.
獲取發(fā)送請求URL這樣,就可以進(jìn)行驗(yàn)證,如果是你的URL則通過,不是則不執(zhí)行.是一樣的原理吧!PHP應(yīng)用
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《PHP圖形與圖片操作技巧匯總》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》PHP應(yīng)用
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助.PHP應(yīng)用
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/3035.html