您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“php如何實現博客,論壇圖片防盜鏈的方法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“php如何實現博客,論壇圖片防盜鏈的方法”這篇文章吧。
防盜鏈的方式很多,我這里就說說我對放盜鏈的理解,這個跟防止遠程提交是一個原理。
先介紹一個函數
uniqid(string); //這個函數的作用,是在你添加的字符串后面隨即添加一個獨一無二ID字符串。
如果你還不放心,你可以給這個函輸出的字符串再用SHA1()函數進行加密。
這樣我們得到了一個獨一無二,且只有你自己知道的字符串,用來做數字簽證。接下來是如何檢測這個數字簽證。
function has($string) { if(!isset($string) || $string != $_SESSION["uniqid"]) { exit; } } //上面這個函數的意思是如果不存在字符串$string或者字符串不等于$_SESSION["uniqid"]; //則不執行下面的部分。
檢測數字簽證的函數以后寫好了。接下來是怎么做了。都知道網頁是從最頂部一直執行下來的。只要在頂部生出數字簽證,在下面的函數中進行驗證就可以了。
session_start(); //開去session功能 $uniqid = uniqid("dwz"); $_SESSION["uniqid"] = $uniqid; //執行代碼 has($uniqid); //進行數字驗證
上面的最簡答的防盜鏈的方式就完成了。回到正題,怎么防止圖片的盜鏈?
這個更簡答。當我們查看網站圖片源碼的時候會發現,存儲圖片有二種路徑:一種是相對路徑,一種是絕對路徑。
相對路徑的意思是:圖片在你的服務器上面。
覺得路徑的意思是:圖片可以在你的服務器上面,也可以不在你的服務器上面。
如果不在你的服務器上面,那就有一個URL地址或者IP地址。這個就是我們防盜的關鍵所在。
$_SERVER['HTTP_HOST']; //這樣就可以獲取服務器的url。但這個可以直接用代碼修改.
獲取發送請求URL這樣,就可以進行驗證,如果是你的URL則通過,不是則不執行。是一樣的原理吧!
以上是“php如何實現博客,論壇圖片防盜鏈的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。