网站资源被盗链,确实是很伤脑筋的.例如一个图片站.如果你的图片被一个大站"引用"的话..那流量可是一下子就可以达到上百M.....可惜这种流量只会用光你的带宽.而不会带来任何有益于你的东西...所以.这种是首要防止的.对付这种最简单而有效的方法...就是使用REWRITE判断来源网页...非本站的...全断开..这很简单而有效...
location /img/ {
valid_referers none blocked menface.net *.menface.net;
if ($invalid_referer) {
rewrite ^/ http://www.baidu.com/error.jpg;
}
}
这种是nginx简单的目录防盗的方法,几行代码的用途就不说了,一看即明白.再一种是设置文件类型的防盗:
location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked menface.net *.menface.net;
if ($invalid_referer) {
return 403;
}
}
最后要说一下,现在很多用lnmp包,要让这个防盗起作用需要把location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
这个删除才行.
{
expires 30d;
}
再来一个完美的,可以让expires生效的:
location ~* ^.+\.(gif|jpg|jpeg|png|bmp|zip|rar|txt|swf|flv|js|css)$ {
valid_referers blocked menface.net *.menface.net localhost;
if ($invalid_referer) {
rewrite ^/ http://i3.6.cn/cvbnm/55/52/48/9227ec72e44494d291cf6bd54d99a865.gif;
return 403;
break;
}
expires 3d;
break;
}
注意valid_referers这里是blocked,而不是none blocked.
none blocked表示允许直接打开,而去掉none就表示不允许直接浏览.