全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

nginx利用referer指令实现防盗链配置

实现图片防盗链:

location ~* \.(gif|jpg|png|webp)$ {
   valid_referers none blocked domain.com *.domain.com server_names ~\.google\. ~\.baidu\.;
   if ($invalid_referer) {
    return 403;
    #rewrite ^/ http://www.domain.com/403.jpg;
   }
   root /opt/www/image;
  }

以上所有来至domain.com和域名以及baidu和google的站点都可以访问到当前站点的图片,如果来源域名不在这个列表中,那么$invalid_referer等于1,在if语句中返回一个403给用户,这样用户便会看到一个403的页面,如果使用下面的rewrite,那么盗链的图片都会显示403.jpg。none规则实现了允许空referer访问,即当直接在浏览器打开图片,referer为空时,图片仍能正常显示.

[root@loya ~]# curl -I http://qingkang.me/1.jpg -H 'Referer:http://www.baidu.com'
HTTP/1.1 200 OK
Server: nginx/1.8.1
Date: Fri, 16 Dec 2016 14:56:51 GMT
Content-Type: image/jpeg
Content-Length: 17746
Last-Modified: Tue, 16 Aug 2016 03:20:21 GMT
Connection: keep-alive
ETag: "57b28675-4552"
Accept-Ranges: bytes
[root@loya ~]# curl -I http://qingkang.me/1.jpg -H 'Referer:http://www.qq.com'
HTTP/1.1 403 Forbidden
Server: nginx/1.8.1
Date: Fri, 16 Dec 2016 14:56:58 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 168
Connection: keep-alive

指令

语法: valid_referers none | blocked | server_names | string …;

配置段: server, location

指定合法的来源'referer', 他决定了内置变量$invalid_referer的值,如果referer头部包含在这个合法网址里面,这个变量被设置为0,否则设置为1. 需要注意的是:这里并不区分大小写的.

参数说明:

  1. none “Referer” 为空
  2. blocked “Referer”不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头,而是“Referer: XXXXXXX”这种形式
  3. server_names “Referer”来源头部包含当前的server_names(当前域名)
  4. arbitrary string 任意字符串,定义服务器名或者可选的URI前缀.主机名可以使用*开头或者结尾,在检测来源头部这个过程中,来源域名中的主机端口将会被忽略掉
  5. regular expression 正则表达式,~表示排除https://或http://开头的字符串.

注意

通过Referer实现防盗链比较基础,仅可以简单实现方式资源被盗用。构造Referer的请求很容易实现。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# nginx防盗链配置  # nginx  # referer  # 配置  # referer防盗链  # Nginx防盗链的3种方法  # Nginx防盗链的配置方法  # Nginx服务器下防盗链的方法介绍  # Nginx图片防盗链配置实例  # 配置Nginx的防盗链的操作方法  # Nginx配置防盗链的完整步骤  # nginx 防盗链防爬虫配置详解  # NGINX中浏览器的盗链与防止被盗的实现  # 为空  # 设置为  # 的是  # 防盗链  # 在这个  # 将会  # 很容易  # 可以使用  # 可选  # 便会  # 这篇文章  # 盗链  # 不以  # 需要注意  # 仍能  # 过程中  # 正常显示  # 来至  # 实现了  # 决定了 


相关文章: 合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  建站之星后台管理:高效配置与模板优化提升用户体验  如何在云主机上快速搭建多站点网站?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Bpmn 2.0的XML文件怎么画流程图  如何通过cPanel快速搭建网站?  制作网站公司那家好,网络公司是做什么的?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  c# 在ASP.NET Core中管理和取消后台任务  金*站制作公司有哪些,金华教育集团官网?  如何用免费手机建站系统零基础打造专业网站?  简单实现Android文件上传  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  图册素材网站设计制作软件,图册的导出方式有几种?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站主机数据库如何配置才能提升网站性能?  小型网站制作HTML,*游戏网站怎么搭建?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何快速登录WAP自助建站平台?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站主机如何安装配置?新手必看操作指南  如何通过VPS建站无需域名直接访问?  如何快速重置建站主机并恢复默认配置?  微信小程序 input输入框控件详解及实例(多种示例)  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何彻底删除建站之星生成的Banner?  宝塔建站助手安装配置与建站模板使用全流程解析  如何用狗爹虚拟主机快速搭建网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何配置WinSCP新建站点的密钥验证步骤?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何快速建站并高效导出源代码?  西安专业网站制作公司有哪些,陕西省建行官方网站?  北京专业网站制作设计师招聘,北京白云观官方网站?  广平建站公司哪家专业可靠?如何选择?  如何选择最佳自助建站系统?快速指南解析优劣  如何快速搭建高效WAP手机网站?  已有域名和空间如何快速搭建网站?  建站主机选虚拟主机还是云服务器更好?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何在腾讯云服务器快速搭建个人网站?  如何零基础在云服务器搭建WordPress站点?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。