首頁 > 運維 > Nginx > Nginx如何設定Referer來防止盜圖

Nginx如何設定Referer來防止盜圖

WBOY
發布: 2023-05-12 18:52:06
轉載
1716 人瀏覽過

如果伺服器的圖片被別的網站盜鏈,將影響伺服器的頻寬以及存取速度,這時我們就需要設定圖片檔案或視訊檔案的防盜鏈功能;

防盜鏈功能,簡單來說就是你可以直接訪問該資源,但是不能將我的資源鏈接放到你自己的服務器上讓別人訪問,尤其是圖片或視頻這種比較大的文件,容易導致服務器響應很慢。

如果不是圖床,還真怕別的網站直接使用本站圖片。這樣子流量很可能一下子就被刷光了,畢竟cdn都是白花花的銀子買來的。因此,還是設定一個防盜鏈吧,nginx就可以完成這個功能了。

一般來說,遵照http協議實現的瀏覽器,從a網站訪問b網站時,都會帶上當前網站的url,以表明此次點擊是從何而起的。因此, nginx的這個模組也是依靠這個來實現,所以,如果駭客不加此頭部,還是沒辦法愉快的防盜圖。

nginx官網文件如下:

##syntax: valid_referers none | blocked | server_names | string ...;

default:    —
context:    server, loault:    —
context:    server, loault:    —
context:    server, loault:    —

context:  

#nginx referer指令簡介

nginx模組ngx_http_referer_module通常用於阻擋來源非法的域名請求.我們應該牢記,偽裝referer頭部是非常簡單的事情,所以這個模組只能用於阻止大部分非法請求.我們應該記住,有些合法的請求是不會帶referer來源頭部的,所以有時候不要拒絕來源頭部(referer)為空的請求.

因此,我們可以在server 或location 區塊加上程式碼,我是儲存為valid_referers.conf :

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}
登入後複製

然後在對應需要的地方加上include /etc/ nginx/valid_referers.conf ,當然,執行這個的前提是已經把valid_referers.conf 放到對應機器上的/etc/nginx/valid_referers.conf 路徑下。

範例:###
 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }
登入後複製

以上是Nginx如何設定Referer來防止盜圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板