php實作博客,論壇圖片防盜鏈的方法

墨辰丷
發布: 2023-03-28 18:50:01
原創
2047 人瀏覽過

這篇文章主要介紹了php實現博客,論壇圖片防盜鏈的方法,涉及php字符串結合session判定圖片的相關操作技巧,需要的朋友可以參考下

防盜鏈的方式很多,我這裡就說說我對放盜鏈的理解,這個跟防止遠端提交是一個原理。

先介紹一個函數

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則通過,不是則不執行。是一樣的原理吧!

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

redis在php下面的命令大全

PHP引用變數知識詳解

PHP的耦合設計模式

以上是php實作博客,論壇圖片防盜鏈的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!