# 什么是靜態資源盜鏈: # 你服務器上的一張圖片,127.0.0.1/images/a.png # 別人的html頁面可以直接通過<img src="127.0.0.1/images/a.png" />來進行顯示。 # 如何通過Nginx防止資源盜鏈 # valid_referers指令:會通過查看請求頭的referer內容自動和valid_referers指令設置的內容進行匹配, # 如果匹配到了就將$invalid_referer變量值設置為0,否者就設置為1,匹配的過程是不區分大小寫的 # 語法:valid_referers nont | blocked | server_names | string # 默認值: 無 # 位置:server、location # none:如果請求頭中的Referer為空,則允許訪問 # blocked:Referer不為空,但是改制唄防火牆或者代理進行偽裝過,如果不帶"httpL//"、"https://"等協議的資源允許訪問 # server_names:指定具體的域名或者ip # string:可以支持正則表達式和*的字符串。如果是正則表達式,需要以~開頭標識。 valid_referers none bocked www.baidu.com 192.168.200.222 *.example.com example.* ~\.google\. if ($invalid_referer){ # 如果匹配到了就將$invalid_referer變量值設置為0,否者就設置為1,匹配的過程是不區分大小寫的 return 403; # 403未找到資源 或者通過rewrite去返回一個默認圖片 }
