网站图片防盗链(nginx通过referers实现图片资源防盗链)
网站图片防盗链(nginx通过referers实现图片资源防盗链)
原理:
当浏览器向web服务器发起资源请求时,会在请求头中带上Referer字段,告诉服务器请求是从哪个页面过来的,服务器根据该信息进行校验并响应。
Nginx为我们提供了ngx_http_referer_module模块,可以获取请求头中Referer字段,根据字段值返回不同的响应,就可以达到如果不是从我们自己网站发起的请求,就直接返回403禁止访问。
server {
listen 80;
server_name www.http3w.com;
# 如果获取图片时,不是从www.http3w.com页面发起的请求,则禁止访问。
location ~^/.*\.(png|jpg|gif|jfif) {
valid_referers none www.http3w.com;
if ($invalid_referer){
return 403;
}
root html;
}
}
除了使用valid_referers
指令外,我们还需要用到一个内置变量$invalid_referer
,如果Referer
请求标头字段值被认为有效,则$invalid_referer
的值为空字符串,否则为“1”。
1、所有文章未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
二维码