一般的防盗链如下:
全站图片防盗链
在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的server段里添加下面的代码:
代码如下 | 复制代码 |
location ~* .(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.111cn.net ; if ($invalid_referer) { rewrite ^/ http://www.111cn.net; #return 404; } } |
第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: 表示对www.111cn.net这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://www.111cn.net页面,当然直接返回404也是可以的。
测试一下配置是否OK
代码如下 | 复制代码 |
# /usr/local/nginx/sbin/nginx -t the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful |
然后执行如下命令重启lnmp即可:注:这里用的是lnmp的自动安装包里的shell,你如果是原生安装的请用原来的办法重启就可以了。
代码如下 | 复制代码 |
# /root/lnmp restart |
例2
代码如下 | 复制代码 |
location /images/ { alias /data/images/; valid_referers none blocked *.111cn.net; if ($invalid_referer) { rewrite ^/ http://<font color="#ff0000">www.111cn.net</font>/daolian.gif; #return 403; } } |
针对后缀实行防盗链(修改相关域名)
代码如下 | 复制代码 |
location ~* .(gif|jpg|jpeg|png|bmp|txt|zip|jar|swf)$ { valid_referers none blocked *.111cn.net; if ($invalid_referer) { rewrite ^/ http://<font color="#ff0000">www.111cn.net</font>/daolian.gif; #return 403; } } |
这二段防盗链的配置要放在正确的server里,也就是要放在图片url所在的server_name里。其次
rewrite也要写正确,否则可能造成重复rewrite,可以用firefox的插件Firebug来查看。如果不想重写到某个url,
可以直接返回403
针对图片目录防止盗链
代码如下 | 复制代码 |
location /images/ { alias /data/images/; valid_referers none blocked server_names *.xok.la xok.la ; if ($invalid_referer) {return 403;} } |
时间: 2024-09-20 09:42:06