Nginx设置Referer来防止盗图的实现方法

如果服务器的图片被别的网站盗链,将影响服务器的带宽以及访问速度,这时我们就需要设置图片文件或视频文件的防盗链功能;

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网站空间、营销软件、网站建设、梅河口网站维护、网站推广。

防盗链功能,简单来说就是你可以直接访问该资源,但是不能将我的资源链接放到你自己的服务器上让别人访问,尤其是图片或视频这种比较大的文件,容易导致服务器响应很慢。

如果不是图床,还真怕别的网站直接使用本站图片。这样子流量很可能一下子就被刷光了,毕竟cdn都是白花花的银子买来的。 因此,还是设置一个防盗链吧,Nginx就可以完成这个功能了。

一般来说,遵照HTTP协议实现的浏览器,在从A网站访问B网站时,都会带上当前网站的URL,以表明此次点击是从何而起的。因此, Nginx的这个模块也是依靠这个来实现,所以,如果骇客不加此头部,还是没法愉快的防盗图。

Nginx官网文档如下:

Syntax: valid_referers none | blocked | server_names | string ...;
Default:    —
Context:    server, location

nginx referer指令简介

nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求.我们应该牢记,伪装Referer头部是非常简单的事情,所以这个模块只能用于阻止大部分非法请求.我们应该记住,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.

因此,我们可以在 server 或者 location 块加上代码,我是保存为 valid_referers.conf :

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}

然后在对应需要的地方加上 include /etc/nginx/valid_referers.conf ,当然,执行这个的前提是已经把 valid_referers.conf 放到对应机器上的 /etc/nginx/valid_referers.conf 路径下。

示例:

 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。

当前标题:Nginx设置Referer来防止盗图的实现方法
文章起源:https://www.cdcxhl.com/article18/ggjigp.html

成都网站建设公司_创新互联,为您提供企业建站网页设计公司动态网站标签优化营销型网站建设关键词优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司