防盗链本地测试疑惑
来源:李克华博客
在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,好像也能显示出来,防盗链设置失败了?