花了36元给我的个人博客上了一道防御
前言
双11活动薅了个羊毛,1折的价格买了一年的EdgeOne,正好可以为我的个人博客站点保驾护航。本文就来看看个人博客接入EdgeOne后的效果,如果也想薅羊毛的,赶紧去双11活动页面,不要错过这次机会。
EdgeOne 介绍
先简单介绍下EdgeOne,EdgeOne被称为下一代的CDN,CDN开发人员都知道,用于缓存网站内容、减少用户等待时间、提供更好的用户访问体验等。“下一代的CDN”怎么理解?我们不妨通过一张图了解一下EdgeOne。
如图所示,EdgeOne 在起到加速网络的同时还提供了多种防护策略,包括DDOS防护、CC防护、WEB安全防护以及BOT安全防护等。
简单来讲,EdgeOne 就是CDN和高仿服务器的结合体。
高仿多贵呀,所以说趁双11活动赶紧薅个羊毛。
个人站点接入 EdgeOne
那废话不多说,赶紧把我的网站接到 EdgeOne 看看效果。
接入注意事项
在接入EdgeOne之前,有两个注意事项:
- EdgeOne 需要绑定网站域名,且域名需要备案,否则无法接入。如果没有备案可以前往域名备案处,备案时长大概15天。
- 如果域名不是腾讯云的,需要在域名提供商解析为腾讯云的。
添加站点
在进入EdgeOne控制台后添加一个站点,如下图。
然后根据提示输入你的域名、选择购买的套餐以及接入模式,最后前往云解析DNS添加下图的DNS解析记录进行验证。
添加加速域名
上一步去DNS添加解析记录只是为了验证你的站点和Edge的关系,这一步的添加速域名才是真正将网站接入进来,受到EdgeOne的保护。
站点添加完成后,进入站点添加你的域名
然后根据步骤进行域名配置、DNS解析。
完成以上步骤后,你的站点就可以受到EdgeOne的保护了。
接下来就来看看EdgeOne的防护效果。
EdgeOne 防护效果
作为CDN的EdgeOne,网站加速自然不用说。这里主要验证“新一代CDN”的功能:防护。
EdgeOne 的防护策略是非常丰富的,除了DDoS防护外,我比较关注Web防护有哪些策略,下面列出几个示例。
基础访问管控
EdgeOne提供的基础访问管控就是我们常见的一些防护措施,例如: IP 黑白名单、Referer 黑名单、UA 黑白名单或地域限制等。
如下,我配置了对陕西地区可访问的规则,当我在北京进行访问域名时将会被拦截。
效果如下
精确管控
精确管控也比较好理解,通过精确匹配规则的配置起到防护作用。例如:指定路径仅允许指定用户访问。
如下,我配置了只有内部员工(公司IP)才可以访问管理系统(/admin),当我在其他IP下访问时将会被拦截。
效果如下,可以正常请求其他URL(/)。
CC 防护
CC攻击是DDoS攻击的一种形式,通过大量合法的请求占用服务器资源。那 CC 防护自然是用来对应CC攻击,EdgeOne 提供自适应以及精准速率限制。
自适应控制是默认是开启的,会根据最近 7 天请求速率基线,每 24 小时自动更新。并且会识别请求速率异常的可疑客户端,自动生成处置规则,短时间内限制可疑客户端访问。
如下,我将访问限制等级设置为紧急(40次/10秒),当某一客户端请求超过该限制时就会被拦截。
效果如下
对于特定的场景还可以选择精准速率限制,例如下述场景:
对于撞库和暴力破解攻击的场景中,攻击者通常会频繁地使用访问登录 API 接口尝试获取或破解信息。
通过限制对登录接口的请求频率,可以大幅缓解攻击者的破解尝试,从而有效抵御这类攻击。
如下面的配置中,/login接口允许的访问调用频次为10次/分钟,当超过频次限制后,将封禁该 IP 10分钟。
托管规则管控
托管规则是 EdgeOne 内置的预设防护策略,包括我们常见的 xss跨站脚本攻击防护、SQL注入攻击防护等18个规则以及500+安全防护规则,可以说是涵盖了大部分的Web安全攻击防护,并且还会不断持续更新。
下面,我们看一下最常见XSS攻击防护配置及应用。
XSS攻击防护
XSS攻击是攻击者将恶意脚本注入到用户浏览的网页中,执行其他恶意操作(如重定向用户到钓鱼网站、在用户设备上安装恶意软件等)。
模拟XSS攻击:假设有一个简单的PHP页面,它接受用户输入并显示在页面上,代码如下:
<?php
$input = $_GET['user_input'];
echo "Welcome, " . $input . "!";
?>
在URL中,输入恶意代码:
http://{站点}/testXSS.php?user_input=<script>alert('XSS');</script>
现在将全局观察模式关闭,开启防护。
再次输入URL:
http://{站点}/testXSS.php?user_input=<script>alert('XSS');</script>
就会看到该攻击被拦截。
还有很多防护规则感兴趣的可以去自行体验,这里不再多说明。
总结
接入 EdgeOne 最大的一个感受就是:加速防护一体、全面、简单方便。
通常网站要达到CDN和DDOS等防护效果,最少需要购买2个以上的产品,但是 EdgeOne 可以同时兼备。并且安全防护的策略也非常全面,配置也非常简单。通过 EdgeOne 能够快速搭建一套网站安全防护体系,更重要的是价格似乎也非常划算。
相关文章:

花了36元给我的个人博客上了一道防御
前言 双11活动薅了个羊毛,1折的价格买了一年的EdgeOne,正好可以为我的个人博客站点保驾护航。本文就来看看个人博客接入EdgeOne后的效果,如果也想薅羊毛的,赶紧去双11活动页面,不要错过这次机会。 EdgeOne 介绍 先简…...
浅谈C++之内存管理
一、基本介绍 内存管理是C最令人切齿痛恨的问题,也是C最有争议的问题,C高手从中获得了更好的性能,更大的自由,C菜鸟的收获则是一遍一遍的检查代码和对C的痛恨,但内存管理在C中无处不在,内存泄漏几乎在每个C…...
719. 找出第 K 小的数对距离
目录 题目解法 题目 数对 (a,b) 由整数 a 和 b 组成,其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k ,数对由 nums[i] 和 nums[j] 组成且满足 0 < i < j < nums.length 。返回 所有数对距离中 第 k 小的数对距离。…...

【图像压缩感知】论文阅读:Self-supervised Scalable Deep Compressed Sensing
tips:本文为个人阅读论文的笔记,仅作为学习记录所用。 Title:Self-supervised Scalable Deep Compressed Sensing Journal:IJCV 2024 代码链接:GitHub - Guaishou74851/SCNet: Self-Supervised Scalable Deep Comp…...

Swift 宏(Macro)入门趣谈(一)
概述 苹果在去年 WWDC 23 中就为 Swift 语言新增了“其利断金”的重要小伙伴 Swift 宏(Swift Macro)。为此,苹果特地用 2 段视频(入门和进阶)颇为隆重的介绍了它。 那么到底 Swift 宏是什么?有什么用&…...
linux常见资源查询命令(持续更新)
年纪大了,很多命令记不住了,但偶尔也需要用到,通过搜索也需要点时间,特此记录。 不同操作系统命令会有所区别,下面是大部分时候工作的机器系统: CentOS release 7.5 (Final)Kernel \r on an \m 1、实时查…...

JavaWeb:文件上传1
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
C++ 中的异常处理机制是怎样的?
异常处理的基本概念: 异常: 程序在运行时发生的错误或意外情况。 抛出异常: 使用 throw 关键字将异常传递给调用堆栈。 捕获异常: 使用 try-catch 块捕获和处理异常。 异常类型: 表示异常类别的标识符。 异常处理流程: 抛出异常: 当检测到错误或意…...

SwiftUI-基础入门
开发OS X 图形应用界面时有三种实现方式:XIB、Storyboard、SwiftUI。Storyboard基于XIB做了优化,但XIB基本被放弃了,而SwiftUI是苹果公司后来开发的一套编程语言,用来平替Objective-C。虽然现在Swift 6 还是有些不完善的地方&…...

C++builder中的人工智能(20):如何在C++中开发一个简单的Hopfield网络
在AI技术的发展历史中,模式识别模型是最伟大的AI技术之一,尤其是从像素图像中读取文本。其中一个是Hopfield网络(或称为Ising模型的神经网络或Ising–Lenz–Little模型),这是一种递归神经网络形式,由John J…...

video2gif容器构建指南
一、介绍 1.项目概述 Video2Gif 项目旨在提供一种便捷的方式,让用户能够将视频中的精彩片段快速转换为 GIF 动画。GIF 动画因其循环播放、文件体积小等特点,在社交媒体、聊天工具中广泛应用,用于表达情感、分享趣事等。 2.核心功能 视频导…...
探秘Spring Boot中的@Conditional注解
文章目录 1. 什么是Conditional注解?2. 为什么需要Conditional注解?3. 如何使用Conditional注解?4. Conditional注解的高级用法5. 注意事项6. 结语推荐阅读文章 在Spring Boot的世界里,配置的灵活性和多样性是至关重要的。有时候&…...
树形dp总结
这类题型在 dp 中很常见,于是做一个总结吧!!! 最经典的题:没有上司的舞会 传送门:没有上司的舞会 - 洛谷 状态表示: dp[i][0] 为 以 i 为根的子树中,选择 i 节点的最大欢乐值 d…...

【算法一周目】双指针(2)
目录 有效三角形的个数 解题思路 C代码实现 和为s的两个数字 解题思路 C代码实现 三数之和 解题思路 C代码实现 四数之和 解题思路 C代码实现 有效三角形的个数 题目链接:611. 有效三角形的个数题目描述:给定一个包含非负整数的数组nums&…...
vue内置方法总结
目录 1. 生命周期钩子方法 2. 响应式系统方法 3. DOM 更新方法 4. 事件处理方法 5. 访问子组件和 DOM 元素 6. 数据观察方法 7. 其他方法 1. 生命周期钩子方法 这些方法在 Vue 实例的不同生命周期阶段自动调用。 beforeCreate: 在实例初始化之后,…...
面向对象分析与设计
前言: 感觉书本上和线上课程, 讲的太抽象, 不好理解, 但软件开发不就是为了开发应用程序吗?! 干嘛搞这么抽象,对吧, 下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂, 当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看…...
lineageos-19 仓库群遍历,打印第一条git log
lineageos-19 仓库群遍历,打印第一条git log RepoLsRootD/app4/lineage19_oneplus6 LogF/app4/wiki/repo_head_log_ls-lineageos19.1.log rm -v $LogF && \ cd $RepoLsRootD && \ find . -type l -path "*/*.git" -not -path "./.repo/*"…...

详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
在C#中,SendMessage方法是一个强大的工具,它允许我们与Windows API交互,模拟键盘和鼠标事件。本文将详细介绍如何使用SendMessage方法来发送鼠标和键盘消息。 1. SendMessage方法概述 SendMessage是Windows API中的一个函数,它用…...
VMware安装黑苹果后ICLOUD_UNSUPPORTED_DEVICE(不支持的Icloud设备)
修改文件 关闭虚拟机找到虚拟机文件中以.vmx结尾的文件编辑内容(补充缺失) board-id "Mac-551B86E5744E2388" hw.model.reflectHost "FALSE" hw.model "MacBookPro14,3" serialNumber.reflectHost "FALSE"…...

Python | Leetcode Python题解之第542题01矩阵
题目: 题解: class Solution:def updateMatrix(self, matrix: List[List[int]]) -> List[List[int]]:m, n len(matrix), len(matrix[0])# 初始化动态规划的数组,所有的距离值都设置为一个很大的数dist [[10**9] * n for _ in range(m)]…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...