Web資源防盜煉

2021-08-15 16:17:20 字數 2017 閱讀 7202

web資源防盜煉

隨便找個**檢視network在我們的php檔案加上去就可以了。

可以大大減輕伺服器以及貸款的壓力

一單檢測到**不是本站即進行阻止或者返回指定頁面

就是network下面請求頭資訊有乙個referer,代表**,可以通過技術來限制其他**的盜鏈。還有就是比如乙個我可以給他帶乙個引數,這個引數是彼此之間約定好的乙個簽名,簽名的計算方式是約定好的。伺服器顯示的時候去判斷這個簽名是否正確。通過計算簽名的方式,判斷請求是否合法,如果合法顯示,否則返回錯誤資訊。

nginx模組ngx_http_referer_module用於組織**非法的網域名稱請求

nginx指令valid_referers,全域性變數$invalid_referer

referer

valid_referernone | blocked | server_names |string …;

none:可寫可不寫,代表referer是否為空,如果寫none代表referer為空也合法,不寫表示**為空不合法,一般需要加,因為本身通過瀏覽器訪問是合法的確保直接用瀏覽器是可以訪問的。

例子/usr/local/nginx/conf/nginx.conf中(首先要看模組安沒安裝)

location~.*\.(gif|jpg|png|flv|swf|rar|zip)$              #當訪問這些結尾的檔案時

valid_referersnone blocked jhkj.com*.jhkj.com;

if($invalid_referer)                          #全域性變數,如果合法就是false

#return403;

rewrite^/

盜鏈人員也可以偽造referer比如說php的模擬curl請求,給你傳遞乙個頭資訊叫做referer,這個referer由他自定義,這樣就可以進行偽裝,就可以吧防盜煉資料都竊取出來。所以這種方式雖然可以,但是對防盜煉不能徹底防範,只能是提高一些門檻。

針對目錄的防盜煉

location/images/             #當訪問這些結尾的檔案時

valid_referersnone blocked jhkj.com*.jhkj.com;

if($invalid_referer)                          #全域性變數,如果合法就是false

#return403;

rewrite^/

比如在寫location直接寫目錄也可以直接配置的,以上是rerfer進行防盜煉,但是會被偽造referer,所以可以使用加密簽名來解決。當我們請求是我們要帶一些簽名,返回判斷簽名是否正確,就是乙個暗號

加密簽名:第三方模組httpaccesskeymodule實現nginx防盜煉。因為在瀏覽器裡面在服務端php中我去顯示乙個是跟了乙個簽名,nginx做乙個判斷,判斷這個前面是否正確,這時候就需要hakm。

accesskey on|off 模組開關

acesskey_hashmethod md5|sha-1          簽名加密方式,簽名的雜湊方法選擇

accesskey_arg get引數名稱,傳遞乙個前面,要知道簽名的鍵是什麼

acesskey_signature 加密規則,在php的規則要和nginx的規則一致

$remote_addr是客戶端ip,前面隨意去寫的,大家猜不出來的。本質就是字串拼接客戶端id,通過md5加密就得到了簽名,判斷兩個值是否一致,一致就顯示,否則就403它!

為了讓能夠訪問要加引數:在php中加入

$sign = md5(『chaojifuzademima123』.$_server[『remote_addr』]);

echo 『

web資源防盜煉

工作原理 通過請求頭中的referer或者簽名,可以檢測目標網頁訪問的 網頁,如果是資源檔案,則可以跟蹤到顯示它的網頁位址,一旦檢測到 不是本站即進行阻止或者返回制定的頁面,通過計算簽名的方式,判斷請求是否合法,如果合法則顯示,否則返回錯誤資訊 實現方法 referer nginx模組ngx htt...

資源防盜煉

在自己頁面上顯示一些不是自己伺服器的資源 可能會影響統計 防止別人通過一些技術手段繞過本站的資源展示頁,盜用本站資源,讓繞開本站資源展示頁面的資源鏈結失效 大大減輕伺服器壓力 1 referer 易偽造referer,安全性低 2 加密簽名 安全性高 通過referer,伺服器可以檢測到訪問目標資源...

Nginx web 資源防盜煉學習筆記

客戶端向伺服器請求資源時,為了減少網路頻寬,提高響應時間,伺服器一般不會一次將所有資源完整地傳回給客戶端。比如在請求乙個網頁時,首先會傳回該網頁的文字內容,當客戶端瀏覽器在解析文字的過程中發現有存在時,會再次向伺服器發起對該資源的請求,伺服器將儲存的資源再傳送給客戶端。在這個過程中,如果該伺服器上只...