在網(wǎng)站上嵌入別的網(wǎng)站上的圖片鏈接、顯示這些圖片,就是盜鏈。這些圖片在自己的網(wǎng)站上顯示,占用的卻是別的服務(wù)器的資源和寬帶。
http協(xié)議頭中的Referer字段表示當(dāng)前請求是從哪個網(wǎng)站鏈接過來的,服務(wù)器通過Referer能夠了解請求來源。
nginx的valid_referers指令能夠定義合法Referer來源。
# 網(wǎng)站配置
listen 8299;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
# 防盜鏈設(shè)置
location ~* \.(jpeg|png|jpg|gif)$ {
valid_referers none localhost;
if ($invalid_referer){
return 403 "禁止訪問";
}
}
- \.(jpeg|png|jpg|gif)$ 表示匹配圖片后綴的URI。
valid_referers none localhost
表示協(xié)議頭沒有帶Referer或Referer為當(dāng)前網(wǎng)站localhsot,即允許訪問的網(wǎng)站。$invalid_referer
Referer為空或localhsot時值為0,否則值為1。return 403 "禁止訪問"
Referer不滿足條件時不允許訪問圖片資源。
Referer為當(dāng)前網(wǎng)站測試效果:
該文章在 2025/7/1 23:40:58 編輯過