一聚教程网:一个值得你收藏的教程网站

热门教程

nginx图片防盗链几种方法

时间:2022-06-30 18:57:48 编辑:袖梨 来源:一聚教程网

一般的防盗链如下:

全站图片防盗链

在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的server段里添加下面的代码:

 代码如下 复制代码

location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.111com.net ;
if ($invalid_referer) {
rewrite ^/ http://www.111com.net;
#return 404;
}
}


第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: 表示对www.111com.net这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://www.111com.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 *.111com.net;
if ($invalid_referer) {
rewrite ^/  http://www.111com.net/daolian.gif;
#return 403;
}
}

针对后缀实行防盗链(修改相关域名)

 代码如下 复制代码

location ~* .(gif|jpg|jpeg|png|bmp|txt|zip|jar|swf)$ {
valid_referers none blocked *.111com.net;
if ($invalid_referer) {
rewrite ^/  http://www.111com.net/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;}
}

热门栏目