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

Nginx如何設定Referer來防止盜圖

May 12, 2023 pm 06:52 PM
nginx referer

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

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

如果不是圖床,還真怕別的網站直接使用本站圖片。這樣子流量很可能一下子就被刷光了,畢竟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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

docker怎麼啟動容器 docker怎麼啟動容器 Apr 15, 2025 pm 12:27 PM

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

docker容器名稱怎麼查 docker容器名稱怎麼查 Apr 15, 2025 pm 12:21 PM

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

docker怎麼創建容器 docker怎麼創建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

在Nginx和Apache之間進行選擇:適合您的需求 在Nginx和Apache之間進行選擇:適合您的需求 Apr 15, 2025 am 12:04 AM

NGINX和Apache各有優劣,適合不同場景。 1.NGINX適合高並發和低資源消耗場景。 2.Apache適合需要復雜配置和豐富模塊的場景。通過比較它們的核心特性、性能差異和最佳實踐,可以幫助你選擇最適合需求的服務器軟件。

NGINX與Apache:性能,可伸縮性和效率 NGINX與Apache:性能,可伸縮性和效率 Apr 19, 2025 am 12:05 AM

NGINX和Apache都是強大的Web服務器,各自在性能、可擴展性和效率上有獨特的優勢和不足。 1)NGINX在處理靜態內容和反向代理時表現出色,適合高並發場景。 2)Apache在處理動態內容時表現更好,適合需要豐富模塊支持的項目。選擇服務器應根據項目需求和場景來決定。

NGINX與Apache:Web服務器的比較分析 NGINX與Apache:Web服務器的比較分析 Apr 21, 2025 am 12:08 AM

NGINX更适合处理高并发连接,而Apache更适合需要复杂配置和模块扩展的场景。1.NGINX以高性能和低资源消耗著称,适合高并发。2.Apache以稳定性和丰富的模块扩展闻名,适合复杂配置需求。

nginx和apache:了解關鍵差異 nginx和apache:了解關鍵差異 Apr 26, 2025 am 12:01 AM

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

php寫完代碼怎麼執行 php代碼執行的幾種常見方式 php寫完代碼怎麼執行 php代碼執行的幾種常見方式 May 23, 2025 pm 08:33 PM

PHP代碼可以通過多種方式執行:1.使用命令行,直接輸入“php文件名”執行腳本;2.通過Web服務器,將文件放入文檔根目錄並通過瀏覽器訪問;3.在IDE中運行,利用內置調試工具;4.使用在線PHP沙箱或代碼執行平台進行測試。

See all articles