nginx配置防盜鏈的三種實現(xiàn)方式總結(jié)
什么是資源盜鏈
資源盜鏈?zhǔn)侵竷?nèi)容不在自己服務(wù)器上,而通過技術(shù)手段,繞過別人的限制,將別人的內(nèi)容,比如熱門的圖片放到自己頁面上,展示給用戶,以此來盜取別人網(wǎng)站的流量,即蹭流量。
簡而言之就是用別人的東西成就自己的網(wǎng)站
如下,分別在網(wǎng)上找的兩個圖片,可以直接在瀏覽器中打開這2個鏈接
一、引導(dǎo)案例
接下來,利用上面的這兩個圖片鏈接,我們在nginx的資源目錄下,創(chuàng)建一個html頁面,將這兩張圖片的鏈接設(shè)置進去
如下有一個 a.html的頁面
在a.html的頁面中引用上面兩個圖片鏈接,內(nèi)容如下:
啟動nginx服務(wù),然后瀏覽器上訪問a.html頁面,觀察圖片展示的效果
從展示的效果來看,第一張圖片可以正常展示,而第二張圖片則無法顯示,也就是說,第二張圖片的地址添加了防止盜鏈的功能;
二、Nginx防盜鏈實現(xiàn)原理
了解防盜鏈的原理之前,需要了解一下HTTP的頭信息Referer這個參數(shù);
當(dāng)瀏覽器向web服務(wù)器發(fā)送請求的時候,一般都會帶上Referer,來告訴瀏覽器該網(wǎng)頁是從哪個頁面鏈接過來的;
后臺服務(wù)器根據(jù)獲取到的這個Referer信息,從而判斷是否為自己信任的網(wǎng)站地址,如果是則放行繼續(xù)訪問,如果不是則可以返回403(服務(wù)端拒絕訪問)的狀態(tài)信息)
在本地模擬上述的服務(wù)器效果如下:
三、Nginx防盜鏈具體實現(xiàn)
valid_referers
- nginx會通過查看referer自動和valid_referers后面的內(nèi)容進行匹配;
- 如果匹配到了就將i n v a l i d r e f e r e r 變 量 置 0 , 如 果 沒 有 匹 配 到 ,則將invalid_referer變量置為1;
- 匹配的過程中不區(qū)分大小寫;
其他參數(shù)介紹:
- none:如果Header中的Referer為空,允許訪問;
- blocked:在Header中的Referer不為空,但是該值被防火墻或代理進行偽裝過,如不帶"http://" 、"https://"等協(xié)議頭的資源允許訪問;
- server_names:指定具體的域名或者IP;
- string: 可以支持正則表達式和*的字符串。如果是正則表達式,需要以~
開頭表示
實現(xiàn)方式一
1、在nginx的html目錄下創(chuàng)建一個images的目錄
2、在nginx.conf中添加如下配置
3、重啟nginx,訪問下這張圖片
4、將這個圖片的路徑也配置到上面的 a.html中
5、重啟nginx之后再次訪問a.html,可以正常訪問
為了實現(xiàn)防盜鏈功能,只需要在上面的nginx.conf配置中添加如下內(nèi)容
添加完畢,重啟nginx,再次訪問該頁面,這時候可以看到,圖片就無法再訪問了,這就實現(xiàn)了防盜鏈的功能
實現(xiàn)方式二
針對整個目錄進行設(shè)置
如果要設(shè)置的圖片很多的話,還可以針對整個目錄進行設(shè)置,可以參考如下:
然后在自定義的a.html中修改下圖片的路徑即可
再次訪問頁面,也能達到上面的效果
實現(xiàn)方式三
從上面的效果來看,確實達到了防止盜鏈,但是在實際應(yīng)用中,希望那些未展示出來的圖片顯示的更加友好點,可以結(jié)合rewrite的方式來做,下面來看具體的實現(xiàn)步驟
1、在網(wǎng)上找一張圖片并放到images目錄下
效果如下
2、修改nginx.conf配置文件
關(guān)鍵配置信息如下,即將原來的返回403,使用rewrite指向特定的圖片即可
修改完畢后重啟nginx服務(wù),再次訪問上面的路徑,可以看到下面的效果
這樣也實現(xiàn)了防盜鏈的效果
總結(jié)
到此這篇關(guān)于nginx配置防盜鏈的三種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)nginx配置防盜鏈內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。