本文作者:心月

web資源防盜鏈的工作原理和處理方法

心月IT博客 2019-06-26
摘要:防盜鏈的目的:防止別人通過一些技術手段繞過本站的資源展示頁面,盜用本站的資源,讓繞開本站資源展示頁面的資源鏈接失效,可以大大減輕服務器及帶寬的壓力。

1、什么是防盜鏈

    盜鏈是指在自己的頁面上展示一些并不在自己服務器上的內容

    獲得他人服務器上的資源地址,繞過別人的資源展示頁面,直接在自己的頁面上向最終用戶提供此內容;

    常見的是小站盜用大站的圖片、音樂、視頻、軟件等資源;

    通過盜鏈的方法可以減輕自己服務器的負擔,因為真實的空間和流量均是來在別人的服務器;

  防止別人通過一些技術手段繞過本站的資源展示頁面,盜用本站的資源,讓繞開本站資源展示頁面的資源鏈接失效,可以大大減輕服務器及帶寬的壓力;


2、防盜鏈工作原理:

      通過Referer或者簽名,網站可以檢測目標網頁訪問的來源頁,如果是資源文件,則可以跟蹤到顯示它的網頁地址。

      一旦檢測到來源不是本站即進行阻止或者返回指定的頁面;

    通過計算簽名的方式,判斷請求是否合法,如果合法則顯示,否則返回錯誤信息;


3、防盜鏈的實現方法:


    Referrer:

        Nginx模塊 ngx_http_referer_module 用于阻擋來源非法的域名請求

        Nginx指令 valid_referer,全局變量 $invalid_referer

        valid_referers none|blicked|server_names|string...;

          none: "Referer" 來源頭部為空的情況

          blocked:"Referer" 來源頭部不為空,但是里面的值被代理或者防火墻刪除了,這些值都不以http://或者https://開頭。

          server_names:"Referer" 來源頭部包含當前的server_names

Nginx服務器Referrer防盜鏈的實現

Nginx服務器Referrer防盜鏈的實現


    加密簽名解決盜鏈:

        使用第三方HttpAccessKeyModule實現Nginx防盜鏈

        accesskey on|off 模塊開關

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

        accesskey_arg GET參數名稱

        accesskey_signature 加密規則

Nginx服務器加密簽名防盜鏈的實現

Nginx服務器加密簽名防盜鏈的實現


文章版權及轉載聲明:

作者:心月 本文地址:http://www.rawkpk.live/websecurity/283.html發布于 2019-08-23
文章轉載或復制請以超鏈接形式并注明出處心月IT博客

分享到:
贊(

發表評論

快捷輸入:

    評論列表 (有 0 條評論,人圍觀)參與討論