防盗链本地测试疑惑

来源:李克华博客

在linux服务器的nginx配置文件conf添加了代码

一、防止图片【文件】被盗链,被盗链时返回指定图片;

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked *.ipple.net *.abc.com;
if ($invalid_referer)
{
rewrite ^/ http://www.otherdomin.com/403.jpg;
#return 403;
}
expires 30d;
}

二、防止图片【文件夹】被盗链

location /images/
{
alias /data/images/;
valid_referers none blocked server_names *.ipple.net ipple.net ;
if ($invalid_referer)
{
return 403;
}
}
 

        如果在自己电脑上新建个小html文件进行测试,你会发现刚开始图片无法显示,但是当你打开了原图网站后,再打开小html,图片竟然可以显示了,后来在浏览器查看元素,才发现304状态码,本地已有缓存。可是我如果将第一段代码里的【none blocked】删掉了,即不允许空referer,好像也能显示出来,防盗链设置失败了?

posted @ 2018-08-08 16:54  总统先生  阅读(161)  评论(0编辑  收藏  举报