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防止直接用IP访问Web服务器的设置方法
- AndrowListView实现(自定义游戏列表)防止屏幕闪烁,设置分割线android中不推荐的方法,要考虑向下兼容,用了推荐的新方法,可能不兼容旧版本系统的手机
- 防止表单重复提交的实现方法!
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
- 实现php&nginx服务器配置的非主流配置方法
- asp实现防止站外提交内容的两个方法
- ShopEx 4.84伪静态实现方法(涵盖IIS服务器以及Nginx)
- SSH中设置字符编码防止乱码的终极方法
- win7下设置音频设备实现录音的方法
- 防止adsl用户被入侵的一些技巧与设置方法
- .httacces文件的密码保护和防止盗链的实现方法
- 常用安全设置防止黑客攻击入侵的方法
- php防止页面缓存,实现网页过期的方法
- 加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考
- DEDECMS安全设置 执行php脚本限制设置方法(apache+nginx)
- 加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考
- 关闭端口防止病毒与黑客入侵的设置方法
- asp实现防止从外部提交数据的三种方法第1/3页
- Win2003灵活实现多Web站点的设置方法[图文]
- 关于软件防止破解的思考,如何避免简单的跳转指令型的验证方法,如何设置更复杂的验证方式。