防盗链原理
浏览器请求一个html文件时,html文件中引用css,js,img等文件,当请求css,js,img时浏览器会带一个referer头,如www.baidu.com中有一个newfanyi-da0cea8f7e.png文件,当请求https://www.baidu.com返回时再请求newfanyi-da0cea8f7e.png,请求时就会带上referer:https://www.baidu.com
因此请求html文件中获取静态文件时会有referer头,没有referer或者referer和html网站出处不一致的就是非法访问
防盗链配置
如果是https://www.baidu.com,vlid_referers www.baidu.com
valid_referer none 检测Referer头域不存在的情况,如果没有referer可以访问
valid_referer blocked 检测Referer头域的值被防火墙或者代理服务器删除或者伪装的情况。这种情况不以http或者https开头。不带http可以访问。
valid_referer server_names 设置一个或者多个url,检测Referer头域的值是否是这些URL中的某一个。配置域名
测试防盗链
curl -e 设置referer
企业配置防盗链
1.设置错误界面
return /401.html也可
2.设置错误图片
rewrite ^/ /img/x.png break;