nginx防盗链
1.什么是盗链
我们经常看到有些网站上会出现以下图片
这是因为,该网站使用的是百度的图片链接,百度做了防盗链处理,将站外来源的链接,重定向到提示图片上。
2.Http协议头Referer选项
1)直接访问百度图片
在浏览器中输入以下地址:
https://imgsa.baidu.com/forum/pic/item/352ac65c103853437da361989913b07eca80881f.jpg
结果如下:
通过F12开发者工具,查看Request Header选项:
2)通过其他网站链接访问
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>referer测试</title> </head> <body style="background:#CBE1FF"> <img src="https://imgsa.baidu.com/forum/pic/item/352ac65c103853437da361989913b07eca80881f.jpg"/> </body> </html>
结果如下:
通过F12开发者工具,查看Request Header选项:
HTTP协议头信心的Referer选项代表网页的来源(上一页的地址),如果是直接访问,则没有Referer选项。
3.nginx防盗链
在nginx.conf配置文件中,判断后缀为gif,jpg,png等文件的访问,如果referer值不是本站,则重定向到指定的提示页面。
如下所示:
location ~* \.(gif|jpg|png|swf|flv)$ {
root html
valid_referers none blocked *.nginxcn.com;
if ($invalid_referer) {
rewrite ^/ [www.nginx.cn](http://www.nginx.cn/)
#return 404;
}
}