首页 > 其他分享 >网站安全-图床的防护与优化

网站安全-图床的防护与优化

时间:2024-07-24 15:40:57浏览次数:13  
标签:七牛 缓存 回源 CDN 防护 图床 设置 优化 命中率

之前说了 CDN 的防护措施,接下来说说七牛云的防护。

七牛云是在第二天才生成账单的(比如今天 8~9 点会结算昨天的费用)。如果欠费了,在欠费保护期内还能使用,过了后就会停用,所以会产生这种赊账的情况。

防盗链

对于网络攻击的话,有以下方式来防护:

  1. 设置告警,参考官方文档。但只有邮件和短信的方式,如果是三更半夜的话可能不能及时做出反应
  2. 设置防盗链与白名单:Referer 防盗链,这个在博客搭建系列中的图床篇也讲过。除此之外,还有时间戳防盗链IP 黑名单等,可以在 CDN => 域名管理 => 配置 => 访问控制 进行设置
  3. 设置回源鉴权:参考 回源鉴权 - 七牛开发者中心。Referer 是可以伪造的,而回源鉴权就是每次访问图片时需要带上参数,去自己的一个服务器上鉴权,通过了才能访问图片。该功能设置起来较为麻烦

按需选择,一般来说 Referer 防盗链就够了。

设置单 IP 访问频率限制 QPS,以及带宽

该设置很有用,甚至可以说是防止被刷流量的核心操作。

单 IP 访问阈值,就是限制每秒多少次请求,这个需要根据你的网站以及资源情况进行设置,例如平均每篇博客 15 张图片,那么就可以设置成 15。

这个设置没法直接设置,需要提交工单找工程师进行设置:七牛技术支持平台

​​

配置告警

预警设置需要根据自己的网站实际情况。可以查看自己平时正常的流量和带宽(在 CDN-概览中,可以看今天和本月的情况):

​​

然后在告警配置中添加:

​​

提高命中率

我们使用了 CDN,那么自然是希望别人访问我们网站时,优先从 CDN 服务器获取数据;如果 CDN 没有,才会回源,回源就相当于没有命中(和计算机组成原理中 Cache 的命中率类似)。

命中率越高,说明回到你的服务器/源站的数量越少。一方面你的服务器压力越轻,另一方面浏览的体验也越好。

七牛开发者中心中搜索命中率,可以看到相关文档:命中率_使用指南

登录七牛开发者平台后,进入 CDN 控制台,选择【统计分析】,点击【命中率】进入查询界面:

然后可以查询命中率(最长统计最近 30 天的):

如果你的命中率较低,原因可能是:

  1. 源站动态资源较多,多为不可缓存的内容,也会导致频繁回源拉取。
  2. 资源访问量较低,文件热度不够,CDN 收到请求较少无法有效命中缓存。
  3. 缓存配置不合理,缓存时间过短,CDN 节点频繁回源。
  4. 访问资源的 URL 带参数,并且参数不断变化。当用不同的 URL 去访问 CDN 的时候,CDN 会认为这是一个新请求(即便这两个不同的 URL 其实是访问到了同一个文件,并且该文件已经缓存在节点上),会回源去拉取所请求的内容。例如,有时候给图片后面带个时间参数,或者长宽、水印等参数,都会影响。

那么对应的解决方法为(先打开配置,参考缓存配置 - 七牛开发者中心):

  1. 延长静态资源的缓存期。例如图片等资源,后缀为 .jpg;.jpeg;.png;.bmp;.gif;.webp;.ico​,缓存为 1 年(七牛云最多支持一年)
  2. 根据自身情况,选择是否忽略 URL 参数

参考

降低被恶意访问、盗量的风险_最佳实践_对象存储 - 七牛开发者中心

这几个方法可以大大提高 CDN 的命中率,以七牛云对象存储为例_设置缓存时长和忽略参数 - 陶小桃 Blog

七牛云系列文章(3):防止七牛云 CDN 被恶意刷爆流量的思路和措施 - 陶小桃 Blog

七牛云 IP 黑名单-防止流量盗刷-节约 30% 流量费用

七牛流量被盗刷后! - 明月登楼的博客

标签:七牛,缓存,回源,CDN,防护,图床,设置,优化,命中率
From: https://www.cnblogs.com/PeterJXL/p/18321017

相关文章

  • Mysql性能优化
    以下配置需要找到MySQL的my.cnf的配置文件,在文件中修改,增加或者修改以下配置字符集character_set_server=utf8init-connect='SETNAMESutf8'validate_password=OFF大小写lower_case_table_names=1扩展设置最大链接数初始100,链接超过之后就不能连接max_connections=5......
  • oracle大表性能优化
    1不修改表结构的优化1.1收缩表,降低高水位线ALTERTABLETESTENABLEROWMOVEMENT;ALTERTABLETESTSHRINKSPACE;1.2对表收集统计信息BEGINDBMS_STATS.GATHER_TABLE_STATS(ownname=>user,tabname=>'TEST');END;1.3使用oracle的并行查询功......
  • 面试常考--前端性能优化之大文件上传
    大文件上传是前端开发中常见的需求之一,特别是在需要处理高清图片、视频或其他大型文件时。优化大文件上传不仅可以提升用户体验,还能有效减轻服务器负担。本文将深入探讨大文件上传的几种常见优化技术,包括文件切片与并发上传、断点续传、后台处理优化、安全性考虑和用户体验优化。......
  • Android超复杂布局加载速度优化
    一、概述有时候由于实际业务的需要,或者产品经理或设计师考虑的不够全面,会导致某一个或某些页面的布局超级复杂。这些超级复杂的UI在经过程序员通过传统布局优化过后仍然是复杂的(优化布局层级、优化层级布局数量等)。这就会导致布局加载速度过于缓慢。直接的结果就是打开A......
  • 基于树种算法优化的TSP问题求解
    智能优化算法应用:基于树种算法的TSP问题求解-附代码文章目录智能优化算法应用:基于树种算法的TSP问题求解-附代码1.TSP问题3.树种算法4.实验参数设定5.算法结果6.Matlab代码7.Python代码摘要:TSP是数学领域内一道著名的难题之一,如何求解一直是学术界研究的热点问......
  • 基于平衡优化器算法优化的TSP问题求解
    智能优化算法应用:基于平衡优化器算法的TSP问题求解-附代码文章目录智能优化算法应用:基于平衡优化器算法的TSP问题求解-附代码1.TSP问题3.平衡优化器算法4.实验参数设定5.算法结果6.Matlab代码7.Python代码摘要:TSP是数学领域内一道著名的难题之一,如何求解一直是......
  • 单调队列优化DP
    通法:写的时候要灵活变通(可以考虑类似于双指针的技巧,如跳房子)。P3957[NOIP2017普及组]跳房子套个二分,然后由于与位置相关,所以维护一个左端点和右端点,右端点考虑最短步长会不会跳过头,左端点考虑最长步长会不会跳不到。修剪草坪满足连续性质,所以一次考虑一段,\(f_i\)保证\(......
  • 探索Java虚拟机优化技术:从基础到高级
    探索Java虚拟机优化技术:从基础到高级大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java虚拟机(JVM)的优化技术,从基础到高级,为Java程序的高效运行提供全面指导。一、JVM概述Java虚拟机是Java程序的运行环境,负责加载字节码、执行代码、......
  • 深度模型中的优化 - 引言篇
    序言在人工智能与机器学习的广阔领域中,深度模型作为核心技术之一,正引领着智能应用的新纪元。深度模型通过构建多层神经网络,模拟人脑的学习与推理过程,以处理复杂的数据模式与任务。然而,这些强大能力的背后,离不开高效的优化算法作为支撑。优化,作为深度模型训练的核心环节,旨在......
  • Aquila优化算法(基本原理+matlab源代码)—— 基于Aquila Optimizer原始论文分析
    Matlab源代码位于:AquilaOptimizer:Ameta-heuristicoptimizationalgorithm-FileExchange-MATLABCentral(mathworks.cn)1Aquila优化算法AO是一种基于种群优化方法,受启发于Aquila捕获猎物的方式。Aquila捕获猎物的方式主要有四种:(1)有垂直弯曲的高空翱翔(2)用短......