1. 程式人生 > 其它 >網站防盜鏈

網站防盜鏈

盜鏈的概念 盜鏈是指在自己的頁面上展示一些並不在自己伺服器上的內容 獲取別人伺服器上的資源地址,繞過別人的資源展示頁面,直接在自己的頁面上向終端使用者提供內容 常見的是小站盜用大站的圖片、音樂、視訊、軟體等資源 通過盜鏈的方法可以減輕自己伺服器的負擔,因為真實的空間和流量均來自別人的伺服器 防盜鏈概念 防止別人通過一些技術手段繞過本站的資源展示頁面,盜用本站的資源,讓繞開本站資源展示頁面的資源連結失效 可以大大減輕伺服器及頻寬的壓力 防盜鏈的工作原理 1.通過Referer或者簽名,網站可以檢測目標網站訪問的來源網頁,如果是資原始檔,則可以跟蹤到顯示它的網頁地址 一旦檢測到來源不是本站即進行阻止或者返回指定的頁面 2.通過計算簽名的方式,來判斷請求是否合法,如果合法則顯示,否則返回錯誤資訊 // Referer // Nginx模組 ngx_http_referer_module 用於阻擋來源非法的域名請求 // Nginx指令valid_referers , 全域性變數$invalid_referer valid_referers none | blocked | server_names | string… ; // none :“Referer” 來源頭部為空的情況 // blocked :“Referer” 來源頭部不為空,但是裡面的值被代理或者防火牆刪除了,這些值都不以http://或者https://開頭 // server_names : “Referer” 來源頭部包含當前server_names 傳統的防盜鏈遇到的問題: 偽造Refer ,可以使用加密簽名解決 加密簽名,使用第三方模組HttpAccessKeyModule實現Nginx防盜鏈 accesskey on | off 模組開關 accesskey_hashmehtod md5 | sha-1 簽名加密方式 accesskey_arg GET引數名稱 accesskey_signature 加密的值