防止别人直接从你网站引用图片等链接,消耗了你的资源和网络流量,那么我们的解决办法由几种: 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 图片地址 ```