微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx实现静态资源防盗链

当浏览器向web服务器发送请求的时候,一般会在头信息中带上Referer字段,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。基于头信息的Referer字段,Nginx识别指定的Referer,在客户端请求时,通过匹配referer头域与配置,对于指定放行,对于其他referer视为盗链。

location ~* \. (jpg|png|gif|jpeg|png)$ {
     #对源站点验证
     valid_referers none blocked www.centos.bzcentos.bz;
     #非法引入会进入下方判断
     if ($invalid_referer) {
         return 403;
     }
}
  • none 请求标头中缺少"Referer"字段,也就是空Referer
  • blocked "Referer"字段出现在请求标头中,但其值已被防火墙或代理服务器删除;这些值是不以"http://"或"https://"开头的字符串

认返回一张图片

if ($invalid_referer) {
    rewrite^/images/(.*)\.(gif|jpg|jpeg|png)$ http://www.centos.bz/banner.jpg
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐