需求:
通常站點,都會想讓自己網站的視頻和圖片,免被盜用,畢竟視頻流量,花的都是白花花銀子(土豪可以不用考慮)~~.
一、單刀直入,先上nginx配置文件
server?{ listen?80; server_name?www.test.com; root?/data/web/; index?index.php?index.html; access_log?/data/logs/nginx/biao.madacode.access.log?main; location?/{ root?/home/data/; } error_page?404?/usr/local/nginx/html/404.html; location?~?.*.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers?none?blocked?server_names?*.test.com?http://ip; if?($invalid_referer)?{ return?403; } expires?24h; access_log?off; } location?~?/. { deny?all; } }
二、防盜鏈核心配置文件解釋
location?~?.*.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers?none?blocked?server_names?*.test.com?http://ip; if?($invalid_referer)?{ return?403; } expires?24h; access_log?off; }
vaild_referers 有效的引用連接,如下,否則就進入$invaild_refere,返回403 forbiden。
1、none
“referer” 來源頭部為空的情況
2、blocked
“referer”來源頭部不為空,但是里面的值被代理或者防火墻刪除了,這些值都不以http://或者https://開頭.
3、server_names
“referer”來源頭部包含當前的server_names(當前域名)
三、模擬案例測試
1、添加 –referer 模擬引用,看結果直接403.證明上面配置是ok的
[root@test]#?curl?--referer?http://baidu.com?-i?http://www.test.com/temp/t19254/20190820/video_out_out/1/0011.mp4 http/1.1?403?forbidden server:?tengine date:?wed,?21?aug?2019?09:54:44?gmt content-type:?text/html content-length:?639 connection:?keep-alive
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END