91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

防盜鏈的原理是什么

發布時間:2021-06-22 16:03:35 來源:億速云 閱讀:233 作者:Leah 欄目:編程語言

這篇文章給大家介紹防盜鏈的原理是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

盜鏈的概念

盜鏈是指在自己的頁面上展示一些并不在自己服務器上的一些內容, 獲取別人的資源地址,繞過別人的資源展示頁面,直接在自己的頁面上向最終用戶提供此內容。 一般被盜鏈的都是圖片、 音樂、視頻、軟件等資源。通過盜鏈的手段可以減輕自己服務器的負擔

比如我直接在自己的網站上

<img src="http:www.baidu.com/imagepath/image.png">

這樣就可以直接展示百度的圖片,但是實際上是無法展示的(如下圖),之所以無法展示是因為百度的圖片做過防盜鏈處理

防盜鏈的工作原理

通過Refer或者簽名,網站可以檢測目標網頁訪問的來源網頁,如果是資源文件,則可以追蹤到顯示他的網頁地址 一旦檢測到來源不是本站,即進行阻止或者返回指定的頁面

防盜鏈的實現方法

Nginx模塊, ngx_http_referer_module用于阻擋來源非法域名的請求 nginx指令valid_refers,全局變量$invalid_refer 對資源的防盜鏈nginx配置為

location ~.*\.(gif|jpg|png|flv|swf|rar|zip)$
{
    valid_referers none blocked test.com *.test.com;   //加none的目的是確保瀏覽器可以直接訪問資源
    if($invalid_referer)
    {
        #return 403;  // 直接返回403        rewrite ^/ http://www.test.com/403.jpg;//返回指定提示圖片
    }
}

對目錄的防盜鏈nginx配置為

location /images/
{
    valid_referers none blocked test.com *.test.com;
    if($invalid_referer)
    {
        #return 403;        rewrite ^/ http://www.test.com/403.jpg;
    }

但是傳統的防盜鏈也會存在一些問題,因為refer是可以偽造的, 所以可以使用加密簽名的方式來解決這個問題。 什么是加密簽名?就是當我們請求一個圖片的時候,我要給他帶一些簽名過去,然后返回圖片的時候我們判斷下簽名是否正確,相當于對一個暗號。

可以使用第三方模塊HttpAccessKeyModule來解決防盜鏈的問題,我們需要去安裝。

安裝好有這樣一個指令:

accesskey on|off 模塊開關

accesskey_hashmethod md5 | sha-1 簽名加密方式

accesskey_arg GET參數名稱

accesskey_signature 加密規則

location ~.*\.(gif|jpg|png|flv|swf|rar|zip)$
{
    accesskey on;
    accesskey_hashmethod md5;
    accesskey_arg sign;
    accesskey_signature "mypass$remote_addr";
}

意思是mypass加客戶端ip通過md5加密 圖片文件代碼:

<?php$sign = md5('mypass' . $_SERVER['REMOTE_ADDR']);echo '<img src="./photo.jpg?sign='. $sign .'">';
?>

關于防盜鏈的原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那坡县| 思茅市| 石台县| 油尖旺区| 肇州县| 镇赉县| 乌兰察布市| 道孚县| 江山市| 贵州省| 石家庄市| 竹山县| 两当县| 友谊县| 南江县| 阿克| 黔南| 镶黄旗| 河间市| 星子县| 汶上县| 乌拉特前旗| 金门县| 兴安盟| 金平| 南漳县| 丰城市| 涞源县| 靖边县| 巩义市| 双江| 南安市| 宣武区| 金昌市| 集贤县| 汉源县| 绥棱县| 商洛市| 屏东市| 西华县| 错那县|