防止别人直接从你网站引用图片等链接,消耗了你的资源和网络流量,那么我们的解决办法由几种:
1:水印,品牌宣传,你的带宽,服务器足够
2:防火墙,直接控制,前提是你知道IP来源
3:防盗链策略下面的方法是直接给予404的错误提示
文件设置
```
location ~* ^.+\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
valid_referers none blocked www.benet.com benet.com;
if ($invalid_referer) {
#return 302 http://www.benet.com/img/nolink.jpg;
return 404;
break;
}
access_log off;
}
```
目录设置
```
location /img/ { #img是相对目录,是html目录下的img目录
valid_referers none blocked server_names 27wy.cn ; #允许访问该目录的域名或IP
if ($invalid_referer) {
return 404; #不允许访问返回404
}
}
```
none 意思是不存在的Referer头(表示空的,也就是直接访问,比如直接在浏览器打开一个图片)
blocked 意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。
server_names 为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。
*****
命令行测试:
```
1.curl只发起请求:curl -I 图片地址
2.curl加上请求来源发起请求:curl -e "请求来源域名/IP" -I 图片地址
```