feat: update doc

This commit is contained in:
lanlan 2023-11-21 15:33:53 +08:00
parent 24a8d17575
commit d15bd8761a
245 changed files with 26565 additions and 18937 deletions

20
doc/.gitignore vendored Normal file
View file

@ -0,0 +1,20 @@
# Dependencies
/node_modules
# Production
/build
# Generated files
.docusaurus
.cache-loader
# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

79
doc/README.md Normal file
View file

@ -0,0 +1,79 @@
# Website
使用 [Docusaurus 2](https://docusaurus.io/), 作为基础框架。
### 开发
```sh
# 代码变动后可以自动更新,但是不能
npm start
# 支持搜索功能,但是无法自动更新
npm run preview
```
### 部署
手动本地构建 docker 镜像,然后运行
```sh
docker build -t website:latest .
docker run --name site -p 3000:80 -d website:latest
```
### 链接替换
使用 nginx rewrite 把更改地址的链接记录下,运行旧链接访问到新地址
```nginx
location / {
rewrite /posts/guide_introduction /docs/ permanent;
rewrite /posts/guide_install /docs/guide/install permanent;
rewrite /docs/上手指南/guide_install /docs/guide/install permanent;
rewrite /posts/guide_login /docs/guide/login permanent;
rewrite /docs/上手指南/guide_login /docs/guide/login permanent;
rewrite /posts/guide_config /docs/guide/config permanent;
rewrite /docs/上手指南/guide_config /docs/guide/config permanent;
rewrite /posts/guide_test /docs/guide/test permanent;
rewrite /docs/上手指南/guide_test /docs/guide/test permanent;
rewrite /posts/guide_upgrade /docs/guide/upgrade permanent;
rewrite /docs/上手指南/guide_upgrade /docs/guide/upgrade permanent;
rewrite /posts/faq_install /docs/faq/install permanent;
rewrite /docs/常见问题排查/faq_install /docs/faq/install permanent;
rewrite /posts/faq_login /docs/faq/login permanent;
rewrite /docs/常见问题排查/faq_login /docs/faq/login permanent;
rewrite /posts/faq_access /docs/guide/config permanent;
rewrite /docs/常见问题排查/faq_access /docs/guide/config permanent;
rewrite /posts/faq_config /docs/faq/config permanent;
rewrite /docs/常见问题排查/faq_config /docs/faq/config permanent;
rewrite /posts/faq_other /docs/faq/other permanent;
rewrite /docs/常见问题排查/faq_other /docs/faq/other permanent;
rewrite /posts/about_syntaxanalysis /docs/about/syntaxanalysis permanent;
rewrite /docs/关于雷池/about_syntaxanalysis /docs/about/syntaxanalysis permanent;
rewrite /posts/about_challenge /docs/about/challenge permanent;
rewrite /docs/关于雷池/about_challenge /docs/about/challenge permanent;
rewrite /posts/about_changelog /docs/about/changelog permanent;
rewrite /docs/关于雷池/about_changelog /docs/about/changelog permanent;
rewrite /posts/about_chaitin /docs/about/chaitin permanent;
rewrite /docs/关于雷池/about_chaitin /docs/about/chaitin permanent;
rewrite /docs/faq/access /docs/guide/config permanent;
rewrite /docs/faq/config /docs/guide/config permanent;
proxy_pass http://upstream;
}
```

View file

@ -5,16 +5,19 @@ slug: /
# 雷池简介
## 什么是 WAF
WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。区别于传统防火墙WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。
## 什么是雷池
雷池是长亭科技耗时近 10 年倾情打造的 WAF核心检测能力由智能语义分析算法驱动。
雷池SafeLine是长亭科技耗时近 10 年倾情打造的 WAF核心检测能力由智能语义分析算法驱动。
Slogan: 不让黑客越雷池半步。
## 什么是 WAF
WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。
区别于传统防火墙WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。
## 为什么是雷池
#### 便捷性
@ -45,12 +48,16 @@ Slogan: 不让黑客越雷池半步。
下图是一个简单的网站流量拓扑,外部用户发出请求,经过网络最终传递到网站服务器。
此时,若外部用户中存在恶意用户,那么由恶意用户发出的攻击请求也会经过网络最终传递到网站服务器。
![](/images/docs/guide_introduction/website_without_safeline.png)
![](/images/docs/guide_introduction/website_without_safeline.svg)
社区版雷池以反向代理方式接入,优先于网站服务器接收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。
通过以上行为,最终确保外部攻击流量无法触达网站服务器。
![](/images/docs/guide_introduction/website_with_safeline.png)
![](/images/docs/guide_introduction/website_with_safeline.svg)
详情查看 **[雷池技术架构](/docs/about/framework)**

View file

@ -0,0 +1,134 @@
---
title: "安装雷池"
---
# 安装雷池
根据实际情况选择安装方式,支持一键安装
- [环境检测](#环境检测) : 查看环境是否符合安装要求
- [在线安装](#在线安装) : 推荐方式,一行命令完成安装
- [离线安装](#离线安装) : 下载离线安装包,轻松完成安装
- [其他方式安装](#使用牧云助手安装) : 使用牧云助手,点击即可完安装
## 在线安装(推荐)
**_如果服务器可以访问互联网环境推荐使用该方式_**
复制以下命令执行,即可完成安装
```
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
```
**若安装失败,请参考 [安装问题](/docs/faq/install)**
### 在线安装演示
<iframe src="//player.bilibili.com/player.html?aid=236214137&bvid=BV1Je411f7hQ&cid=1339309164&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"
style={{ width: '100%', height: '350px' }}
>
</iframe>
## 离线安装
**_如果服务器不可以访问互联网环境推荐使用该方式_**
> 离线安装前需完成[环境检测](#环境检测),默认已完成docker环境准备
首先,下载 [雷池社区版镜像包](https://demo.waf-ce.chaitin.cn/image.tar.gz) 并传输到需要安装雷池的服务器上,执行以下命令加载镜像
```
cat image.tar.gz | gzip -d | docker load
```
执行以下命令创建并进入雷池安装目录
```
mkdir -p safeline # 创建 safeline 目录
cd safeline # 进入 safeline 目录
```
下载 [编排脚本](https://waf-ce.chaitin.cn/release/latest/compose.yaml) 并传输到 safeline 目录中
执行以下命令,生成雷池运行所需的相关环境变量
```
echo "SAFELINE_DIR=$(pwd)" >> .env
echo "IMAGE_TAG=latest" >> .env
echo "MGT_PORT=9443" >> .env
echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "REDIS_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
echo "SUBNET_PREFIX=172.22.222" >> .env
```
执行以下命令启动雷池
```
docker compose up -d
```
**若安装失败,请参考 [安装问题](/docs/faq/install)**
### 离线安装演示
<iframe src="//player.bilibili.com/player.html?aid=236214137&bvid=BV1Je411f7hQ&cid=1339309164&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"
style={{ width: '100%', height: '350px' }}
>
</iframe>
## 使用牧云助手安装
使用 [牧云主机管理助手](https://collie.chaitin.cn/) 进行一键安装
直接点击应用市场的安装按钮安装
![](/images/docs/guide_install/collie_apps.png)
### 助手安装演示
<iframe src="//player.bilibili.com/player.html?aid=613778738&bvid=BV1sh4y1t7Pk&cid=1134834926&p=1" scrolling="no" border="0" frameBorder="no" framespacing="0" allowFullScreen="{true}"
style={{ width: '100%', height: '350px' }}
> </iframe>
## 环境检测
最低配置需求
- 操作系统Linux
- 指令架构x86_64
- 软件依赖Docker 20.10.14 版本以上
- 软件依赖Docker Compose 2.0.0 版本以上
- 最小化环境1 核 CPU / 1 GB 内存 / 5 GB 磁盘
可以逐行执行以下命令来确认服务器配置
```shell
uname -m # 查看指令架构
docker version # 查看 Docker 版本
docker compose version # 查看 Docker Compose 版本
docker-compose version # 老版本查看Compose 版本
cat /proc/cpuinfo| grep "processor" # 查看 CPU 信息
free -h # 查看内存信息
df -h # 查看磁盘信息
lscpu | grep ssse3 # 确认CPU是否支持 ssse3 指令集
```
### 配置检测演示
<iframe src="//player.bilibili.com/player.html?aid=918634668&bvid=BV1Uu4y1L7Ko&cid=1339439164&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"
style={{ width: '100%', height: '350px' }}
></iframe>
## 常见安装问题
请参考 [安装问题](/docs/faq/install)
下一步请参考 [登录雷池](/docs/guide/login)

View file

@ -0,0 +1,28 @@
---
title: "登录雷池"
---
# 登录雷池
> TOTP (Time-based One-Time Password algorithm) 将密钥与当前时间进行组合,通过哈希算法产生一次性密码,已被采纳为 RFC 6238被用于许多双因素身份验证系统。
## 登录演示
浏览器打开后台管理页面 `https://<waf-ip>:9443`
根据界面提示,使用 **支持 TOTP 的认证软件或者小程序** 扫描二维码,然后输入动态口令登录:
<iframe src="//player.bilibili.com/player.html?aid=748637002&bvid=BV1wC4y177zN&cid=1339420830&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"
style={{ width: '100%', height: '350px' }}
></iframe>
### 注意事项:
1.服务器和totp应用的**时间必须保持一致**,否则无法验证通过
2.跳转到登录页后,**无法回退查看二维码**,需使用页面提供的方法重置
## 常见登录问题
请参考 [登录问题](/docs/faq/login)

View file

@ -0,0 +1,126 @@
---
title: "配置站点"
---
# 配置站点
根据指导,完成站点配置
## 工作原理
雷池社区版主要以 **反向代理** 的方式工作,类似于一台 nginx 服务。
**部署时,需要让网站流量先抵达雷池,经过雷池检测和过滤后,再转给原来的网站业务。**
建议优先熟悉反向代理概念再继续配置
## 配置界面
![config_site.gif](https://waf-ce.chaitin.cn/images/gif/config_site.gif)
## 在单独的服务器部署雷池时配置(推荐)
### 开始配置
```shell
环境信息:
网站服务器:IPA对外端口80域名example.com
部署雷池的服务器:IPB
目的使用雷池的80端口接受请求进行防护
步骤:
1. 必须将网站流量指向雷池的IPB。例如修改域名解析服务的配置将域名解析到雷池IPB
2. 具体配置参考下图
3. 禁止网站服务器IPA所有除了雷池之外的访问。例如配置防火墙
```
![Alt text](/images/docs/guide_config/config_site2.png)
### 配置完成
浏览器访问`example.com:80`,若能获取到业务网站的响应,并且站点上 “今日访问量” 增加,则代表配置成功。
效果大致如下:
![Alt text](/images/docs/guide_config/deploy_on_separate_server.svg)
## 在网站服务器上部署雷池时配置
提示:不建议,因为这样单机的负载更高、设备宕机的概率更大。非纯净的环境还会提高升级失败的概率,故障排查更困难。
### 开始配置
```shell
参考场景:
网站服务器:IPA对外端口80域名example.com
服务器上部署雷池:雷池页面端口9443
目的继续使用网站的80端口接受请求进行防护
步骤:
1.需要原网站的监听修改为端口A使80端口变成未使用状态再进行配置
2.具体配置参考下图
```
![Alt text](/images/docs/guide_config/config_site1.png)
<!-- ### 参考视频
<video width="640" height="360" controls id="mp4" src="https://chaitin-marketing-public.oss-cn-beijing.aliyuncs.com/chaitin-website/safeline.mp4" type="video/mp4">
</video> -->
### 配置完成
浏览器访问`example.com:80`,若能获取到业务网站的响应,并且站点上 “今日访问量” 增加,则代表配置成功。
效果大致如图:
![Alt text](/images/docs/guide_config/deploy_on_web_server.svg)
## 和其他反代设备一起部署时配置
雷池作为反代设备,可以在任意位置接入主链路。
将接入位置的流量指向雷池,并在雷池的 “上游服务器” 处填写请求的下一跳服务器地址即可。
### 开始配置
```shell
环境信息:
网站服务器:IPA对外端口80域名example.com
部署雷池的服务器:IPB
上游nginxIPC端口C
下游nginxIPD
目的使用雷池的80端口接受请求进行防护
步骤:
1. 将下游nginx的流量指向雷池的IPB访问端口指向80。
2. 具体配置参考下图
```
![Alt text](/images/docs/guide_config/config_site3.png)
### 配置完成
浏览器访问`example.com:80`,若能获取到业务网站的响应,并且站点上 “今日访问量” 增加,则代表配置成功。
效果大致如图:
![Alt text](/images/docs/guide_config/deploy_with_other_server.svg)
## 常见配置问题
请参考 [配置问题](/docs/faq/config)

View file

@ -1,8 +1,8 @@
---
title: "测试防护效果"
title: "测试防护"
---
# 测试防护效果
# 测试防护
使用手工或者自动的方式测试防护效果
## 确认网站可以正常访问
@ -14,24 +14,25 @@ title: "测试防护效果"
> 主机名可以是雷池的 IP也可以是网站的域名确保域名已经解析到雷池
> 端口是你在雷池页面中配置的网站端口
若网站访问不正常,请参考 [网站无法访问](/docs/02-guide/03-config.md)。
若网站访问不正常,请参考 [配置问题](/docs/03-faq/03-config.md)。
## 尝试手动模拟攻击
打开浏览器,访问以下地址即可模拟出对应的攻击:
访问以下地址模拟出对应的攻击:
- 模拟 SQL 注入,请访问 `http://<IP或域名>:<端口>/?id=1%20AND%201=1`
- 模拟 XSS请访问 `http://<IP或域名>:<端口>/?html=<script>alert(1)</script>`
通过浏览器,你将会看到雷池已经发现并阻断了攻击请求。
![Alt text](/images/docs/guide_config/protection_page.png)
若请求没有被阻断,请参考 [防护不生效](/docs/03-faq/03-other.md)
若请求没有被阻断,请参考 [防护问题](/docs/03-faq/04-test.md)
## 自动化测试防护效果
两条请求当然无法完整的测试雷池的防护效果,可以使用 blazehttp 自动化工具进行批量测试
#### 下载测试工具
### 下载测试工具
- [Windows 版本](https://waf-ce.chaitin.cn/blazehttp/blazehttp_windows.exe)
- [Mac 版本(x64)](https://waf-ce.chaitin.cn/blazehttp/blazehttp_mac_x64)
@ -40,53 +41,38 @@ title: "测试防护效果"
- [Linux 版本(ARM)](https://waf-ce.chaitin.cn/blazehttp/blazehttp_linux_arm64)
- [源码仓库](https://github.com/chaitin/blazehttp)
#### 准备测试样本
### 准备测试样本
- [测试样本](https://waf-ce.chaitin.cn/blazehttp/testcases.zip)
下载请求样本后解压到 `testcases` 目录
#### 开始测试
### 开始测试
1. 将测试工具 `blazehttp` 和测试样本 `testcases` 放在同一个目录下
2. 进入对应的目录
3. 使用以下请求开始测试
```
./blazehttp -t http://<IP或域名>:<端口> -g './testcases/**/*.http'
./blazehttp -t http://<IP或域名>:<端口>
```
#### 测试效果展示
### 测试效果展示
```
# 测试请求
./blazehttp -t http://192.168.0.1:8080 -g './testcases/**/*.http'
sending 100% |██████████████████████████████████████████| (18/18, 86 it/s)
Total http file: 18, success: 18 failed: 0
Stat http response code
Status code: 403 hit: 16
Status code: 200 hit: 2
Stat http request tag
tag: sqli hit: 1
tag: black hit: 16
tag: file_include hit: 1
tag: file_upload hit: 1
tag: java_unserialize hit: 1
tag: php_unserialize hit: 1
tag: cmdi hit: 1
tag: ssrf hit: 1
tag: xslti hit: 1
tag: xss hit: 1
tag: xxe hit: 1
tag: asp_code hit: 1
tag: white hit: 2
tag: ognl hit: 1
tag: shellshock hit: 1
tag: ssti hit: 1
tag: directory_traversal hit: 1
tag: php_code hit: 1
.//blazehttp -t http://127.0.0.1:8008
sending 100% |█████████████████████████████████████████████████████████| (33669/33669, 940 it/s) [35s:0s]
总样本数量: 33669 成功: 33669 错误: 0
检出率: 71.65% (恶意样本总数: 575 , 正确拦截: 412 , 漏报放行: 163)
误报率: 0.07% (正常样本总数: 33094 , 正确放行: 33071 , 误报拦截: 23)
准确率: 99.45% (正确拦截 + 正确放行)/样本总数
平均耗时: 1.00毫秒
```
## 常见防护问题
请参考 [防护问题](/docs/faq/test)

View file

@ -0,0 +1,75 @@
---
title: "配置其他"
---
# 配置其他
其他配置项介绍
### 黑白名单
黑名单:拦截
白名单:放通
注意条件AND是指同时符合如果希望多个匹配条件需要增加多条黑名单或者白名单
![Alt text](/images/docs/guide_config/other_config1.png)
### 频率限制
通过开启频率限制功能封锁恶意IP
![Alt text](/images/docs/guide_config/other_config2.png)
### 人机验证
详情查看 [人机验证2.0](/docs/about/challenge)
### 语义分析
详情查看 [语义分析检测算法](/docs/about/syntaxanalysis)
## 通用配置
### IP组配置
1.支持自定义IP组
2.长亭社区恶意IP情报需要加入IP情报共享计划才可以使用
### 证书管理
管理需要使用的正式,点击添加证书添加
### 其他
#### 源ip获取方式
1.使用默认的方式获取源IP
2.自定义获取源IP的header
#### 站点通用配置
1.如果配置站点需要http自动转为https功能时需要手动开启
2.支持使用hhtp/2
3.雷池支持开启IPv6的访问
4.代理增加信息,方便数据分析
#### 拦截页面附加说明
自定义拦截页面的提示信息
#### 雷池控制台证书
存放默认证书,可以自定义证书
#### IP情报共享计划
默认加入共享计划,加入后将共享攻击 IP 信息到社区,并可使用 IP 组 “长亭社区恶意 IP 情报”
## 常见配置问题
请参考 [其他问题](/docs/faq/other)

View file

@ -6,15 +6,17 @@ title: "升级雷池"
**注意**: 升级雷池时服务会重启,流量会中断一小段时间,根据业务情况选择合适的时间来执行升级操作。
[版本更新记录](/docs/about/changelog)
## 在线升级
执行以下命令即可进行升级。
执行以下命令进行升级。
```
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/upgrade.sh)"
```
[可选] 升级成功后,可以执行以下命令删除旧版本 Docke 镜像,释放磁盘空间。
[可选] 执行以下命令删除旧版本 Docke 镜像,释放磁盘空间。
```
docker rmi $(docker images | grep "safeline" | grep "none" | awk '{print $3}')
@ -57,4 +59,7 @@ docker compose down
docker compose up -d
```
OK你已经完成了升级
## 常见升级问题
请参考 [升级问题](/docs/faq/upgrade)

View file

@ -0,0 +1,115 @@
---
title: "安装问题"
---
# 安装问题
记录常见的安装问题
## 在线安装失败
1. 检查是否手动关闭防火墙
2. 检测配置是否符合最低的配置要求
> 参考 [环境检测](/docs/guide/install#环境检测) 方式
3. 如果连接 Docker Hub 网络不稳,导致镜像下载失败(超时):
>docker hub 默认使用国外节点拉取镜像,可以自行搜索配置国内镜像加速源
>采用 [离线安装](/docs/guide/install#离线安装) 方式
## 安装时遇到报错处理方法
#### 报错ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
需要安装 docker。尝试 `curl -fLsS https://get.docker.com/ | sh` 或者 [Install Docker Engine](https://docs.docker.com/engine/install/)。
#### 报错docker not found, unable to deploy
failed to create network safeline-ce
safeline-ce 是雷池部署时候创建的 network出现类似报错先重启下 dockerd 之后重试
需要启动 docker daemon 才能执行相关的命令。尝试 `systemctl start docker`
#### 报错docker compose v2 not found, unable to deploy
需要安装 `docker compose v2`。尝试 `[Install Docker Compose](https://docs.docker.com/compose/install/)`
#### 报错: `failed to create network safeline-ce`
safeline-ce 是雷池部署时候创建的 network出现类似报错先重启下 dockerd 之后重试。
#### 报错: safeline-tengine 出现 Address already in use
`docker logs -f safeline-tengine` 容器日志中看到 `Address already in use` 信息。
端口冲突,根据报错信息中的端口号,排查是哪个服务占用了,手动处理冲突。
#### 报错safelint-mgt-api 出现 Operation not permitted
`docker logs -f safelint-mgt-api` 容器日志中看到 `runtime/cgo: pthread_create failed: Operation not permitted` 报错,这个错误一般会在 docker 20.10.9 及以下发生。
- 最推荐的方式是升级 docker 到最新版本尝试解决这个问题。
- 或您的系统支持配置 seccomp (执行 `grep CONFIG_SECCOMP= /boot/config-$(uname -r)` 输出 `CONFIG_SECCOMP=y` 则为支持),
则可以在雷池工作目录下载 [seccomp](https://waf-ce.chaitin.cn/release/latest/seccomp.json) 并且编辑 compose.yaml 文件,
在 management 下加入如下配置项,然后执行 `docker compose down && docker compose up -d` 来尝试解决这个问题:
```yaml
security_opt:
- seccomp=./seccomp.json
```
#### 报错safeline-postgres 出现 Operation not permitted
`docker logs -f safeline-postgres` 容器日志中看到 `Operation not permitted` 报错。
可能是您的 docker 版本过低,升级 docker 到最新版本尝试一下。
#### 其他奇怪的报错比如It does not belong to any of this network's subnets...等等
查看[如何卸载](#如何卸载) ,卸载以后重新安装一次
## 如何自定义 SafeLine 安装路径?
基于最新的 `compose.yaml`,你可以手动修改 `.env` 文件的 `SAFELINE_DIR` 变量。
## 雷池和业务服务可以部署到同一台机器中吗?
可以,但是不建议,机器负载将高于分开部署。
## MacOS/Windows 是否支持安装雷池
社区版暂不支持,如有需求咨询企业版。
## docker compose 还是 docker-compose
属于两个版本推荐使用 docker compose
参考资料https://stackoverflow.com/questions/66514436/difference-between-docker-compose-and-docker-compose
## 如何修改 SafeLine 后台管理的默认端口?比如:本机 `:9443` 已经被别的服务占用
使用 `ss -antp|grep LISTEN` 确认端口使用情况,找到未被占用端口
修改在安装目录(默认safeline)下的隐藏文件`.env` 文件,你可以手动添加 `MGT_PORT` 变量到 `.env` 文件。
文件修改后,需要等重启才会生效。
在安装目录(默认safeline)下执行 `docker compose down && docker compose up -d`
## 如何卸载
在安装目录(默认safeline)下执行 `docker compose down`
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -4,39 +4,51 @@ title: "登录问题"
# 登录问题
> TOTP (Time-based One-Time Password algorithm) 将密钥与当前时间进行组合,通过哈希算法产生一次性密码,已被采纳为 RFC 6238被用于许多双因素身份验证系统。
记录常见的登录问题
## 动态口令错误
#### 时间不准
### 时间不一致
雷池社区版动态口令认证采用了 TOTP 算法TOTP 与时间强相关,如果相关设备的时间不准,可能会导致动态口令计算错误。
1. 检查手机时间是否准确(或其他 TOTP 扫码设备)
1. 检查手机时间是否准确(或其他 TOTP 扫码设备),注意关注时区
2. 检查雷池服务器时间是否准确
#### 动态口令可能已失效
### 口令可能已失效
TOTP 动态口令只有 30 秒的有效期,如果认证失败,请在动态口令刷新后重新尝试。
### 其他情况
检测容器状态是否正常,使用命令重置口令后继续尝试
## 重新绑定动态口令
登录服务器,打开终端,执行以下命令即可重置动态口令
命令执行完成后打开雷池页面重新绑定即可。
```
docker exec safeline-mgt-api resetadmin
```
命令执行完成后打开雷池页面重新绑定即可。
**注意:重置动态口令后要尽快完成绑定,别被其他人捷足先登了。**
## 多人使用
如果想多人使用雷池社区版,只需要以下 3 步:
如果之前未保存绑定二维码,想多人使用雷池社区版,只需要以下 3 步:
1. 重置动态口令(参考 [重置认证](#重置认证)
2. 进入登录页面,这时会自动跳转到 TOTP 绑定页面,保存 “绑定二维码”(注意,非 “认证二维码”)
3. 将 “绑定二维码” 分享给其他人进行绑定,绑定后即可登录(注:“绑定二维码” 无绑定次数限制,无时效限制)
3. 将 “绑定二维码” 分享给其他人进行绑定“绑定二维码” 无绑定次数限制,无时效限制)
**注意:保存的 “绑定二维码” 千万别泄漏,任何人得到以后都可以绑定并登录。**
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -0,0 +1,79 @@
---
title: "配置问题"
---
# 配置问题
记录常见的配置问题
## 配置后网站无法访问,排查思路
如果按照指引配置了站点,但配置的网站无法访问
梳理问题可能存在的几个原因:
1.配置站点错误ip错误、端口冲突等
2.雷池端与配置的站点网络不通
3.访问雷池配置的站点端口网络不通,对于雷池端已配置的端口没有被开放访问(防火墙、安全组等)
## 排查步骤:
1. 明确 “网站无法访问” 的具体表现:
* 如果 `502 Bad Gateway tengine`
![Alt text](/images/docs/guide_config/tengine_502.png)
大概率是是雷池的上游服务器配置不正确,或者雷池无法访问到上游服务器。请继续按下面步骤排查,重点排查步骤 6、7
* 如果请求能够返回但是十分缓慢
* 首先确认服务器负载是否正常
* 检查服务器的CPU、内存、带宽使用情况
* 在客户端执行命令,检查雷池服务器与上游服务器的网络:`curl -H "Host: <SafeLine-IP>" -vv -o /dev/null -s -w 'time_namelookup: %{time_namelookup}\ntime_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n' http://<上游服务器地址>`
* 如果 time_namelookup 时间过大,请检查 dns server 配置
* 如果 time_connect 时间过大,请检查雷池与上游服务器之间的网络状态
* 如果 time_starttransfer 时间过大,请检查上游服务器状态,是否出现资源过载情况
* 如果不是以上情况,继续下一步
2. 在客户端执行 `curl -v -H "Host: <域名或者IP>" http://<雷池 IP>:<雷池监听端口>` 。如能获取到业务网站的响应,如图,并且站点的 “今日访问量” +1说明雷池配置正确网络正常
![Alt text](/images/docs/guide_config/check_the_site1.png)
* 如果浏览器无法访问,但这一步正常获取到响应,大概率是因为:
* 网站域名还没有切到雷池,浏览器测试时访问的是 `http(s)://<雷池 IP>`,恰好业务服务上有 Host 验证,所以拒绝了该请求。这种情况需要修改本机 host把域名解析到雷池 IP再访问 `http(s)://<域名>`,才能准确测试
* 网站业务做了其他一些特殊处理。例如访问后 301 跳转到了其他地址,需要具体排查网站业务的响应内容
* 如果不能获取到响应,继续下一步
3. 在雷池设备上执行 `curl -v -H "Host: <域名或者IP>" http://<雷池 IP>:<雷池监听端口>`。如能获取到业务网站的响应,并且站点上 “今日访问量” +1说明雷池配置正确
* 如果步骤 2 失败而这里成功,说明客户端到雷池之间的网络存在问题。请排查网络,保证客户端可访问到雷池,检测防火墙、端口开放等
* 如果不能获取到响应,继续下一步
4. 在雷池设备上执行 `curl -H "Host: <域名或者IP>" http://127.0.0.1:<雷池监听端口>`。如能获取到业务网站的响应,并且站点的 “今日访问量” +1说明雷池配置正确
* 如果步骤 3 失败而这里成功,且 `telnet <雷池 IP> <雷池监听端口>` 返回 `Unable to connect to remote host: Connection refused`,可能是被雷池设备上的防火墙拦截了。
* 排查操作系统本身的防火墙,还有可能是云服务商的防火墙。请根据实际情况逐项排查,开放雷池监听端口的访问
* 如果不能获取到响应,继续下一步
5. 在雷池设备上执行 `netstat -anp | grep <雷池监听端口>` 确认端口监听情况。正常情况下,应该有一个 nginx 进程监听在 `0.0.0.0:<雷池监听端口>`
* 没有的话请通过社群或者 Github issue 提交反馈,附上排查过程。有的话继续下一步
![Alt text](/images/docs/guide_config/check_listen_port.png)
6. 在雷池设备上 `curl -H "Host: <域名或者IP>" <上游服务器地址>`。如能获取到业务网站的响应,说明雷池设备和站点网络没有问题
![Alt text](/images/docs/guide_config/check_the_site2.png)
* 如果步骤 4 失败而这里成功,可能是配置错误,查看配置站点教程确认配置是否正确,如无法解决,请通过社群或者 Github issue 提交反馈,附上排查过程
* 如果这步失败,说明雷池和上游服务器之间的网络存在问题。请排查网络,确保雷池可以访问到上游服务器
## 配置完成后,测试时返回 400 Request Header Or Cookie Too Large
请麻烦检查是否形成了环路,即:雷池将请求转发给上游服务器后,上游服务器又将请求转发回雷池。
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -0,0 +1,53 @@
---
title: "防护问题"
---
# 防护问题
记录常见的防护问题
## 攻击测试时未记录攻击并且访问记录为0
检查是否直接访问了源站,没有走雷池的配置站点访问
## 内网用户如何使用在线的威胁情报IP加白哪个域名
威胁情报的云服务部署在百川云平台,域名是 **`https://challenge.rivers.chaitin.cn/`**
雷池部署在内网的师傅需要加白一下,就可以正常同步情报数据了。
## 如何记录所有访问雷池的请求
默认情况下雷池是并不会保存请求记录的,如果需要保存请求记录,可以修改安装路径下的**resources/nginx/nginx.conf**
![config_access_log.png](/images/docs/config_access_log.png)
如图所示,去掉文件第 99 行的注释,删除第 100 行的内容,保存后运行命令检查配置文件
```shell
docker exec safeline-tengine nginx -t
```
检查应显示
```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```
最后应用配置文件
```shell
docker exec safeline-tengine nginx -s reload
```
配置生效后,访问日志将会保存至安装路径下的**logs/nginx**
**_注意该操作会加快对硬盘的消耗请定时清理访问日志_**
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -0,0 +1,36 @@
---
title: "升级问题"
---
# 升级问题
记录常见的升级问题
## 升级提示目录不对
在错误的目录下执行比如safeline的子目录会导致无法升级成功。
切换目录到安装目录下再次执行升级,默认目录为:/data/safeline。
## 升级过程中下载超时
网络问题导致,建议等待网络稳定或者尝试离线升级。
## 升级后系统信息显示api错误或者docker状态显示异常
重启docker
## 升级后原配置不生效
极少数情况出现,一般删掉重新配置即可
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -4,9 +4,7 @@ title: "其他问题"
# 其他问题
## 内网用户,如何使用在线的威胁情报 IP 呢?需要加白哪个域名?
威胁情报的云服务部署在百川云平台,域名是 https://challenge.rivers.chaitin.cn/ ,雷池部署在内网的师傅可以加白一下,就可以正常同步情报数据了。
记录不常见的其他问题
## 源 IP 显示不正确
@ -39,7 +37,7 @@ location /xxx {
![get_source_ip.png](/images/docs/get_source_ip.png)
## 如何清理数据库中的统计信息和检测日志
## 清理数据库中的统计信息和检测日志
**_注意该操作会清除所有日志信息且不可恢复_**
@ -47,38 +45,7 @@ location /xxx {
docker exec safeline-mgt-api cleanlogs
```
## 如何记录所有访问雷池的请求
默认情况下雷池是并不会保存请求记录的,如果需要保存请求记录,可以修改安装路径下的**resources/nginx/nginx.conf**
![config_access_log.png](/images/docs/config_access_log.png)
如图所示,去掉文件第 99 行的注释,删除第 100 行的内容,保存后运行命令检查配置文件
```shell
docker exec safeline-tengine nginx -t
```
检查应显示
```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```
最后应用配置文件
```shell
docker exec safeline-tengine nginx -s reload
```
配置生效后,访问日志将会保存至安装路径下的**logs/nginx**
**_注意该操作会加快对硬盘的消耗请定时清理访问日志_**
## 如果配置完成后,测试时返回 400 Request Header Or Cookie Too Large
请麻烦检查是否形成了环路,即:雷池将请求转发给上游服务器后,上游服务器又将请求转发回雷池。
## 如何将雷池的日志导出到 XXX
## 将雷池的日志导出到 XXX
雷池社区版自发布以来经常有用户询问如何将拦截日志通过 syslog 转发至目标地址,接下来我们将尝试使用 `fluentd` 来实现这个需求。
@ -146,48 +113,6 @@ docker run -d --restart=always --name safeline-fluentd --net safeline-ce -v ./sq
[SQL input plugin for Fluentd event collector](https://github.com/fluent/fluent-plugin-sql)
[fluent-plugin-remote_syslog](https://github.com/fluent-plugins-nursery/fluent-plugin-remote_syslog)
## 如何开启监听 IPv6
雷池默认不开启 IPv6如果需要开启 IPv6需手动修改安装路径下的**resources/nginx/sites-enabled/** 文件夹下对应域名的配置文件。
如需同时监听 IPv4 与 IPv6
```shell
server {
listen [::]:80;
listen 0.0.0.0:80;
server_name example.com;
}
```
如只需监听 ipv6
```shell
server {
listen [::]:80;
server_name example.com;
}
```
**_注意页面上编辑当前站点会覆盖配置_**
修改完成后运行命令检查配置文件:
```shell
docker exec safeline-tengine nginx -t
```
检查应显示:
```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```
最后应用配置文件:
```shell
docker exec safeline-tengine nginx -s reload
```
## 有多个防护站点监听在同一个端口上,匹配顺序是怎么样的
@ -268,3 +193,9 @@ proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
```
## 问题无法解决
1. 通过右上角搜索检索其他页面
2. 通过社群(官网首页加入微信讨论组)寻求帮助或者 Github issue 提交反馈,并附上排查的过程和截图

View file

@ -0,0 +1,11 @@
---
title: "检测效果对比"
---
# 检测效果对比
雷池社区版与其他WAF的检测能力对比
![gift.png](./sample-screenshot.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View file

@ -4,29 +4,6 @@ title: "版本更新记录"
# 版本更新记录
[版本升级方法](/docs/guide/upgrade)
### [3.11.0] - 2023-11-09
#### 新增
- 站点详情新增站点的 favicon、标题和编辑按钮
#### 优化
- 优化 “强制 HTTPS” 中 HSTS 的参数细节([#407](https://github.com/chaitin/SafeLine/issues/407)
- 修复英文模式下事件列表文字错位问题
- 修复添加、编辑站点有时出现 “Service abnormal” 异常的问题
- 优化站点 “运行模式” 的展示和交互
- 优化一些界面交互和提示文字
### [3.10.3] - 2023-11-03
#### 修复
- 修复部分证书无法编辑,提示 “密钥内容解析错误” 的问题
- 修复升级或重启后,站点证书引用成历史证书的问题
- 修复编辑证书有时必须填写私钥的问题
### [3.10.1] - 2023-11-03
@ -111,12 +88,12 @@ title: "版本更新记录"
### [3.6.4] - 2023-10-09
#### 修复
- 修复了多个域名申请免费证书失败的问题
- 修复了有时候不能创建 HTTP 站点的问题
- 修复证书管理中,“使用站点” 不全的问题
- 修复证书管理中,泛域名证书的使用站点始终提示 “域名不匹配” 的问题
### [3.6.3] - 2023-10-09
#### 新增
@ -273,7 +250,7 @@ title: "版本更新记录"
- 优化限频配置的默认值
- 增加 HTTP 497 错误重定向。当以 HTTP 协议访问 HTTPS 端口时,将重定向到 HTTPS[#186](https://github.com/chaitin/safeline/issues/186)
- 默认拒绝 IP 和其他非指定域名的访问。如果需要通过 IP 访问站点,可以给站点添加一个 "\*" 域名([#58](https://github.com/chaitin/safeline/issues/58)
- 默认拒绝 IP 和其他非指定域名的访问。如果需要通过 IP 访问站点,可以给站点添加一个 "*" 域名([#58](https://github.com/chaitin/safeline/issues/58)
- 优化若干 UI 交互细节和文字提示
### [2.6.0] - 2023-08-10

View file

@ -10,7 +10,7 @@ title: "语义分析检测算法"
究其原因,是由于基于规则匹配的攻击识别方法存在先天不足导致的。在乔姆斯基文法体系中,编写匹配规则的正则文法属于 3 型文法,而用于构造攻击 Payload 的程序语言属于 2 型文法,如下图所示:
![Untitled](/images/docs/Untitled10.png)
![Untitled](/images/docs/Untitled10.svg)
从文法表达能力比较3 型文法包含在 2 型文法之内,基于正则的规则描述无法完全覆盖基于程序语言的攻击 Payload这也是基于规则匹配识别攻击的 WAF 防护效果低于预期的根本原因。
@ -20,14 +20,12 @@ title: "语义分析检测算法"
雷池通过对 Web 请求和返回内容进行智能分析,使 WAF 具备智能判断攻击威胁的能力。智能语义分析算法由词法分析、语法分析、语义分析和威胁模型匹配 4 个步骤组成。
![Untitled](/images/docs/Untitled11.png)
![Untitled](/images/docs/Untitled11.svg)
雷池内置涵盖常用编程语言的编译器,通过对 HTTP 的载荷内容进行深度解码后,按照其语言类型匹配相应语法编译器,进而匹配威胁模型得到威胁评级,阻断或允许访问请求。
与规则匹配型威胁检测方式相比,智能语义分析技术具有准确率高、误报率低的特点。以 SQL 注入检测为例:
![Untitled](/images/docs/Untitled12.png)
![Untitled](/images/docs/Untitled13.png)
![Untitled](/images/docs/Untitled12.svg)
作为全球范围内第一款以智能语义分析算法为核心引擎能力打造的下一代 WAF雷池展现出了更多让安全产品 “更聪明” 的可能。除了形成了质变的检测引擎的精准程度,它可以通过插件形式灵活扩展、实现瑞士军刀般的功能增加,可以变形适配、安装部署进各种网络环境,可以跟机器学习等前沿技术更好的融合、增强流量分析的能力等。

View file

@ -1,5 +1,5 @@
---
title: "人机验证"
title: "人机验证2.0"
---
# 人机验证
@ -10,7 +10,7 @@ title: "人机验证"
### 加入人机验证之后的请求处理流程
![flow.png](/images/docs/flow.png)
![flow.png](/images/docs/flow.svg)
### 人机验证如何配置

View file

@ -4,7 +4,7 @@ title: "雷池技术架构"
# 雷池技术架构
先来张雷池的服务架构图。最上面虚线框住的是数据流,也就是访问业务服务器的流量数据的流动情况。中间框起来的部分是雷池的各个服务。
查看雷池的服务架构图。最上面虚线框住的是数据流,也就是访问业务服务器的流量数据的流动情况。中间框起来的部分是雷池的各个服务。
![framework](/images/docs/framework.png)

View file

@ -6,6 +6,7 @@ title: "关于我们"
## 关于长亭
雷池是长亭科技耗时近 10 年倾情打造的 Web 应用防护产品,核心检测能力由智能语义分析算法驱动。
北京长亭未来科技有限公司是国际顶尖的网络信息安全公司之一,创始人团队 5 人均为清华博士,并引入阿里云安全核心人才团队。全球首发基于智能语义分析的下一代 Web 应用防火墙产品,目前,公司已形成以攻(安全评估系统)、防(下一代 Web 应用防火墙)、知(安全分析与管理平台)、查(主机安全管理平台)、抓(伪装欺骗系统)为核心的新一代安全防护体系,并提供优质的安全测试及咨询服务,为企业级客户带来智能的全新安全防护思路。

View file

@ -19,7 +19,7 @@ const config = {
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "chaitin", // Usually your GitHub org/user name.
projectName: "safeline-ce-site", // Usually your repo name.
projectName: "safeline-docs", // Usually your repo name.
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
@ -76,85 +76,77 @@ const config = {
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: "images/safeline.png",
image: "images/safeline.svg",
navbar: {
title: "",
logo: { alt: "Logo", src: "images/logo.png" },
items: [
{ to: "/docs", label: "技术文档", position: "right" },
{ to: "/detection", label: "效果对比", position: "right" },
{
to: "https://www.bilibili.com/medialist/detail/ml2342694989",
label: "教学视频",
position: "right",
logo: { alt: "Logo", src: "images/safeline.svg", href: "https://waf-ce.chaitin.cn" },
items: [],
},
{
to: "https://demo.waf-ce.chaitin.cn:9443/dashboard",
label: "演示环境",
position: "right",
},
],
},
footer: {
style: "dark",
links: [
{
title: " ",
title: "雷池 SafeLine",
items: [
{
label: "北京长亭科技有限公司",
label: "主页",
to: "https://waf-ce.chaitin.cn",
},
{
label: "社区",
to: "https://waf-ce.chaitin.cn/community",
},
{
label: "版本对比",
to: "https://waf-ce.chaitin.cn/version",
},
],
},
{
title: "资源",
items: [
{
label: "技术文档",
to: "/docs",
},
{
label: "教学视频",
to: "https://www.bilibili.com/medialist/detail/ml2342694989",
},
{
label: "学习资料",
to: "/docs",
},
{
label: "更新日志",
to: "/docs/about/changelog",
},
],
},
{
title: "关于我们",
items: [
{
label: "长亭科技",
to: "https://www.chaitin.cn/zh/",
},
{
label: "长亭 B 站主页",
href: "https://space.bilibili.com/521870525",
},
],
},
{
title: " ",
items: [
{
label: "CT Stack 安全社区",
href: "https://stack.chaitin.cn/",
},
{
label: "长亭合作伙伴论坛",
href: "https://bbs.chaitin.cn/",
},
],
},
{
title: " ",
items: [
{
label: "长亭百川云平台",
href: "https://rivers.chaitin.cn/",
},
{
label: "关于我们",
to: "/docs/about/chaitin",
},
],
},
{
title: " ",
items: [
{
label: "长亭 GitHub 主页",
href: "https://github.com/chaitin",
to: "https://stack.chaitin.cn/",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()}
北京长亭未来科技有限公司京 ICP 19035216 号京公网安备 11010802020947 `,
copyright: `Copyright © ${new Date().getFullYear()} 北京长亭科技有限公司.All rights reserved.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
colorMode: {
defaultMode: 'light',
disableSwitch: true,
},
}),
};

12558
doc/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

55
doc/package.json Normal file
View file

@ -0,0 +1,55 @@
{
"name": "website",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"preview": "docusaurus clear; docusaurus build; docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "2.4.1",
"@docusaurus/preset-classic": "2.4.1",
"@easyops-cn/docusaurus-search-local": "^0.35.0",
"@emotion/react": "11.11.1",
"@emotion/styled": "11.11.0",
"@mdx-js/react": "^1.6.22",
"@mui/icons-material": "5.14.3",
"@mui/lab": "5.0.0-alpha.138",
"@mui/material": "5.14.3",
"clsx": "^1.2.1",
"countup.js": "2.7.0",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-responsive-carousel": "3.2.23"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.4.1",
"@tsconfig/docusaurus": "^1.0.5",
"typescript": "^4.7.4"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=16.14"
}
}

View file

@ -19,14 +19,15 @@ a:hover {
--ifm-menu-color-active: #0fc6c2;
--ifm-link-hover-color: #0fc6c2;
--ifm-footer-link-hover-color: #0fc6c2;
--ifm-footer-background-color: #121427;
--ifm-navbar-link-hover-color: #0fc6c2;
--ifm-navbar-background-color: #0f1935;
--ifm-navbar-background-color: #fff;
--ifm-navbar-link-color: white;
}
/* Overriding root Infima variables */
[data-theme="dark"] {
--ifm-navbar-background-color: #0f1935;
--ifm-navbar-background-color: #fff;
}
aside.theme-doc-sidebar-container {

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 464 KiB

After

Width:  |  Height:  |  Size: 464 KiB

View file

Before

Width:  |  Height:  |  Size: 499 KiB

After

Width:  |  Height:  |  Size: 499 KiB

View file

Before

Width:  |  Height:  |  Size: 499 KiB

After

Width:  |  Height:  |  Size: 499 KiB

View file

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 245 KiB

View file

Before

Width:  |  Height:  |  Size: 363 KiB

After

Width:  |  Height:  |  Size: 363 KiB

View file

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View file

Before

Width:  |  Height:  |  Size: 432 KiB

After

Width:  |  Height:  |  Size: 432 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

77
doc/static/images/docs/Untitled10.svg vendored Normal file
View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="938px" height="569px" viewBox="0 0 938 569" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>语义分析检测算法1</title>
<defs>
<linearGradient x1="50%" y1="-33.3829376%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#F6FEE9" offset="0%"></stop>
<stop stop-color="#0FC6C2" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="-33.3829376%" x2="50%" y2="100%" id="linearGradient-2">
<stop stop-color="#F6FEE9" offset="0%"></stop>
<stop stop-color="#0FC6C2" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="-24.6708029%" x2="50%" y2="100%" id="linearGradient-3">
<stop stop-color="#F6FEE9" offset="0%"></stop>
<stop stop-color="#0FC6C2" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="-37.157067%" x2="50%" y2="100%" id="linearGradient-4">
<stop stop-color="#F6FEE9" offset="0%"></stop>
<stop stop-color="#0FC6C2" offset="100%"></stop>
</linearGradient>
<rect id="path-5" x="663" y="445" width="148" height="64" rx="4"></rect>
<filter x="-47.3%" y="-78.1%" width="194.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-7" x="770" y="305" width="128" height="64" rx="4"></rect>
<filter x="-54.7%" y="-78.1%" width="209.4%" height="318.8%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="语义分析检测算法1" transform="translate(-103.000000, -78.000000)">
<g transform="translate(103.000000, 78.000000)">
<ellipse id="椭圆形" fill="url(#linearGradient-1)" opacity="0.1" cx="444.5" cy="256" rx="444.5" ry="256"></ellipse>
<ellipse id="椭圆形" fill="url(#linearGradient-2)" opacity="0.2" cx="444.5" cy="319" rx="335.111328" ry="193"></ellipse>
<ellipse id="椭圆形" fill="url(#linearGradient-3)" opacity="0.303152902" cx="444.5" cy="365" rx="255.240234" ry="147"></ellipse>
<ellipse id="椭圆形" fill="url(#linearGradient-4)" opacity="0.395972842" cx="444.787109" cy="385" rx="185.787109" ry="107"></ellipse>
<text id="3型文法-正规文法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="24" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="399.92" y="376">3型文法</tspan>
<tspan x="395" y="408">正规文法</tspan>
</text>
<text id="2型文法-上下文无关文法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="24" fill="#000000">
<tspan x="407.1" y="246">2型文法</tspan>
<tspan x="373" y="270">上下文无关文法</tspan>
</text>
<text id="1型文法-上下文无关文法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="24" fill="#000000">
<tspan x="408.8" y="167">1型文法</tspan>
<tspan x="373" y="191">上下文无关文法</tspan>
</text>
<text id="0型文法-无限制文法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="24" fill="#000000">
<tspan x="407.1" y="54">0型文法</tspan>
<tspan x="393" y="78">无限制文法</tspan>
</text>
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<line x1="770" y1="326.414498" x2="699.740234" y2="265.658884" id="路径-94" stroke="#0FC6C2" stroke-width="2"></line>
<line x1="770" y1="338.5" x2="657.70446" y2="338.5" id="路径-110" stroke="#0FC6C2" stroke-width="2"></line>
<text id="编程语言" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="794" y="344">编程语言</tspan>
</text>
<text id="正规表达式" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="687" y="484">正规表达式</tspan>
</text>
<line x1="663" y1="477" x2="548.522007" y2="436.093667" id="路径-111" stroke="#0FC6C2" stroke-width="2"></line>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

67
doc/static/images/docs/Untitled11.svg vendored Normal file
View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="933px" height="144px" viewBox="0 0 933 144" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>语义分析检测算法2</title>
<defs>
<rect id="path-1" x="0" y="0" width="148" height="64" rx="4"></rect>
<filter x="-47.3%" y="-78.1%" width="194.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="235" y="0" width="148" height="64" rx="4"></rect>
<filter x="-47.3%" y="-78.1%" width="194.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="470" y="0" width="148" height="64" rx="4"></rect>
<filter x="-47.3%" y="-78.1%" width="194.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-7" x="705" y="0" width="148" height="64" rx="4"></rect>
<filter x="-47.3%" y="-78.1%" width="194.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="用户-服务器备份-2" transform="translate(-22.000000, -42.000000)">
<g id="语义分析检测算法2" transform="translate(62.000000, 62.000000)">
<g id="矩形备份-2">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份-3">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<g id="矩形备份-4">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="矩形备份-5">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<text id="词法分析" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="34" y="39">词法分析</tspan>
</text>
<text id="语法分析" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="269" y="39">语法分析</tspan>
</text>
<text id="语义分析" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="504" y="39">语义分析</tspan>
</text>
<text id="威胁模型" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="739" y="39">威胁模型</tspan>
</text>
<path id="路径-104备份-2" d="M219,25 L233,32 L219,39 L219,33 L148,33 L148,31 L219,31 L219,25 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-3" d="M454,25 L468,32 L454,39 L454,33 L383,33 L383,31 L454,31 L454,25 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-4" d="M689,25 L703,32 L689,39 L689,33 L618,33 L618,31 L689,31 L689,25 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

433
doc/static/images/docs/Untitled12.svg vendored Normal file
View file

@ -0,0 +1,433 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1320px" height="1444px" viewBox="0 0 1320 1444" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>语义分析检测算法3</title>
<defs>
<rect id="path-1" x="0" y="132" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="0" y="864" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="608" y="164" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-7" x="608" y="896" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-9" x="608" y="0" width="243" height="92" rx="4"></rect>
<filter x="-28.8%" y="-54.3%" width="157.6%" height="252.2%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-11" x="608" y="732" width="243" height="92" rx="4"></rect>
<filter x="-28.8%" y="-54.3%" width="157.6%" height="252.2%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-13" x="997" y="28" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-15" x="996" y="760" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-17" x="608" y="284" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-19" x="608" y="1016" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-21" x="608" y="404" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-22">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-23" x="608" y="1136" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-24">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-25" x="608" y="524" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-26">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-27" x="608" y="1256" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-28">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-29" x="997" y="164" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-30">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-31" x="997" y="896" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-32">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-33" x="997" y="284" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-34">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-35" x="997" y="1016" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-36">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-37" x="997" y="404" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-38">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-39" x="997" y="1136" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-40">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-41" x="997" y="524" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-42">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-43" x="997" y="1256" width="243" height="64" rx="4"></rect>
<filter x="-28.8%" y="-78.1%" width="157.6%" height="318.8%" filterUnits="objectBoundingBox" id="filter-44">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-45" x="0" y="272" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-46">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-47" x="0" y="1004" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-48">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-49" x="0" y="412" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-50">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-51" x="0" y="1144" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-52">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-53" x="0" y="552" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-54">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-55" x="0" y="1284" width="177" height="64" rx="4"></rect>
<filter x="-39.5%" y="-78.1%" width="179.1%" height="318.8%" filterUnits="objectBoundingBox" id="filter-56">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="用户-服务器备份-3" transform="translate(-22.000000, -15.000000)">
<g id="语义分析检测算法3" transform="translate(62.000000, 35.000000)">
<rect id="矩形备份-3" fill-opacity="0.1" fill="#0FC6C2" x="576" y="132" width="306" height="484" rx="4"></rect>
<rect id="矩形备份-18" fill-opacity="0.1" fill="#0FC6C2" x="576" y="864" width="306" height="484" rx="4"></rect>
<g id="矩形备份-2">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份-19">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<g id="矩形备份-5">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="矩形备份-20">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<g id="矩形备份-12">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-9"></use>
</g>
<g id="矩形备份-21">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-11"></use>
</g>
<g id="矩形备份-13">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-13"></use>
</g>
<g id="矩形备份-22">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-15"></use>
</g>
<g id="矩形备份-9">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-17"></use>
</g>
<g id="矩形备份-23">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-19"></use>
</g>
<g id="矩形备份-10">
<use fill="black" fill-opacity="1" filter="url(#filter-22)" xlink:href="#path-21"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-21"></use>
</g>
<g id="矩形备份-24">
<use fill="black" fill-opacity="1" filter="url(#filter-24)" xlink:href="#path-23"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-23"></use>
</g>
<g id="矩形备份-11">
<use fill="black" fill-opacity="1" filter="url(#filter-26)" xlink:href="#path-25"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-25"></use>
</g>
<g id="矩形备份-25">
<use fill="black" fill-opacity="1" filter="url(#filter-28)" xlink:href="#path-27"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-27"></use>
</g>
<rect id="矩形备份-4" fill-opacity="0.1" fill="#428FF9" x="965" y="132" width="306" height="484" rx="4"></rect>
<rect id="矩形备份-26" fill-opacity="0.1" fill="#428FF9" x="965" y="864" width="306" height="484" rx="4"></rect>
<g id="矩形备份-14">
<use fill="black" fill-opacity="1" filter="url(#filter-30)" xlink:href="#path-29"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-29"></use>
</g>
<g id="矩形备份-27">
<use fill="black" fill-opacity="1" filter="url(#filter-32)" xlink:href="#path-31"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-31"></use>
</g>
<g id="矩形备份-15">
<use fill="black" fill-opacity="1" filter="url(#filter-34)" xlink:href="#path-33"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-33"></use>
</g>
<g id="矩形备份-28">
<use fill="black" fill-opacity="1" filter="url(#filter-36)" xlink:href="#path-35"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-35"></use>
</g>
<g id="矩形备份-16">
<use fill="black" fill-opacity="1" filter="url(#filter-38)" xlink:href="#path-37"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-37"></use>
</g>
<g id="矩形备份-29">
<use fill="black" fill-opacity="1" filter="url(#filter-40)" xlink:href="#path-39"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-39"></use>
</g>
<g id="矩形备份-17">
<use fill="black" fill-opacity="1" filter="url(#filter-42)" xlink:href="#path-41"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-41"></use>
</g>
<g id="矩形备份-30">
<use fill="black" fill-opacity="1" filter="url(#filter-44)" xlink:href="#path-43"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-43"></use>
</g>
<g id="矩形备份-6">
<use fill="black" fill-opacity="1" filter="url(#filter-46)" xlink:href="#path-45"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-45"></use>
</g>
<g id="矩形备份-31">
<use fill="black" fill-opacity="1" filter="url(#filter-48)" xlink:href="#path-47"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-47"></use>
</g>
<g id="矩形备份-7">
<use fill="black" fill-opacity="1" filter="url(#filter-50)" xlink:href="#path-49"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-49"></use>
</g>
<g id="矩形备份-32">
<use fill="black" fill-opacity="1" filter="url(#filter-52)" xlink:href="#path-51"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-51"></use>
</g>
<g id="矩形备份-8">
<use fill="black" fill-opacity="1" filter="url(#filter-54)" xlink:href="#path-53"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-53"></use>
</g>
<g id="矩形备份-33">
<use fill="black" fill-opacity="1" filter="url(#filter-56)" xlink:href="#path-55"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-55"></use>
</g>
<text id="SQLi-常见攻击" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="24.13" y="171">SQLi 常见攻击</tspan>
</text>
<text id="SQLi-常见攻击备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="24.13" y="903">SQLi 常见攻击</tspan>
</text>
<text id="1-union-select-admi" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#000000">
<tspan x="192.5" y="199">1 union select admin from users; #</tspan>
</text>
<text id="1-union-select-admi备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#000000">
<tspan x="192.5" y="931">1 union select admin from users; #</tspan>
</text>
<text id="1-/**/UnioN/**/SelE" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="335">1 /**/UnioN/**/SelEct/**/admin/</tspan>
<tspan x="193" y="367">**/FrOm/**/users; #</tspan>
</text>
<text id="1-/**/UnioN/**/SelE备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="1067">1 /**/UnioN/**/SelEct/**/admin/</tspan>
<tspan x="193" y="1099">**/FrOm/**/users; #</tspan>
</text>
<text id="(……#iswin?{\`-cmd.ex" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="475">(……#iswin?{\` cmd.exe\` ,\` /c\` ,#</tspan>
<tspan x="193" y="507">cmd};{\` /bin/bash\` ,\` -c\` ,#cmd}…</tspan>
</text>
<text id="(……#iswin?{\`-cmd.ex备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="1207">(……#iswin?{\` cmd.exe\` ,\` /c\` ,#</tspan>
<tspan x="193" y="1239">cmd};{\` /bin/bash\` ,\` -c\` ,#cmd}…</tspan>
</text>
<text id="We-should-select-the" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="615">We should select the best students </tspan>
<tspan x="193" y="647">from this class as the student union </tspan>
<tspan x="193" y="679">presentation</tspan>
</text>
<text id="We-should-select-the备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" line-spacing="32" fill="#000000">
<tspan x="193" y="1347">We should select the best students </tspan>
<tspan x="193" y="1379">from this class as the student union </tspan>
<tspan x="193" y="1411">presentation</tspan>
</text>
<text id="拦截" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="709.5" y="203">拦截</tspan>
</text>
<text id="拦截-SQL-引擎-符合-SQL-语法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="665.39" y="923">拦截 SQL 引擎</tspan>
<tspan x="665.39" y="947">符合 SQL 语法</tspan>
</text>
<text id="拦截-SQL-引擎-符合-SQL-语法" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="665.39" y="1043">拦截 SQL 引擎</tspan>
<tspan x="665.39" y="1067">符合 SQL 语法</tspan>
</text>
<text id="拦截-SQL-引擎-符合-OGNL-表达" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="665.39" y="1163">拦截 SQL 引擎</tspan>
<tspan x="646.86" y="1187">符合 OGNL 表达式</tspan>
</text>
<text id="传统-WAF-特征库命中-预设的多个关键" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="18" font-weight="bold" line-spacing="24" fill="#FFFFFF">
<tspan x="642.362" y="27">传统 WAF 特征库命中</tspan>
<tspan x="657.5" y="51">预设的多个关键字</tspan>
<tspan x="637.682" y="75">select unionfrom</tspan>
</text>
<text id="NGWAF-智能语义分析引擎-SQL" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="18" font-weight="bold" line-spacing="24" fill="#FFFFFF">
<tspan x="697.181" y="759">NGWAF</tspan>
<tspan x="657.5" y="783">智能语义分析引擎</tspan>
<tspan x="631.562" y="807">SQL 引擎、ONGL...</tspan>
</text>
<text id="真实服务器" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1068.5" y="67">真实服务器</tspan>
</text>
<text id="真实服务器备份-2" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1068.5" y="799">真实服务器</tspan>
</text>
<text id="真实服务器备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1068.5" y="203">真实服务器</tspan>
</text>
<text id="不受影响" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="935">不受影响</tspan>
</text>
<text id="成功执行" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="323">成功执行</tspan>
</text>
<text id="不受影响" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="1055">不受影响</tspan>
</text>
<text id="成功执行" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="443">成功执行</tspan>
</text>
<text id="不受影响" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="1175">不受影响</tspan>
</text>
<text id="正常业务受影响" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1048.5" y="563">正常业务受影响</tspan>
</text>
<text id="不受影响" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="1078.5" y="1295">不受影响</tspan>
</text>
<text id="无规则命中(绕过)" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="639.5" y="323">无规则命中(绕过)</tspan>
</text>
<text id="无规则命中(无法识别)" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="619.5" y="443">无规则命中(无法识别)</tspan>
</text>
<text id="命中规则(误拦截)" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="639.5" y="563">命中规则(误拦截)</tspan>
</text>
<text id="正常请求" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="689.5" y="1295">正常请求</tspan>
</text>
<text id="SQLi-变种攻击" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="24.13" y="311">SQLi 变种攻击</tspan>
</text>
<text id="SQLi-变种攻击备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="24.13" y="1043">SQLi 变种攻击</tspan>
</text>
<text id="新型攻击攻击-Struts2" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="28.5" y="439">新型攻击攻击</tspan>
<tspan x="34.67" y="463">Struts2</tspan>
</text>
<text id="新型攻击攻击-Struts2备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="28.5" y="1171">新型攻击攻击</tspan>
<tspan x="34.67" y="1195">Struts2</tspan>
</text>
<text id="一段英文" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="48" y="591">一段英文</tspan>
</text>
<text id="一段英文备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="20" font-weight="bold" fill="#FFFFFF">
<tspan x="48" y="1323">一段英文</tspan>
</text>
<path id="路径-104备份-5" d="M560,157 L574,164 L560,171 L560,165 L177,165 L177,163 L560,163 L560,157 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-11" d="M560,889 L574,896 L560,903 L560,897 L177,897 L177,895 L560,895 L560,889 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-9" d="M955.745131,229.564212 L963.745131,234.064212 L964.519864,234.5 L963.745131,234.935788 L955.745131,239.435788 L955.254869,238.564212 L961.591,235 L882,235 L882,234 L961.591,234 L955.254869,230.435788 L955.745131,229.564212 Z" fill-opacity="0.3" fill="#000000" fill-rule="nonzero"></path>
<path id="路径-104备份-12" d="M955.745131,961.564212 L963.745131,966.064212 L964.519864,966.5 L963.745131,966.935788 L955.745131,971.435788 L955.254869,970.564212 L961.591,967 L882,967 L882,966 L961.591,966 L955.254869,962.435788 L955.745131,961.564212 Z" fill-opacity="0.3" fill="#000000" fill-rule="nonzero"></path>
<path id="路径-104备份-10" d="M955.745131,369.564212 L963.745131,374.064212 L964.519864,374.5 L963.745131,374.935788 L955.745131,379.435788 L955.254869,378.564212 L961.591,375 L882,375 L882,374 L961.591,374 L955.254869,370.435788 L955.745131,369.564212 Z" fill-opacity="0.3" fill="#000000" fill-rule="nonzero"></path>
<path id="路径-104备份-13" d="M955.745131,1101.56421 L963.745131,1106.06421 L964.519864,1106.5 L963.745131,1106.93579 L955.745131,1111.43579 L955.254869,1110.56421 L961.591,1107 L882,1107 L882,1106 L961.591,1106 L955.254869,1102.43579 L955.745131,1101.56421 Z" fill-opacity="0.3" fill="#000000" fill-rule="nonzero"></path>
<path id="路径-104备份-6" d="M560,297 L574,304 L560,311 L560,305 L177,305 L177,303 L560,303 L560,297 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-14" d="M560,1029 L574,1036 L560,1043 L560,1037 L177,1037 L177,1035 L560,1035 L560,1029 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-7" d="M560,437 L574,444 L560,451 L560,445 L177,445 L177,443 L560,443 L560,437 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-15" d="M560,1169 L574,1176 L560,1183 L560,1177 L177,1177 L177,1175 L560,1175 L560,1169 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-8" d="M560,577 L574,584 L560,591 L560,585 L177,585 L177,583 L560,583 L560,577 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-16" d="M560,1309 L574,1316 L560,1323 L560,1317 L177,1317 L177,1315 L560,1315 L560,1309 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 37 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

View file

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View file

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View file

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 544 KiB

After

Width:  |  Height:  |  Size: 544 KiB

View file

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View file

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 270 KiB

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View file

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 303 KiB

View file

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

223
doc/static/images/docs/flow.svg vendored Normal file
View file

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="798px" height="597px" viewBox="0 0 798 597" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>人机验证1</title>
<defs>
<polygon id="path-1" points="64.644 85.600597 70.3868571 85.600597 75.244 65.600597 70.3297143 65.600597 67.4725714 80.6863112 67.3582857 80.6863112 64.5011429 65.600597 60.1868571 65.600597 57.3297143 80.6863112 57.2154286 80.6863112 54.3582857 65.600597 49.444 65.600597 54.3011429 85.600597 60.044 85.600597 62.3011429 72.6577398 62.4154286 72.6577398"></polygon>
<filter x="-27.1%" y="-25.0%" width="154.3%" height="170.0%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M89.1125714,85.600597 L94.1411429,85.600597 L88.3411429,65.600597 L80.484,65.600597 L74.684,85.600597 L79.684,85.600597 L81.1982857,79.9434541 L87.5982857,79.9434541 L89.1125714,85.600597 Z M82.1125714,76.5148827 L84.3697143,68.1434541 L84.4268571,68.1434541 L86.684,76.5148827 L82.1125714,76.5148827 Z" id="path-3"></path>
<filter x="-36.0%" y="-25.0%" width="172.0%" height="170.0%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<polygon id="path-5" points="96.892 85.600597 101.606286 85.600597 101.606286 77.400597 108.977714 77.400597 108.977714 73.800597 101.606286 73.800597 101.606286 69.4577398 110.149143 69.4577398 110.149143 65.600597 96.892 65.600597"></polygon>
<filter x="-52.8%" y="-25.0%" width="205.6%" height="170.0%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<linearGradient x1="-9.91948373e-13%" y1="64.1273363%" x2="100%" y2="64.1273363%" id="linearGradient-7">
<stop stop-color="#E8E9FD" offset="0%"></stop>
<stop stop-color="#F5F5FF" offset="100%"></stop>
</linearGradient>
<path d="M18.7,0 C20.5225397,0 22,1.47746032 22,3.3 L22,18.7 C22,20.5225397 20.5225397,22 18.7,22 L3.3,22 C2.42508045,21.9992298 1.58627636,21.6510469 0.967999983,21.032 C0.348953047,20.4137236 0.000770226696,19.5749195 0,18.7 L0,3.3 C0,1.47746032 1.47746033,0 3.3,0 L18.7,0 Z M15.9576946,12 C15.679997,12 15.413799,12.1149992 15.2182439,12.3194473 L15.2182439,12.3194473 L12.2396115,15.3973035 L10.7815397,13.8853741 C10.5192199,13.6114357 10.1358878,13.5034213 9.77594105,13.6020191 C9.41599427,13.7006168 9.13411726,13.9908473 9.03649035,14.3633835 C8.93886344,14.7359197 9.04031849,15.1341645 9.30263836,15.408103 L9.30263836,15.408103 L11.5001608,17.6867966 C11.6967077,17.8889486 11.9627831,18.0016415 12.2396115,18 C12.5179427,17.9987838 12.7842311,17.8821115 12.9790622,17.6759971 L12.9790622,17.6759971 L16.6971453,13.8421761 C17.1009516,13.4209554 17.1009516,12.740668 16.6971453,12.3194473 C16.5015901,12.1149992 16.2353922,12 15.9576946,12 Z M8.46642223,8.66666665 L5.15892224,8.66666665 C4.75695743,8.66660285 4.3855003,8.8889543 4.18450013,9.24994843 C3.98349996,9.61094255 3.98349996,10.0557241 4.18450013,10.4167182 C4.36316695,10.7376019 4.67651581,10.9489407 5.02625586,10.9918986 L5.15892224,11 L8.46642223,11 C9.08767531,10.9999013 9.59125001,10.4775958 9.59125001,9.83333332 C9.59125001,9.18907086 9.08767531,8.6667653 8.46642223,8.66666665 Z M11.8751722,4.00000001 L5.12517224,4.00000001 C4.72320743,3.99993621 4.3517503,4.22228766 4.15075013,4.58328179 C3.94974996,4.94427592 3.94974996,5.38905745 4.15075013,5.75005157 C4.32941695,6.07093524 4.64276581,6.28227408 4.99250586,6.32523193 L5.12517224,6.33333335 L11.8751722,6.33333335 C12.4964253,6.3332347 13,5.81092914 13,5.16666668 C13,4.52240422 12.4964253,4.00009866 11.8751722,4.00000001 Z" id="path-8"></path>
<filter x="-31.8%" y="-22.7%" width="163.6%" height="163.6%" filterUnits="objectBoundingBox" id="filter-9">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M346.2,236.800597 C348.02254,236.800597 349.5,238.278057 349.5,240.100597 L349.5,255.500597 C349.5,257.323137 348.02254,258.800597 346.2,258.800597 L330.8,258.800597 C329.92508,258.799827 329.086276,258.451644 328.468,257.832597 C327.848953,257.214321 327.50077,256.375517 327.5,255.500597 L327.5,240.100597 C327.5,238.278057 328.97746,236.800597 330.8,236.800597 L346.2,236.800597 Z M341.792893,249.97217 C341.402369,249.581646 340.769204,249.581646 340.37868,249.97217 C339.988155,250.362694 339.988155,250.995859 340.37868,251.386383 L340.37868,251.386383 L341.438786,252.446277 L340.37868,253.507704 C339.988155,253.898228 339.988155,254.531393 340.37868,254.921917 C340.769204,255.312442 341.402369,255.312442 341.792893,254.921917 L341.792893,254.921917 L342.852786,253.861277 L343.914214,254.921917 C344.304738,255.312442 344.937903,255.312442 345.328427,254.921917 C345.718951,254.531393 345.718951,253.898228 345.328427,253.507704 L345.328427,253.507704 L344.267786,252.446277 L345.328427,251.386383 C345.718951,250.995859 345.718951,250.362694 345.328427,249.97217 C344.937903,249.581646 344.304738,249.581646 343.914214,249.97217 L343.914214,249.97217 L342.852786,251.032277 Z M335.966422,245.467264 L332.658922,245.467264 C332.256957,245.4672 331.8855,245.689551 331.6845,246.050545 C331.4835,246.41154 331.4835,246.856321 331.6845,247.217315 C331.863167,247.538199 332.176516,247.749538 332.526256,247.792496 L332.658922,247.800597 L335.966422,247.800597 C336.587675,247.800498 337.09125,247.278193 337.09125,246.63393 C337.09125,245.989668 336.587675,245.467362 335.966422,245.467264 Z M339.375172,240.800597 L332.625172,240.800597 C332.223207,240.800533 331.85175,241.022885 331.65075,241.383879 C331.44975,241.744873 331.44975,242.189654 331.65075,242.550649 C331.829417,242.871532 332.142766,243.082871 332.492506,243.125829 L332.625172,243.13393 L339.375172,243.13393 C339.996425,243.133832 340.5,242.611526 340.5,241.967264 C340.5,241.323001 339.996425,240.800696 339.375172,240.800597 Z" id="path-10"></path>
<filter x="-31.8%" y="-22.7%" width="163.6%" height="163.6%" filterUnits="objectBoundingBox" id="filter-11">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M1,8 C0.399992184,8 0,7.60000194 0,7 L0,3 C0,1.39999415 1.39999415,0 3,0 L7,0 C7.60000194,0 8,0.399992205 8,1 C8,1.6000117 7.60000192,2 7,2 L3,2 C2.39999609,2 2,2.39999611 2,3 L2,7 C2,7.60000194 1.6000117,8 1,8 Z M7,22 L3,22 C1.39999415,22 0,20.6000059 0,19.0000156 L0,14.9999844 C0,14.399998 0.399992205,13.9999844 1,13.9999844 C1.6000117,13.9999844 1.99998242,14.3999981 1.99998242,14.9999844 L1.99998242,18.9999844 C1.99998242,19.5999824 2.39997463,19.9999844 2.99998437,19.9999844 L6.9999707,19.9999844 C7.59998046,19.9999844 7.99997264,20.3999883 7.99997264,20.999998 C7.99997264,21.6000078 7.60000194,22 7,22 Z M18.9999844,22 L14.9999844,22 C14.399998,22 13.9999844,21.6000078 13.9999844,20.9999981 C13.9999844,20.3999883 14.3999981,19.9999844 14.9999844,19.9999844 L18.9999727,19.9999844 C19.5999824,19.9999844 19.9999961,19.5999824 19.9999961,18.9999844 L19.9999961,14.9999844 C19.9999961,14.399998 20.3999883,13.9999844 20.999998,13.9999844 C21.6000078,13.9999844 22,14.3999981 22,14.9999844 L22,18.9999844 C22,20.6000059 20.6000059,22 18.9999844,22 Z M20.9999981,8.00000002 C20.3999883,8.00000002 19.9999961,7.60000194 19.9999961,7.00000002 L19.9999961,3.00000002 C19.9999961,2.39999609 19.5999824,2.00000002 18.9999727,2.00000002 L14.9999844,2.00000002 C14.399998,2.00000002 13.9999844,1.6000117 13.9999844,1.00000002 C13.9999844,0.399992205 14.3999981,2.14843752e-08 14.9999844,2.14843752e-08 L18.9999727,2.14843752e-08 C20.6000058,2.14843752e-08 21.9999844,1.39999417 21.9999844,3.00000002 L21.9999844,7.00000002 C21.9999844,7.60000194 21.6000078,8.00000002 20.9999981,8.00000002 Z M21,11.9999981 L1,11.9999981 C0.399992205,11.9999981 0,11.5999883 0,10.9999981 C0,10.3999902 0.399992205,9.99999806 1,9.99999806 L21,9.99999806 C21.6000078,9.99999806 22,10.3999903 22,10.9999981 C22,11.5999883 21.6000078,11.9999981 21,11.9999981 Z" id="path-12"></path>
<filter x="-31.8%" y="-22.7%" width="163.6%" height="163.6%" filterUnits="objectBoundingBox" id="filter-13">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-14">
<stop stop-color="#428FF9" stop-opacity="0.3" offset="0%"></stop>
<stop stop-color="#77C2FD" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<path d="M414.461232,17.268361 L414.088304,17.2354076 C413.412627,17.2150179 412.822599,17.3807566 412.332332,17.6634293 C411.885756,17.9483246 411.693409,18.3719943 411.763213,18.8089997 L414.963629,39.6966077 L397.385385,38.8723061 C395.966946,38.8141318 394.875275,39.9393868 395.193512,41.2857792 C395.511749,42.6321717 396.646595,43.3201927 398.068128,43.4064891 L418.264789,44.3360262 L418.352173,44.3404714 C418.590931,44.3386348 418.762605,44.3194031 418.954577,44.2872216 L419.254232,44.2465356 C419.550793,44.1777274 419.800568,44.0785743 420.003557,43.9490764 C420.226845,43.8066288 420.403346,43.6338363 420.509669,43.4155266 L420.569206,43.166872 C420.569206,43.166872 420.614633,42.9874116 420.622555,42.861973 L420.708579,42.6566131 L420.591614,42.580751 L416.909572,18.986903 C416.839768,18.5498976 416.510906,18.1276786 415.996261,17.7938855 C415.575187,17.520782 415.035414,17.3534995 414.484625,17.2835334 L414.461232,17.268361 Z" id="path-15"></path>
<filter x="-27.4%" y="-18.4%" width="154.8%" height="151.6%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M563.316513,119.495414 C563.320309,119.849713 563.100706,120.188249 562.706031,120.436448 C562.311356,120.684646 561.773986,120.822145 561.212296,120.818656 L544.287362,120.719454 L544.393824,131.395243 C544.398583,131.872426 543.999389,132.310996 543.346616,132.545747 C542.693842,132.780499 541.886661,132.775768 541.229128,132.533336 C540.571596,132.290904 540.163608,131.847604 540.15885,131.37042 L540.052387,120.694631 L523.127454,120.595429 C522.272314,120.588812 521.499497,120.258245 521.16877,119.757616 C520.838042,119.256986 521.014401,118.684681 521.615746,118.307123 C522.008116,118.059974 522.541974,117.922291 523.100814,117.924122 L540.025748,118.023324 L539.919286,107.347535 C539.91645,106.808161 540.428525,106.32577 541.217126,106.124927 C542.005726,105.924084 542.915871,106.044261 543.523864,106.429512 C543.921837,106.680896 544.148454,107.019833 544.15426,107.372357 L544.260723,118.048147 L561.185656,118.147349 C561.747343,118.150444 562.287518,118.294259 562.68719,118.547113 C563.086862,118.799967 563.313242,119.141118 563.316513,119.495414 Z" id="path-17"></path>
<filter x="-16.5%" y="-18.7%" width="133.1%" height="152.5%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M13.5807692,24.9192308 L20.9846154,24.9192308 C21.5346154,24.9192308 21.9153846,25.3 21.9153846,25.7653846 C21.9153846,26.2307692 21.5346154,26.6115385 20.9846154,26.6115385 L13.5807692,26.6115385 C13.7076923,26.3576923 13.7923077,26.0615385 13.7923077,25.7653846 C13.7923077,25.4692308 13.7076923,25.2153846 13.5807692,24.9192308 Z M11,23.65 C12.1423077,23.65 13.1153846,24.6230769 13.1153846,25.7653846 C13.1153846,26.9076923 12.1423077,27.8807693 11,27.8807693 C9.85769232,27.8807693 8.88461537,26.9076923 8.88461537,25.7653846 C8.88461537,24.6230769 9.85769229,23.65 11,23.65 L11,23.65 Z M10.1538461,23.2269231 L11.8461538,23.2269231 L11.8461538,21.5346154 L10.1538461,21.5346154 L10.1538461,23.2269231 L10.1538461,23.2269231 Z M0.930769234,24.9192308 L8.46153846,24.9192308 C8.33461539,25.173077 8.24999999,25.4692308 8.24999999,25.7653846 C8.24999999,26.0615384 8.33461536,26.3576923 8.46153846,26.6115385 L0.930769234,26.6115385 C0.380769226,26.6115385 8.8817842e-16,26.2307693 8.8817842e-16,25.7653846 C8.8817842e-16,25.3 0.423076915,24.9192308 0.930769234,24.9192308 Z M17.7692308,3.76538463 L19.4615385,3.76538463 L19.4615385,2.07307694 L17.7692308,2.07307694 L17.7692308,3.76538463 Z M15.6538461,2.07307694 C15.1884615,2.07307694 14.8076923,2.45384617 14.8076923,2.91923077 C14.8076923,3.38461537 15.1884615,3.76538463 15.6538461,3.76538463 C16.1192307,3.76538463 16.5,3.3846154 16.5,2.91923077 C16.5,2.45384614 16.1192308,2.07307694 15.6538461,2.07307694 Z M12.6923077,2.07307694 C12.2269231,2.07307694 11.8461538,2.45384617 11.8461538,2.91923077 C11.8461538,3.38461537 12.2269231,3.76538463 12.6923077,3.76538463 C13.1576923,3.76538463 13.5384615,3.3846154 13.5384615,2.91923077 C13.5384615,2.45384614 13.1576923,2.07307694 12.6923077,2.07307694 Z M20.7307692,5.88076923 L1.26923077,5.88076923 C0.592307697,5.88076923 0,5.33076922 0,4.56923077 L0,1.31153846 C0,0.634615386 0.550000008,5.88311451e-16 1.26923077,5.88311451e-16 L20.7307692,5.88311451e-16 C21.4076923,5.88311451e-16 22,0.550000008 22,1.31153846 L22,4.56923077 C22,5.33076922 21.4076923,5.88076923 20.7307692,5.88076923 Z M17.7692308,11.3807693 L19.4615385,11.3807693 L19.4615385,9.68846154 L17.7692308,9.68846154 L17.7692308,11.3807693 Z M15.6538461,9.68846154 C15.1884615,9.68846154 14.8076923,10.0692308 14.8076923,10.5346154 C14.8076923,11 15.1884615,11.3807693 15.6538461,11.3807693 C16.1192307,11.3807693 16.5,11 16.5,10.5346154 C16.5,10.1115385 16.1192308,9.68846154 15.6538461,9.68846154 Z M12.6923077,9.68846154 C12.2269231,9.68846154 11.8461538,10.0692308 11.8461538,10.5346154 C11.8461538,11 12.2269231,11.3807693 12.6923077,11.3807693 C13.1576923,11.3807693 13.5384615,11 13.5384615,10.5346154 C13.5807692,10.1115385 13.1576923,9.68846154 12.6923077,9.68846154 Z M20.7307692,13.4961539 L1.26923077,13.4961539 C0.592307697,13.4961539 0,12.9461538 0,12.1846154 L0,8.92692309 C0,8.25000001 0.550000008,7.61538463 1.26923077,7.61538463 L20.7307692,7.61538463 C21.4076923,7.61538463 22,8.16538464 22,8.92692309 L22,12.1846154 C22,12.9461538 21.4076923,13.4961539 20.7307692,13.4961539 Z M17.7692308,18.9961539 L19.4615385,18.9961539 L19.4615385,17.3038462 L17.7692308,17.3038462 L17.7692308,18.9961539 Z M15.6538461,17.3038462 C15.1884615,17.3038462 14.8076923,17.6846154 14.8076923,18.15 C14.8076923,18.6153847 15.1884615,18.9961539 15.6538461,18.9961539 C16.1192307,18.9961539 16.5,18.6153846 16.5,18.15 C16.5,17.6846154 16.1192308,17.3038462 15.6538461,17.3038462 Z M12.6923077,17.3038462 C12.2269231,17.3038462 11.8461538,17.6846154 11.8461538,18.15 C11.8461538,18.6153847 12.2269231,18.9961539 12.6923077,18.9961539 C13.1576923,18.9961539 13.5384615,18.6153846 13.5384615,18.15 C13.5807692,17.6846154 13.1576923,17.3038462 12.6923077,17.3038462 Z M20.7307692,21.1115385 L1.26923077,21.1115385 C0.592307697,21.1115385 0,20.5615385 0,19.8 L0,16.5423077 C0,15.8653846 0.550000008,15.2307693 1.26923077,15.2307693 L20.7307692,15.2307693 C21.4076923,15.2307693 22,15.7807693 22,16.5423077 L22,19.8 C22,20.4769231 21.4076923,21.1115385 20.7307692,21.1115385 Z" id="path-19"></path>
<filter x="-31.8%" y="-17.9%" width="163.6%" height="150.2%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M11.2682927,0 L21.3292683,2.95121951 C21.7317073,3.08536585 22,3.35365854 22,3.8902439 L22,3.8902439 L22,9.92682927 C22,16.7682927 17.7073171,22.6707317 11.2682927,24.8170732 L11.2682927,24.8170732 L10.7317073,24.8170732 C4.29268293,22.6707317 0,16.6341463 0,9.92682927 L0,9.92682927 L0,3.8902439 C0,3.35365854 0.268292683,3.08536585 0.670731707,2.95121951 L0.670731707,2.95121951 L10.7317073,0 L11.2682927,0 Z M10.195122,5.23170732 C7.51219512,5.36585366 5.36585366,7.51219512 5.36585366,10.3292683 C5.36585366,13.1463415 7.64634146,15.4268293 10.4634146,15.4268293 C11.5365854,15.4268293 12.4756098,15.1585366 13.2804878,14.6219512 L13.6829268,15.0243902 L15.2926829,16.6341463 C15.695122,17.0365854 16.3658537,17.0365854 16.7682927,16.6341463 C17.1707317,16.2317073 17.1707317,15.5609756 16.7682927,15.1585366 L15.0243902,13.6829268 L14.4878049,13.1463415 C15.0243902,12.3414634 15.2926829,11.402439 15.2926829,10.3292683 C15.2926829,7.51219512 13.0121951,5.23170732 10.195122,5.23170732 Z M10.4634146,7.37804878 C12.0731707,7.37804878 13.4146341,8.7195122 13.4146341,10.3292683 C13.4146341,11.9390244 12.0731707,13.2804878 10.4634146,13.2804878 C8.85365854,13.2804878 7.51219512,11.9390244 7.51219512,10.3292683 C7.51219512,8.7195122 8.85365854,7.37804878 10.4634146,7.37804878 Z" id="path-21"></path>
<filter x="-31.8%" y="-20.1%" width="163.6%" height="156.4%" filterUnits="objectBoundingBox" id="filter-22">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="人机验证1" transform="translate(-173.000000, -35.000000)">
<g transform="translate(173.500000, 35.199403)">
<path d="M739.191712,564.537418 L739.191712,533.950451 L739.191712,533.950451 L685.690071,500.116231 C685.223293,499.821042 684.605596,499.960143 684.310408,500.426922 C684.209271,500.586847 684.155585,500.772186 684.155585,500.961408 L684.155585,528.998029 C684.155585,530.013735 684.669522,530.960464 685.52128,531.513789 L737.646944,565.376005 C738.110082,565.676872 738.729431,565.545325 739.030298,565.082187 C739.135644,564.920024 739.191712,564.730795 739.191712,564.537418 Z" id="路径-115备份-7" fill="#F5F5FF"></path>
<path d="M79.1917118,140.537418 L79.1917118,109.950451 L79.1917118,109.950451 L25.6900711,76.116231 C25.2232927,75.8210423 24.6055963,75.9601431 24.3104075,76.4269215 C24.209271,76.5868475 24.1555846,76.7721861 24.1555846,76.961408 L24.1555846,104.998029 C24.1555846,106.013735 24.6695219,106.960464 25.52128,107.513789 L77.6469436,141.376005 C78.1100822,141.676872 78.7294313,141.545325 79.0302984,141.082187 C79.1356438,140.920024 79.1917118,140.730795 79.1917118,140.537418 Z" id="路径-115" fill="#F5F5FF"></path>
<path d="M409.191712,100.537418 L409.191712,69.9504505 L409.191712,69.9504505 L355.690071,36.116231 C355.223293,35.8210423 354.605596,35.9601431 354.310408,36.4269215 C354.209271,36.5868475 354.155585,36.7721861 354.155585,36.961408 L354.155585,64.9980287 C354.155585,66.0137353 354.669522,66.9604641 355.52128,67.5137887 L407.646944,101.376005 C408.110082,101.676872 408.729431,101.545325 409.030298,101.082187 C409.135644,100.920024 409.191712,100.730795 409.191712,100.537418 Z" id="路径-115备份-2" fill="#F5F5FF"></path>
<path d="M541.191712,185.537418 L541.191712,154.950451 L541.191712,154.950451 L487.690071,121.116231 C487.223293,120.821042 486.605596,120.960143 486.310408,121.426922 C486.209271,121.586847 486.155585,121.772186 486.155585,121.961408 L486.155585,149.998029 C486.155585,151.013735 486.669522,151.960464 487.52128,152.513789 L539.646944,186.376005 C540.110082,186.676872 540.729431,186.545325 541.030298,186.082187 C541.135644,185.920024 541.191712,185.730795 541.191712,185.537418 Z" id="路径-115备份-4" fill="#F5F5FF"></path>
<path d="M79.1917118,109.950451 L135.146515,76.065107 C135.618928,75.7790215 136.233812,75.9300693 136.519897,76.4024818 C136.614503,76.5587035 136.664519,76.7378507 136.664519,76.9204854 L136.664519,104.959735 C136.664519,105.996345 136.129366,106.959507 135.249171,107.507062 L80.7199292,141.428848 C80.2509792,141.720574 79.6343291,141.576906 79.3426026,141.107956 C79.2439812,140.949422 79.1917118,140.766445 79.1917118,140.579738 L79.1917118,109.950451 L79.1917118,109.950451 Z" id="路径-116" fill="#E8E9FD"></path>
<path d="M79.1917118,109.950451 L25.4855428,75.9868881 C25.0187644,75.6916994 24.8796635,75.074003 25.1748523,74.6072246 C25.2533053,74.4831678 25.3581064,74.3779028 25.4818155,74.2989027 L76.031302,42.0182237 C77.964953,40.7834027 80.4334887,40.7593727 82.3908118,41.9563169 L135.262616,74.2885349 C135.733784,74.5766644 135.882167,75.1921971 135.594037,75.6633657 C135.510614,75.7997844 135.395694,75.9142084 135.258915,75.9970395 L79.1917118,109.950451 L79.1917118,109.950451 Z" id="路径-118" fill="#FFFFFF"></path>
<path d="M409.191712,69.9504505 L355.485543,35.9868881 C355.018764,35.6916994 354.879664,35.074003 355.174852,34.6072246 C355.253305,34.4831678 355.358106,34.3779028 355.481816,34.2989027 L406.031302,2.01822373 C407.964953,0.783402743 410.433489,0.759372693 412.390812,1.95631686 L465.262616,34.2885349 C465.733784,34.5766644 465.882167,35.1921971 465.594037,35.6633657 C465.510614,35.7997844 465.395694,35.9142084 465.258915,35.9970395 L409.191712,69.9504505 L409.191712,69.9504505 Z" id="路径-118" fill="#FFFFFF"></path>
<path d="M541.191712,154.950451 L487.485543,120.986888 C487.018764,120.691699 486.879664,120.074003 487.174852,119.607225 C487.253305,119.483168 487.358106,119.377903 487.481816,119.298903 L538.031302,87.0182237 C539.964953,85.7834027 542.433489,85.7593727 544.390812,86.9563169 L597.262616,119.288535 C597.733784,119.576664 597.882167,120.192197 597.594037,120.663366 C597.510614,120.799784 597.395694,120.914208 597.258915,120.99704 L541.191712,154.950451 L541.191712,154.950451 Z" id="路径-118" fill="#FFFFFF"></path>
<path d="M739.191712,533.950451 L685.485543,499.986888 C685.018764,499.691699 684.879664,499.074003 685.174852,498.607225 C685.253305,498.483168 685.358106,498.377903 685.481816,498.298903 L736.031302,466.018224 C737.964953,464.783403 740.433489,464.759373 742.390812,465.956317 L795.262616,498.288535 C795.733784,498.576664 795.882167,499.192197 795.594037,499.663366 C795.510614,499.799784 795.395694,499.914208 795.258915,499.99704 L739.191712,533.950451 L739.191712,533.950451 Z" id="路径-118备份" fill="#FFFFFF"></path>
<path d="M409.191712,69.9504505 L465.146515,36.065107 C465.618928,35.7790215 466.233812,35.9300693 466.519897,36.4024818 C466.614503,36.5587035 466.664519,36.7378507 466.664519,36.9204854 L466.664519,64.9597348 C466.664519,65.9963451 466.129366,66.9595066 465.249171,67.5070622 L410.719929,101.428848 C410.250979,101.720574 409.634329,101.576906 409.342603,101.107956 C409.243981,100.949422 409.191712,100.766445 409.191712,100.579738 L409.191712,69.9504505 L409.191712,69.9504505 Z" id="路径-116备份-2" fill="#E8E9FD"></path>
<path d="M541.191712,154.950451 L597.146515,121.065107 C597.618928,120.779021 598.233812,120.930069 598.519897,121.402482 C598.614503,121.558704 598.664519,121.737851 598.664519,121.920485 L598.664519,149.959735 C598.664519,150.996345 598.129366,151.959507 597.249171,152.507062 L542.719929,186.428848 C542.250979,186.720574 541.634329,186.576906 541.342603,186.107956 C541.243981,185.949422 541.191712,185.766445 541.191712,185.579738 L541.191712,154.950451 L541.191712,154.950451 Z" id="路径-116备份-4" fill="#E8E9FD"></path>
<path d="M24.1555846,78.4333103 L24.1555846,103.369461 C24.1555846,105.400874 25.1834593,107.294331 26.8869754,108.400981 L75.9928244,140.301445 C77.9448616,141.569541 80.4542072,141.594149 82.4307383,140.36458 L133.833823,108.387528 C135.594214,107.292417 136.664519,105.366093 136.664519,103.292873 L136.664519,78.5096591 C136.664519,76.4200985 135.577405,74.4810352 133.794746,73.3909019 L82.3908118,41.9563169 C80.4334887,40.7593727 77.964953,40.7834027 76.031302,42.0182237 L26.9263022,73.3764599 C25.200214,74.4787323 24.1555846,76.3852905 24.1555846,78.4333103 Z" id="路径-114" stroke="#979797"></path>
<path d="M739.191712,533.950451 L795.146515,500.065107 C795.618928,499.779021 796.233812,499.930069 796.519897,500.402482 C796.614503,500.558704 796.664519,500.737851 796.664519,500.920485 L796.664519,528.959735 C796.664519,529.996345 796.129366,530.959507 795.249171,531.507062 L740.719929,565.428848 C740.250979,565.720574 739.634329,565.576906 739.342603,565.107956 C739.243981,564.949422 739.191712,564.766445 739.191712,564.579738 L739.191712,533.950451 L739.191712,533.950451 Z" id="路径-116备份-7" fill="#E8E9FD"></path>
<path d="M684.155585,502.43331 L684.155585,527.369461 C684.155585,529.400874 685.183459,531.294331 686.886975,532.400981 L735.992824,564.301445 C737.944862,565.569541 740.454207,565.594149 742.430738,564.36458 L793.833823,532.387528 C795.594214,531.292417 796.664519,529.366093 796.664519,527.292873 L796.664519,502.509659 C796.664519,500.420099 795.577405,498.481035 793.794746,497.390902 L742.390812,465.956317 C740.433489,464.759373 737.964953,464.783403 736.031302,466.018224 L686.926302,497.37646 C685.200214,498.478732 684.155585,500.38529 684.155585,502.43331 Z" id="路径-114备份-7" stroke="#979797"></path>
<path d="M354.155585,38.4333103 L354.155585,63.3694607 C354.155585,65.400874 355.183459,67.2943314 356.886975,68.4009808 L405.992824,100.301445 C407.944862,101.569541 410.454207,101.594149 412.430738,100.36458 L463.833823,68.3875278 C465.594214,67.2924165 466.664519,65.3660934 466.664519,63.292873 L466.664519,38.5096591 C466.664519,36.4200985 465.577405,34.4810352 463.794746,33.3909019 L412.390812,1.95631686 C410.433489,0.759372693 407.964953,0.783402743 406.031302,2.01822373 L356.926302,33.3764599 C355.200214,34.4787323 354.155585,36.3852905 354.155585,38.4333103 Z" id="路径-114备份-2" stroke="#979797"></path>
<path d="M486.155585,123.43331 L486.155585,148.369461 C486.155585,150.400874 487.183459,152.294331 488.886975,153.400981 L537.992824,185.301445 C539.944862,186.569541 542.454207,186.594149 544.430738,185.36458 L595.833823,153.387528 C597.594214,152.292417 598.664519,150.366093 598.664519,148.292873 L598.664519,123.509659 C598.664519,121.420099 597.577405,119.481035 595.794746,118.390902 L544.390812,86.9563169 C542.433489,85.7593727 539.964953,85.7834027 538.031302,87.0182237 L488.926302,118.37646 C487.200214,119.478732 486.155585,121.38529 486.155585,123.43331 Z" id="路径-114备份-4" stroke="#979797"></path>
<line x1="111.155585" y1="122.626597" x2="170.492517" y2="161.674593" id="路径-112" stroke="#979797"></line>
<line x1="231.21192" y1="204.106856" x2="301.699029" y2="248.800597" id="路径-112备份" stroke="#979797"></line>
<line x1="364.957201" y1="288.342068" x2="430.699029" y2="329.846213" id="路径-112备份-2" stroke="#979797"></line>
<line x1="454.155585" y1="203.626597" x2="505.581156" y2="236.837719" id="路径-112备份-5" stroke="#979797"></line>
<line x1="494.409979" y1="370.791784" x2="563.699029" y2="415.088919" id="路径-112备份-3" stroke="#979797"></line>
<line x1="627.9449" y1="455.427453" x2="690.581156" y2="494.837719" id="路径-112备份-4" stroke="#979797"></line>
<line x1="243.747682" y1="167.893752" x2="378.664519" y2="82.6265967" id="路径-113" stroke="#979797"></line>
<line x1="375.747682" y1="252.893752" x2="510.664519" y2="167.626597" id="路径-113备份" stroke="#979797"></line>
<polyline id="路径-117" stroke="#979797" points="454.155585 203.626597 581.237797 285.636799 505.300971 333.794177"></polyline>
<polyline id="路径-117备份" stroke="#979797" points="488.155585 182.626597 750.973511 349.230747 638.300971 420.903431"></polyline>
<text id="请求到达-WAF" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="0.124" y="168.800597">请求到达 WAF</tspan>
</text>
<g id="W" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#428FF9" xlink:href="#path-1"></use>
</g>
<g id="A" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#428FF9" xlink:href="#path-3"></use>
</g>
<g id="F" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#428FF9" xlink:href="#path-5"></use>
</g>
<text id="是否命中白名单" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="122.5" y="236.800597">是否命中白名单</tspan>
</text>
<text id="是否命中黑名单" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="254.5" y="320.800597">是否命中黑名单</tspan>
</text>
<text id="人机验证" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="407.5" y="403.800597">人机验证</tspan>
</text>
<text id="检测引擎检测" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="522.5" y="488.800597">检测引擎检测</tspan>
</text>
<text id="到达业务服务器" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="655.5" y="592.800597">到达业务服务器</tspan>
</text>
<rect id="矩形" fill="#FFFFFF" x="301.5" y="114.800597" width="20" height="20" rx="4"></rect>
<rect id="矩形备份-4" fill="#FFFFFF" x="259.5" y="217.800597" width="20" height="20" rx="4"></rect>
<rect id="矩形备份-5" fill="#FFFFFF" x="388.5" y="299.800597" width="20" height="20" rx="4"></rect>
<rect id="矩形备份" fill="#FFFFFF" x="403.5" y="219.800597" width="20" height="20" rx="4"></rect>
<rect id="矩形备份-2" fill="#FFFFFF" x="475.5" y="227.800597" width="70" height="24" rx="4"></rect>
<rect id="矩形备份-6" fill="#FFFFFF" x="494.5" y="380.800597" width="70" height="24" rx="4"></rect>
<rect id="矩形备份-7" fill="#FFFFFF" x="624.5" y="461.800597" width="70" height="24" rx="4"></rect>
<rect id="矩形备份-3" fill="#FFFFFF" x="606.5" y="266.800597" width="70" height="24" rx="4"></rect>
<text id="拒绝" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="567.5" y="195.800597">拒绝</tspan>
</text>
<text id="放行" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="16" font-weight="bold" fill="#000000">
<tspan x="435.5" y="110.800597">放行</tspan>
</text>
<text id="Y" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="306.964" y="129.800597">Y</tspan>
</text>
<text id="N" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="264.425" y="232.800597">N</tspan>
</text>
<text id="N备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="393.425" y="314.800597">N</tspan>
</text>
<text id="Y备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="408.964" y="234.800597">Y</tspan>
</text>
<text id="验证失败" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="482.5" y="244.800597">验证失败</tspan>
</text>
<text id="验证成功" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="501.5" y="397.800597">验证成功</tspan>
</text>
<text id="正常流量" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="631.5" y="478.800597">正常流量</tspan>
</text>
<text id="判断为攻击" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="14" font-weight="bold" fill="#000000" fill-opacity="0.5">
<tspan x="606.5" y="283.800597">判断为攻击</tspan>
</text>
<path d="M244.300971,210.300597 C244.300971,203.722345 244.300971,196.240144 244.300971,187.853995 C244.300971,175.274771 227.600757,165.077296 207,165.077296 C186.399243,165.077296 169.699029,175.274771 169.699029,187.853995 C169.699029,196.240144 169.699029,203.722345 169.699029,210.300597 L244.300971,210.300597 Z" id="椭圆形备份-2880" stroke="#979797" fill="url(#linearGradient-7)" transform="translate(207.000000, 187.688946) rotate(-180.000000) translate(-207.000000, -187.688946) "></path>
<path d="M376.300971,294.300597 C376.300971,287.722345 376.300971,280.240144 376.300971,271.853995 C376.300971,259.274771 359.600757,249.077296 339,249.077296 C318.399243,249.077296 301.699029,259.274771 301.699029,271.853995 C301.699029,280.240144 301.699029,287.722345 301.699029,294.300597 L376.300971,294.300597 Z" id="椭圆形备份-2881" stroke="#979797" fill="url(#linearGradient-7)" transform="translate(339.000000, 271.688946) rotate(-180.000000) translate(-339.000000, -271.688946) "></path>
<path d="M505.300971,377.300597 C505.300971,370.722345 505.300971,363.240144 505.300971,354.853995 C505.300971,342.274771 488.600757,332.077296 468,332.077296 C447.399243,332.077296 430.699029,342.274771 430.699029,354.853995 C430.699029,363.240144 430.699029,370.722345 430.699029,377.300597 L505.300971,377.300597 Z" id="椭圆形备份-2884" stroke="#979797" fill="url(#linearGradient-7)" transform="translate(468.000000, 354.688946) rotate(-180.000000) translate(-468.000000, -354.688946) "></path>
<path d="M638.300971,462.300597 C638.300971,455.722345 638.300971,448.240144 638.300971,439.853995 C638.300971,427.274771 621.600757,417.077296 601,417.077296 C580.399243,417.077296 563.699029,427.274771 563.699029,439.853995 C563.699029,448.240144 563.699029,455.722345 563.699029,462.300597 L638.300971,462.300597 Z" id="椭圆形备份-2887" stroke="#979797" fill="url(#linearGradient-7)" transform="translate(601.000000, 439.688946) rotate(-180.000000) translate(-601.000000, -439.688946) "></path>
<path d="M207.166667,186.800597 C227.064926,186.800597 243.747682,177.22756 243.747682,165.077296 C243.747682,152.927031 227.064926,142.800597 207.166667,142.800597 C187.268407,142.800597 170.088409,152.650332 170.088409,164.800597 C170.088409,176.950861 187.268407,186.800597 207.166667,186.800597 Z" id="椭圆形" fill="#FFFFFF"></path>
<path d="M339.166667,270.800597 C359.064926,270.800597 375.747682,261.22756 375.747682,249.077296 C375.747682,236.927031 359.064926,226.800597 339.166667,226.800597 C319.268407,226.800597 302.088409,236.650332 302.088409,248.800597 C302.088409,260.950861 319.268407,270.800597 339.166667,270.800597 Z" id="椭圆形备份-2882" fill="#FFFFFF"></path>
<path d="M468.166667,353.800597 C488.064926,353.800597 504.747682,344.22756 504.747682,332.077296 C504.747682,319.927031 488.064926,309.800597 468.166667,309.800597 C448.268407,309.800597 431.088409,319.650332 431.088409,331.800597 C431.088409,343.950861 448.268407,353.800597 468.166667,353.800597 Z" id="椭圆形备份-2885" fill="#FFFFFF"></path>
<path d="M601.166667,438.800597 C621.064926,438.800597 637.747682,429.22756 637.747682,417.077296 C637.747682,404.927031 621.064926,394.800597 601.166667,394.800597 C581.268407,394.800597 564.088409,404.650332 564.088409,416.800597 C564.088409,428.950861 581.268407,438.800597 601.166667,438.800597 Z" id="椭圆形备份-2888" fill="#FFFFFF"></path>
<path d="M244.300971,165.077296 C244.300971,152.498072 227.600757,142.300597 207,142.300597 C186.399243,142.300597 169.699029,152.498072 169.699029,165.077296" id="椭圆形" stroke="#979797" fill="#FFFFFF"></path>
<path d="M376.300971,249.077296 C376.300971,236.498072 359.600757,226.300597 339,226.300597 C318.399243,226.300597 301.699029,236.498072 301.699029,249.077296" id="椭圆形备份-2883" stroke="#979797" fill="#FFFFFF"></path>
<path d="M505.300971,332.077296 C505.300971,319.498072 488.600757,309.300597 468,309.300597 C447.399243,309.300597 430.699029,319.498072 430.699029,332.077296" id="椭圆形备份-2886" stroke="#979797" fill="#FFFFFF"></path>
<path d="M638.300971,417.077296 C638.300971,404.498072 621.600757,394.300597 601,394.300597 C580.399243,394.300597 563.699029,404.498072 563.699029,417.077296" id="椭圆形备份-2889" stroke="#979797" fill="#FFFFFF"></path>
<g id="白名单" transform="translate(195.500000, 152.800597)" fill-rule="nonzero">
<g id="形状结合">
<use fill="black" fill-opacity="1" filter="url(#filter-9)" xlink:href="#path-8"></use>
<use fill="#0FC6C2" xlink:href="#path-8"></use>
</g>
</g>
<g id="形状结合" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-11)" xlink:href="#path-10"></use>
<use fill="#FF5A5E" xlink:href="#path-10"></use>
</g>
<g id="扫描-(5)" transform="translate(456.500000, 319.800597)">
<g id="形状" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-13)" xlink:href="#path-12"></use>
<use fill="#428FF9" xlink:href="#path-12"></use>
</g>
<path d="M3.71421428,6.00000001 L3.71421428,16 C3.71421428,17.1045695 4.60964478,18 5.71421428,18 L15.9999815,18 C17.104551,18 17.9999815,17.1045695 17.9999815,16 L17.9999815,6.00000001 C17.9999815,4.89543051 17.104551,4.00000001 15.9999815,4.00000001 L5.71421428,4.00000001 C4.60964478,4.00000001 3.71421428,4.89543051 3.71421428,6.00000001 Z" id="路径-2" fill="url(#linearGradient-14)"></path>
</g>
<g id="路径" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#0FC6C2" xlink:href="#path-15"></use>
</g>
<g id="路径" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#FF5A5E" xlink:href="#path-17"></use>
</g>
<g id="服务器-(4)" transform="translate(728.500000, 484.800597)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#428FF9" xlink:href="#path-19"></use>
</g>
</g>
<g id="安全验证" transform="translate(589.500000, 403.800597)" fill-rule="nonzero">
<g id="形状结合">
<use fill="black" fill-opacity="1" filter="url(#filter-22)" xlink:href="#path-21"></use>
<use fill="#428FF9" xlink:href="#path-21"></use>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

View file

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View file

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="960px" height="311px" viewBox="0 0 960 311" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>配置防护站点2</title>
<defs>
<rect id="path-1" x="0" y="1" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="325" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="650" y="1" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M475.597922,82.0874393 C475.372627,80.7217211 474.696742,79.3560028 473.344973,78.6731437 C463.431998,72.982651 442.704869,62.9673838 441.803689,62.5121443 C440.677215,61.8292852 439.100151,61.8292852 437.973676,62.5121443 C437.072497,62.9673838 416.570663,72.9826509 406.657688,78.6731437 C405.305918,79.3560028 404.630034,80.7217211 404.404739,82.0874393 C399.673546,128.29424 437.973676,143.544761 438.424266,143.77238 C438.874856,144 439.550741,144 440.00133,144 C440.45192,144 441.127805,144 441.578394,143.77238 C442.028984,143.544761 451.491369,139.902845 460.503165,130.342817 C468.61378,121.693269 478.076165,106.215128 475.597922,82.0874393 Z" id="path-7"></path>
<filter x="-23.6%" y="-15.9%" width="147.2%" height="141.5%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.301054414 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<polygon id="path-9" points="436.59509 83.9024931 448.935675 82.7582665 444.103842 97.8149835 450.625755 97.2102678 434.046652 124 435.904704 104.473403 430.51014 104.973591"></polygon>
<filter x="-34.8%" y="-12.1%" width="169.6%" height="133.9%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<circle id="path-11" cx="366" cy="103" r="11"></circle>
<filter x="-31.8%" y="-22.7%" width="163.6%" height="163.6%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<circle id="path-13" cx="514" cy="103" r="11"></circle>
<filter x="-31.8%" y="-22.7%" width="163.6%" height="163.6%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-15" x="80" y="66" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M130.683871,86 C131.341935,86 132,86.7099237 132,87.4198473 L132,111.793893 C132,112.503817 131.341935,113.21374 130.683871,113.21374 L116.206452,113.21374 L116.206452,115.10687 L123.445161,115.10687 C123.883871,115.10687 124.322581,115.580153 124.322581,116.053435 C124.322581,116.526718 123.883871,117 123.445161,117 L106.335484,117 C105.896774,117 105.458065,116.526718 105.458065,116.053435 C105.458065,115.580153 105.896774,115.10687 106.335484,115.10687 L113.574194,115.10687 L113.574194,113.21374 L99.316129,113.21374 C98.6580645,113.21374 98,112.503817 98,111.793893 L98,87.4198473 C98,86.4732824 98.4387097,86 99.316129,86 L130.683871,86 Z M127,90 L103,90 C102.447715,90 102,90.4477153 102,91 L102,91 L102,108 C102,108.552285 102.447715,109 103,109 L103,109 L127,109 C127.552285,109 128,108.552285 128,108 L128,108 L128,91 C128,90.4477153 127.552285,90 127,90 L127,90 Z" id="path-17"></path>
<filter x="-20.6%" y="-16.1%" width="141.2%" height="145.2%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-19" x="134" y="120" width="24" height="24" rx="4"></rect>
<filter x="-77.1%" y="-47.9%" width="254.2%" height="254.2%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-21" x="739" y="74" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-22">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="客户端-雷池-服务器" transform="translate(-67.000000, -56.000000)">
<g id="配置防护站点2" transform="translate(107.000000, 76.000000)">
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<circle id="椭圆形" stroke="#0FC6C2" stroke-width="3" cx="230" cy="116" r="6.5"></circle>
<circle id="椭圆形备份-2880" stroke="#0FC6C2" stroke-width="3" cx="555" cy="116" r="6.5"></circle>
<path id="路径-104" d="M309,109 L323,116 L309,123 L309,117 L238,117 L238,115 L309,115 L309,109 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份" d="M634,109 L648,116 L634,123 L634,117 L563,117 L563,115 L634,115 L634,109 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<g id="矩形备份-6">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="形状" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#FFFFFF" xlink:href="#path-7"></use>
</g>
<g id="蒙版">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-9"></use>
</g>
<g id="椭圆形备份-2884">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#0FC6C2" fill-rule="evenodd" xlink:href="#path-11"></use>
</g>
<g id="椭圆形备份-2885">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-13"></use>
</g>
<text id="客户端备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="85" y="208">客户端</tspan>
</text>
<g id="矩形备份-67">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-15"></use>
</g>
<g id="形状结合备份-5" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#0FC6C2" xlink:href="#path-17"></use>
</g>
<g id="矩形备份-69">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#FF5A5E" fill-rule="evenodd" xlink:href="#path-19"></use>
</g>
<circle id="椭圆形备份-2894" fill="#FFFFFF" cx="140.5" cy="126.5" r="2.5"></circle>
<circle id="椭圆形备份-2895" fill="#FFFFFF" cx="151.5" cy="137.5" r="2.5"></circle>
<path d="M140.5,126.5 C142.941757,126.133563 144.77509,126.60662 146,127.919172 C147.837365,129.888 145.588463,134.519891 146.966024,136.266298 C147.884398,137.430569 149.395723,137.841803 151.5,137.5" id="路径-82备份" stroke="#FFFFFF"></path>
<line x1="385" y1="103" x2="396" y2="103" id="路径-105" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<line x1="484" y1="103" x2="495" y2="103" id="路径-105备份" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<text id="雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="420" y="181">雷池</tspan>
</text>
<text id="网站服务器" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="715" y="181">网站服务器</tspan>
</text>
<text id="http(s)://example.co备份" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="367.249" y="207">http(s)://example.com</tspan>
</text>
<text id="http(s)://192.168.10" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="674.357" y="207">http(s)://192.168.10.10(内网)</tspan>
</text>
<text id="在单独设备上部署雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="360" y="276">在单独设备上部署雷池</tspan>
</text>
<text id="请求方向" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="571" y="149">请求方向</tspan>
</text>
<rect id="矩形备份-6" fill-opacity="0.2" fill="#0FC6C2" x="721" y="66" width="65" height="30" rx="4"></rect>
<rect id="矩形备份-7" fill-opacity="0.2" fill="#0FC6C2" x="721" y="102" width="65" height="30" rx="4"></rect>
<g id="矩形备份-8">
<use fill="black" fill-opacity="1" filter="url(#filter-22)" xlink:href="#path-21"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-21"></use>
</g>
<path d="M774,96 L774,85.5 C774,82.7385763 771.761424,80.5 769,80.5 L737.5,80.5 L737.5,80.5" id="路径-106备份" stroke-opacity="0.2" stroke="#0FC6C2" stroke-width="4"></path>
<circle id="椭圆形备份-2881" fill="#0FC6C2" cx="738" cy="81" r="5"></circle>
<circle id="椭圆形备份-2882" fill="#FF5A5E" cx="739" cy="117" r="5"></circle>
<line x1="737.998993" y1="117" x2="769.009012" y2="117" id="路径-107备份" stroke-opacity="0.2" stroke="#FF5A5E" stroke-width="4" transform="translate(753.504002, 117.000000) scale(1, -1) translate(-753.504002, -117.000000) "></line>
<polygon id="路径-108备份" fill="#E54C21" points="756 91.2013824 792 91.2013824 788 125.786224 774 129.536447 760 125.786224"></polygon>
<polygon id="路径-109备份" fill="#FFFFFF" points="763.224033 98.2307472 784.05723 98.2307472 784.05723 102.637484 767.97813 102.637484 767.97813 107 782.570092 107 782.570092 118.846844 773.640631 122.529913 764.697501 118.846844 764.697501 113.314804 767.97813 113.314804 767.97813 116.530302 773.640631 118.302485 778.647409 116.530302 778.647409 110.38033 764.038963 110.38033"></polygon>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="966px" height="310px" viewBox="0 0 966 310" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>配置防护站点3</title>
<defs>
<rect id="path-1" x="0" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="325" y="0" width="561" height="230" rx="12"></rect>
<filter x="-12.5%" y="-21.7%" width="125.0%" height="160.9%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M505.670519,92.4129077 C505.485903,91.297016 504.932053,90.1811243 503.824353,89.6231784 C495.701221,84.9736295 478.71649,76.7904233 477.978023,76.4184594 C477.05494,75.8605135 475.762624,75.8605135 474.83954,76.4184594 C474.101074,76.7904233 457.30096,84.9736294 449.177827,89.6231784 C448.070128,90.1811243 447.516278,91.297016 447.331661,92.4129077 C443.454712,130.167245 474.83954,142.628036 475.208774,142.814018 C475.578007,143 476.131857,143 476.50109,143 C476.870323,143 477.424173,143 477.793407,142.814018 C478.16264,142.628036 485.916539,139.652325 493.301204,131.841083 C499.947403,124.773768 507.701302,112.126995 505.670519,92.4129077 Z" id="path-5"></path>
<filter x="-28.9%" y="-19.4%" width="158.1%" height="150.7%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.301054414 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<polygon id="path-7" points="473.632574 93.8959395 483.715734 92.9610227 479.767773 105.263462 485.096653 104.769365 471.550313 126.658537 473.068478 110.703878 468.660724 111.112568"></polygon>
<filter x="-42.6%" y="-14.8%" width="185.2%" height="141.5%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-9" x="80" y="65" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M130.683871,85 C131.341935,85 132,85.7099237 132,86.4198473 L132,110.793893 C132,111.503817 131.341935,112.21374 130.683871,112.21374 L116.206452,112.21374 L116.206452,114.10687 L123.445161,114.10687 C123.883871,114.10687 124.322581,114.580153 124.322581,115.053435 C124.322581,115.526718 123.883871,116 123.445161,116 L106.335484,116 C105.896774,116 105.458065,115.526718 105.458065,115.053435 C105.458065,114.580153 105.896774,114.10687 106.335484,114.10687 L113.574194,114.10687 L113.574194,112.21374 L99.316129,112.21374 C98.6580645,112.21374 98,111.503817 98,110.793893 L98,86.4198473 C98,85.4732824 98.4387097,85 99.316129,85 L130.683871,85 Z M127,89 L103,89 C102.447715,89 102,89.4477153 102,90 L102,90 L102,107 C102,107.552285 102.447715,108 103,108 L103,108 L127,108 C127.552285,108 128,107.552285 128,107 L128,107 L128,90 C128,89.4477153 127.552285,89 127,89 L127,89 Z" id="path-11"></path>
<filter x="-20.6%" y="-16.1%" width="141.2%" height="145.2%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-13" x="134" y="119" width="24" height="24" rx="4"></rect>
<filter x="-77.1%" y="-47.9%" width="254.2%" height="254.2%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-15" x="0" y="0" width="60" height="60" rx="12"></rect>
<filter x="-30.8%" y="-19.2%" width="161.7%" height="161.7%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="客户端-雷池-服务器同一设备" transform="translate(-67.000000, -57.000000)">
<g id="配置防护站点3" transform="translate(107.000000, 77.000000)">
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<circle id="椭圆形" stroke="#0FC6C2" stroke-width="3" cx="230" cy="115" r="6.5"></circle>
<path id="路径-104" d="M309,108 L323,115 L309,122 L309,116 L238,116 L238,114 L309,114 L309,108 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<g id="形状" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#FFFFFF" xlink:href="#path-5"></use>
</g>
<g id="蒙版">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<text id="客户端备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="85" y="207">客户端</tspan>
</text>
<g id="矩形备份-67">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-9"></use>
</g>
<g id="形状结合备份-5" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#0FC6C2" xlink:href="#path-11"></use>
</g>
<g id="矩形备份-69">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#FF5A5E" fill-rule="evenodd" xlink:href="#path-13"></use>
</g>
<circle id="椭圆形备份-2894" fill="#FFFFFF" cx="140.5" cy="125.5" r="2.5"></circle>
<circle id="椭圆形备份-2895" fill="#FFFFFF" cx="151.5" cy="136.5" r="2.5"></circle>
<path d="M140.5,125.5 C142.941757,125.133563 144.77509,125.60662 146,126.919172 C147.837365,128.888 145.588463,133.519891 146.966024,135.266298 C147.884398,136.430569 149.395723,136.841803 151.5,136.5" id="路径-82备份" stroke="#FFFFFF"></path>
<text id="雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="460" y="168">雷池</tspan>
</text>
<text id="网站服务" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="733" y="168">网站服务</tspan>
</text>
<text id="监听-80-或-443/ssl-端口" font-family="PingFangSC-Regular, PingFang SC" font-size="12" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="410.038" y="196">监听 80 或 443/ssl 端口</tspan>
</text>
<text id="公网域名-example.com" font-family="PingFangSC-Regular, PingFang SC" font-size="12" font-weight="normal" line-spacing="20" fill="#000000" fill-opacity="0.5">
<tspan x="345.366" y="61">公网域名 example.com</tspan>
</text>
<text id="监听其他端口例如-portA" font-family="PingFangSC-Regular, PingFang SC" font-size="12" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="699.708" y="196">监听其他端口例如 portA</tspan>
</text>
<text id="同一设备" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="345" y="37">同一设备</tspan>
</text>
<text id="请求方向备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="245" y="148">请求方向</tspan>
</text>
<g id="编组-2" transform="translate(735.000000, 83.000000)">
<g id="矩形备份-11">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-15"></use>
</g>
<polygon id="路径-108备份-2" fill="#E54C21" points="14.6025641 14.7755464 45.525641 14.7755464 42.0897436 44.483039 30.0641026 47.7043841 18.0384615 44.483039"></polygon>
<polygon id="路径-109备份-2" fill="#FFFFFF" points="20.8078229 20.8135906 38.7030053 20.8135906 38.7030053 24.5988642 24.8914705 24.5988642 24.8914705 28.3461538 37.425592 28.3461538 37.425592 38.5222892 29.7554141 41.6859505 22.0734947 38.5222892 22.0734947 33.7704085 24.8914705 33.7704085 24.8914705 36.5324392 29.7554141 38.0546986 34.0561079 36.5324392 34.0561079 31.2497706 21.5078275 31.2497706"></polygon>
</g>
<path id="路径-104备份" d="M697,108 L711,115 L697,122 L697,116 L522,116 L522,114 L697,114 L697,108 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<text id="直接在网站服务器上部署雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="336" y="275">直接在网站服务器上部署雷池</tspan>
</text>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1060px" height="334px" viewBox="0 0 1060 334" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>配置防护站点4</title>
<defs>
<rect id="path-1" x="0" y="83" width="140" height="140" rx="12"></rect>
<filter x="-50.0%" y="-35.7%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="210" y="83" width="140" height="140" rx="12"></rect>
<filter x="-50.0%" y="-35.7%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="630" y="83" width="140" height="140" rx="12"></rect>
<filter x="-50.0%" y="-35.7%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-7" x="840" y="83" width="140" height="140" rx="12"></rect>
<filter x="-50.0%" y="-35.7%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-9" x="420" y="83" width="140" height="140" rx="12"></rect>
<filter x="-50.0%" y="-35.7%" width="200.0%" height="200.0%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-11" x="35" y="118" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M85.683871,138 C86.3419355,138 87,138.709924 87,139.419847 L87,163.793893 C87,164.503817 86.3419355,165.21374 85.683871,165.21374 L71.2064516,165.21374 L71.2064516,167.10687 L78.4451613,167.10687 C78.883871,167.10687 79.3225806,167.580153 79.3225806,168.053435 C79.3225806,168.526718 78.883871,169 78.4451613,169 L61.3354839,169 C60.8967742,169 60.4580645,168.526718 60.4580645,168.053435 C60.4580645,167.580153 60.8967742,167.10687 61.3354839,167.10687 L68.5741935,167.10687 L68.5741935,165.21374 L54.316129,165.21374 C53.6580645,165.21374 53,164.503817 53,163.793893 L53,139.419847 C53,138.473282 53.4387097,138 54.316129,138 L85.683871,138 Z M82,142 L58,142 C57.4477153,142 57,142.447715 57,143 L57,143 L57,160 C57,160.552285 57.4477153,161 58,161 L58,161 L82,161 C82.5522847,161 83,160.552285 83,160 L83,160 L83,143 C83,142.447715 82.5522847,142 82,142 L82,142 Z" id="path-13"></path>
<filter x="-20.6%" y="-16.1%" width="141.2%" height="145.2%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-15" x="89" y="172" width="24" height="24" rx="4"></rect>
<filter x="-77.1%" y="-47.9%" width="254.2%" height="254.2%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-17" x="245" y="118" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-19" x="665" y="118" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<circle id="path-21" cx="280" cy="153" r="24"></circle>
<mask id="mask-22" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="48" height="48" fill="white">
<use xlink:href="#path-21"></use>
</mask>
<circle id="path-23" cx="700" cy="153" r="24"></circle>
<mask id="mask-24" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="48" height="48" fill="white">
<use xlink:href="#path-23"></use>
</mask>
<circle id="path-25" cx="280" cy="153" r="14"></circle>
<mask id="mask-26" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="28" height="28" fill="white">
<use xlink:href="#path-25"></use>
</mask>
<circle id="path-27" cx="700" cy="153" r="14"></circle>
<mask id="mask-28" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="28" height="28" fill="white">
<use xlink:href="#path-27"></use>
</mask>
<rect id="path-29" x="875" y="118" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-30">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M519.670519,135.412908 C519.485903,134.297016 518.932053,133.181124 517.824353,132.623178 C509.701221,127.973629 492.71649,119.790423 491.978023,119.418459 C491.05494,118.860514 489.762624,118.860514 488.83954,119.418459 C488.101074,119.790423 471.30096,127.973629 463.177827,132.623178 C462.070128,133.181124 461.516278,134.297016 461.331661,135.412908 C457.454712,173.167245 488.83954,185.628036 489.208774,185.814018 C489.578007,186 490.131857,186 490.50109,186 C490.870323,186 491.424173,186 491.793407,185.814018 C492.16264,185.628036 499.916539,182.652325 507.301204,174.841083 C513.947403,167.773768 521.701302,155.126995 519.670519,135.412908 Z" id="path-31"></path>
<filter x="-28.9%" y="-19.4%" width="158.1%" height="150.7%" filterUnits="objectBoundingBox" id="filter-32">
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.301054414 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<polygon id="path-33" points="487.632574 136.895939 497.715734 135.961023 493.767773 148.263462 499.096653 147.769365 485.550313 169.658537 487.068478 153.703878 482.660724 154.112568"></polygon>
<filter x="-42.6%" y="-14.8%" width="185.2%" height="141.5%" filterUnits="objectBoundingBox" id="filter-34">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="客户端-雷池-服务器其他反代" transform="translate(-17.000000, -25.000000)">
<g id="配置防护站点4" transform="translate(57.000000, 25.000000)">
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<g id="矩形备份-3">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="矩形备份-5">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<g id="矩形备份-2">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-9"></use>
</g>
<circle id="椭圆形" stroke="#0FC6C2" stroke-width="3" cx="140" cy="153" r="6.5"></circle>
<circle id="椭圆形备份-2881" stroke="#0FC6C2" stroke-width="3" cx="560" cy="153" r="6.5"></circle>
<circle id="椭圆形备份-2884" stroke="#0FC6C2" stroke-width="3" cx="770" cy="153" r="6.5"></circle>
<circle id="椭圆形备份-2880" stroke="#0FC6C2" stroke-width="3" cx="350" cy="153" r="6.5"></circle>
<path id="路径-104" d="M194,146 L208,153 L194,160 L194,154 L148,154 L148,152 L194,152 L194,146 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-2" d="M614,146 L628,153 L614,160 L614,154 L568,154 L568,152 L614,152 L614,146 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份-4" d="M545.477884,7.06421223 L553.477884,11.5642122 L554.252618,12 L553.477884,12.4357878 L545.477884,16.9357878 L544.987623,16.0642122 L551.322,12.5 L530,12.5 L530,11.5 L551.326,11.5 L544.987623,7.93578777 L545.477884,7.06421223 Z" fill="#000000" fill-rule="nonzero"></path>
<path id="路径-104备份-3" d="M824,146 L838,153 L824,160 L824,154 L778,154 L778,152 L824,152 L824,146 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份" d="M404,146 L418,153 L404,160 L404,154 L358,154 L358,152 L404,152 L404,146 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<text id="客户端备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="40" y="259">客户端</tspan>
</text>
<text id="niginx" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="251.49" y="259">niginx</tspan>
</text>
<text id="niginx备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="671.49" y="259">niginx</tspan>
</text>
<text id="网站服务器" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="860" y="259">网站服务器</tspan>
</text>
<text id="雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="470" y="259">雷池</tspan>
</text>
<text id="http(s)://example.co备份-2" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="207.249" y="285">http(s)://example.com</tspan>
</text>
<text id="http(s)://192.168.10" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#000000" fill-opacity="0.5">
<tspan x="418.019" y="285">http(s)://192.168.10.10</tspan>
</text>
<g id="矩形备份-67">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-11"></use>
</g>
<g id="形状结合备份-5" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#0FC6C2" xlink:href="#path-13"></use>
</g>
<g id="矩形备份-69">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#FF5A5E" fill-rule="evenodd" xlink:href="#path-15"></use>
</g>
<circle id="椭圆形备份-2894" fill="#FFFFFF" cx="95.5" cy="178.5" r="2.5"></circle>
<circle id="椭圆形备份-2895" fill="#FFFFFF" cx="106.5" cy="189.5" r="2.5"></circle>
<path d="M95.5,178.5 C97.941757,178.133563 99.7750903,178.60662 101,179.919172 C102.837365,181.888 100.588463,186.519891 101.966024,188.266298 C102.884398,189.430569 104.395723,189.841803 106.5,189.5" id="路径-82备份" stroke="#FFFFFF"></path>
<text id="和其他反代设备一起部署" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="402" y="327">和其他反代设备一起部署</tspan>
</text>
<text id="请求方向" font-family="PingFangSC-Semibold, PingFang SC" font-size="16" font-weight="500" line-spacing="24" fill="#000000">
<tspan x="458" y="17">请求方向</tspan>
</text>
<g id="矩形备份-12">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-17"></use>
</g>
<g id="矩形备份-13">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-19"></use>
</g>
<use id="椭圆形" stroke="#E3E8EF" mask="url(#mask-22)" stroke-width="2" stroke-dasharray="4" xlink:href="#path-21"></use>
<use id="椭圆形备份-2882" stroke="#E3E8EF" mask="url(#mask-24)" stroke-width="2" stroke-dasharray="4" xlink:href="#path-23"></use>
<use id="椭圆形" stroke="#E3E8EF" mask="url(#mask-26)" stroke-width="2" stroke-dasharray="4" xlink:href="#path-25"></use>
<use id="椭圆形备份-2883" stroke="#E3E8EF" mask="url(#mask-28)" stroke-width="2" stroke-dasharray="4" xlink:href="#path-27"></use>
<rect id="矩形" fill="#FFFFFF" x="249" y="147" width="62" height="13" rx="1"></rect>
<rect id="矩形备份-4" fill="#FFFFFF" x="669" y="147" width="62" height="13" rx="1"></rect>
<text id="HTTP" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="12" font-weight="bold" line-spacing="20" fill="#000000">
<tspan x="271.994" y="156">HTTP</tspan>
</text>
<text id="HTTP备份" font-family="AlimamaShuHeiTi-Bold, Alimama ShuHeiTi" font-size="12" font-weight="bold" line-spacing="20" fill="#000000">
<tspan x="691.994" y="156">HTTP</tspan>
</text>
<g id="左箭头-(1)" transform="translate(261.500000, 154.000000) scale(1, -1) translate(-261.500000, -154.000000) translate(257.000000, 151.000000)" fill="#0FC6C2" fill-rule="nonzero">
<polygon id="形状" points="5.36547198 0 4.27624937 0.608615611 1.09603735 2.38696613 0 3 1.09603735 3.61303387 4.27624937 5.39138439 5.36547198 6 5.36547198 4.77835052 5.36547198 4.41384389 8.2730944 4.41384389 9 4.41384389 9 3.70692194 9 2.29307806 9 1.58615611 8.2730944 1.58615611 5.36547198 1.58615611 5.36547198 1.22164948"></polygon>
</g>
<g id="左箭头-(1)备份" transform="translate(681.500000, 154.000000) scale(1, -1) translate(-681.500000, -154.000000) translate(677.000000, 151.000000)" fill="#0FC6C2" fill-rule="nonzero">
<polygon id="形状" points="5.36547198 0 4.27624937 0.608615611 1.09603735 2.38696613 0 3 1.09603735 3.61303387 4.27624937 5.39138439 5.36547198 6 5.36547198 4.77835052 5.36547198 4.41384389 8.2730944 4.41384389 9 4.41384389 9 3.70692194 9 2.29307806 9 1.58615611 8.2730944 1.58615611 5.36547198 1.58615611 5.36547198 1.22164948"></polygon>
</g>
<rect id="矩形备份-6" fill-opacity="0.2" fill="#0FC6C2" x="857" y="110" width="65" height="30" rx="4"></rect>
<rect id="矩形备份-7" fill-opacity="0.2" fill="#0FC6C2" x="857" y="146" width="65" height="30" rx="4"></rect>
<g id="矩形备份-8">
<use fill="black" fill-opacity="1" filter="url(#filter-30)" xlink:href="#path-29"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-29"></use>
</g>
<path d="M910,140 L910,129.5 C910,126.738576 907.761424,124.5 905,124.5 L873.5,124.5 L873.5,124.5" id="路径-106备份" stroke-opacity="0.2" stroke="#0FC6C2" stroke-width="4"></path>
<circle id="椭圆形备份-2881" fill="#0FC6C2" cx="874" cy="125" r="5"></circle>
<circle id="椭圆形备份-2882" fill="#FF5A5E" cx="875" cy="161" r="5"></circle>
<line x1="873.998993" y1="161" x2="905.009012" y2="161" id="路径-107备份" stroke-opacity="0.2" stroke="#FF5A5E" stroke-width="4" transform="translate(889.504002, 161.000000) scale(1, -1) translate(-889.504002, -161.000000) "></line>
<polygon id="路径-108备份" fill="#E54C21" points="892 135.201382 928 135.201382 924 169.786224 910 173.536447 896 169.786224"></polygon>
<polygon id="路径-109备份" fill="#FFFFFF" points="899.224033 142.230747 920.05723 142.230747 920.05723 146.637484 903.97813 146.637484 903.97813 151 918.570092 151 918.570092 162.846844 909.640631 166.529913 900.697501 162.846844 900.697501 157.314804 903.97813 157.314804 903.97813 160.530302 909.640631 162.302485 914.647409 160.530302 914.647409 154.38033 900.038963 154.38033"></polygon>
<g id="形状备份" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-32)" xlink:href="#path-31"></use>
<use fill="#FFFFFF" xlink:href="#path-31"></use>
</g>
<g id="蒙版备份">
<use fill="black" fill-opacity="1" filter="url(#filter-34)" xlink:href="#path-33"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-33"></use>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 527 KiB

After

Width:  |  Height:  |  Size: 527 KiB

View file

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="960px" height="310px" viewBox="0 0 960 310" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>雷池简介(用户-雷池-服务器)</title>
<defs>
<rect id="path-1" x="0" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="325" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="48" y="65" width="122" height="70" rx="12"></rect>
<filter x="-15.2%" y="-16.4%" width="130.3%" height="152.9%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-7"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-9"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-11"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-13" x="650" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M71.5979217,20.0874393 C71.3726268,18.7217211 70.6967422,17.3560028 69.3449728,16.6731437 C59.4319979,10.982651 38.7048689,0.967383797 37.8036894,0.512144344 C36.6772149,-0.170714781 35.1001508,-0.170714781 33.9736763,0.512144344 C33.0724968,0.967383797 12.5706625,10.9826509 2.65768776,16.6731437 C1.30591847,17.3560028 0.630033823,18.7217211 0.404738871,20.0874393 C-4.32645365,66.2942402 33.9736763,81.5447607 34.4242661,81.7723803 C34.8748559,82 35.5507406,82 36.0013303,82 C36.4519201,82 37.1278047,82 37.5783944,81.7723803 C38.0289842,81.5447607 47.4913693,77.9028452 56.5031645,68.3428175 C64.6137803,59.6932685 74.0761653,44.2151284 71.5979217,20.0874393 Z" id="path-15"></path>
<filter x="-23.6%" y="-15.9%" width="147.2%" height="141.5%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.301054414 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<polygon id="path-17" points="436.59509 82.9024931 448.935675 81.7582665 444.103842 96.8149835 450.625755 96.2102678 434.046652 123 435.904704 103.473403 430.51014 103.973591"></polygon>
<filter x="-34.8%" y="-12.1%" width="169.6%" height="133.9%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-19" x="739" y="74" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M12,2.18129358 C17.4128396,2.18129358 21.8187064,6.58427507 21.8187064,12 C21.8187064,17.4157249 17.4128396,21.8158211 12,21.8158211 C6.58716038,21.8158211 2.18129358,17.4128396 2.18129358,12 C2.18129358,6.58716038 6.58716038,2.18129358 12,2.18129358 M12,0 C5.3724453,0 0,5.3724453 0,12 C0,18.6275547 5.3724453,24 12,24 C18.6275547,24 24,18.6275547 24,12 C24,5.3724453 18.6275547,0 12,0 Z" id="path-21"></path>
<filter x="-29.2%" y="-20.8%" width="158.3%" height="158.3%" filterUnits="objectBoundingBox" id="filter-22">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M12,2.18129358 C13.5205578,2.18129358 15.8172638,6.09665785 15.8172638,12 C15.8172638,17.9033421 13.5205578,21.8158211 12,21.8158211 C10.4794422,21.8158211 8.18273623,17.9004568 8.18273623,12 C8.18273623,6.09954316 10.4794422,2.18129358 12,2.18129358 M12,0 C8.6876653,0 6.00144265,5.3724453 6.00144265,12 C6.00144265,18.6275547 8.6876653,24 12,24 C15.3123347,24 17.9985573,18.6275547 17.9985573,12 C17.9985573,5.3724453 15.3123347,0 12,0 Z" id="path-23"></path>
<filter x="-58.3%" y="-20.8%" width="216.7%" height="158.3%" filterUnits="objectBoundingBox" id="filter-24">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M1.09064679,7.63452753 L22.9093532,7.63452753 L22.9093532,9.81582111 L1.09064679,9.81582111 L1.09064679,7.63452753 Z M1.09064679,14.1812936 L22.9093532,14.1812936 L22.9093532,16.3625872 L1.09064679,16.3625872 L1.09064679,14.1812936 Z" id="path-25"></path>
<filter x="-32.1%" y="-57.3%" width="164.2%" height="260.4%" filterUnits="objectBoundingBox" id="filter-26">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="用户-雷池-服务器" transform="translate(-67.000000, -57.000000)">
<g id="雷池简介(用户-雷池-服务器)" transform="translate(107.000000, 77.000000)">
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<circle id="椭圆形" stroke="#0FC6C2" stroke-width="3" cx="230" cy="115" r="6.5"></circle>
<circle id="椭圆形备份-2880" stroke="#0FC6C2" stroke-width="3" cx="555" cy="115" r="6.5"></circle>
<path id="路径-104" d="M309,108 L323,115 L309,122 L309,116 L238,116 L238,114 L309,114 L309,108 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<path id="路径-104备份" d="M634,108 L648,115 L634,122 L634,116 L563,116 L563,114 L634,114 L634,108 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<text id="用户" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="95" y="207">用户</tspan>
</text>
<text id="雷池" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="420" y="207">雷池</tspan>
</text>
<rect id="矩形备份-2" fill-opacity="0.2" fill="#0FC6C2" x="86" y="57" width="96" height="96" rx="12"></rect>
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="发布人" transform="translate(96.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#0FC6C2" xlink:href="#path-7"></use>
</g>
</g>
<g id="发布人备份" transform="translate(61.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#FF5A5E" xlink:href="#path-9"></use>
</g>
</g>
<g id="发布人备份-2" transform="translate(133.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#428FF9" xlink:href="#path-11"></use>
</g>
</g>
<line x1="85" y1="103" x2="96" y2="103" id="路径-105" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<line x1="120" y1="103" x2="131" y2="103" id="路径-105备份" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<g id="矩形备份-6">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-13"></use>
</g>
<text id="网站服务器备份" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="715" y="207">网站服务器</tspan>
</text>
<g id="安全盾牌" transform="translate(404.000000, 61.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#FFFFFF" xlink:href="#path-15"></use>
</g>
</g>
<g id="蒙版">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#428FF9" fill-rule="evenodd" xlink:href="#path-17"></use>
</g>
<rect id="矩形备份-6" fill-opacity="0.2" fill="#0FC6C2" x="721" y="66" width="65" height="30" rx="4"></rect>
<rect id="矩形备份-7" fill-opacity="0.2" fill="#0FC6C2" x="721" y="102" width="65" height="30" rx="4"></rect>
<g id="矩形备份-8">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-19"></use>
</g>
<path d="M774,98.0773361 L774,85.5 C774,82.7385763 771.761424,80.5 769,80.5 L738.5,80.5 L738.5,80.5" id="路径-106备份" stroke-opacity="0.2" stroke="#0FC6C2" stroke-width="4"></path>
<circle id="椭圆形备份-2882" fill="#0FC6C2" cx="739" cy="81" r="5"></circle>
<circle id="椭圆形备份-2883" fill="#0FC6C2" cx="739" cy="117" r="5"></circle>
<circle id="椭圆形备份-2884" fill="#FF5A5E" cx="739" cy="117" r="5"></circle>
<polygon id="路径-107备份" fill-opacity="0.2" fill="#FF5A5E" fill-rule="nonzero" transform="translate(753.687356, 117.000000) scale(1, -1) translate(-753.687356, -117.000000) " points="768.375719 115 765.629896 119 738.998993 119 738.998993 115"></polygon>
<g id="网站_常规-(1)备份" transform="translate(762.000000, 97.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-22)" xlink:href="#path-21"></use>
<use fill="#428FF9" xlink:href="#path-21"></use>
</g>
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-24)" xlink:href="#path-23"></use>
<use fill="#428FF9" xlink:href="#path-23"></use>
</g>
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-26)" xlink:href="#path-25"></use>
<use fill="#428FF9" xlink:href="#path-25"></use>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="855px" height="310px" viewBox="0 0 855 310" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>雷池简介(用户-服务器)</title>
<defs>
<rect id="path-1" x="0" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-3" x="545" y="0" width="230" height="230" rx="12"></rect>
<filter x="-30.4%" y="-21.7%" width="160.9%" height="160.9%" filterUnits="objectBoundingBox" id="filter-4">
<feOffset dx="0" dy="20" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="20" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-5" x="48" y="65" width="122" height="70" rx="12"></rect>
<filter x="-15.2%" y="-16.4%" width="130.3%" height="152.9%" filterUnits="objectBoundingBox" id="filter-6">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<rect id="path-7" x="634" y="74" width="70" height="70" rx="12"></rect>
<filter x="-26.4%" y="-16.4%" width="152.9%" height="152.9%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="7" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.568627451 0 0 0 0 0.619607843 0 0 0 0 0.670588235 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-9"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-10">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.0588235294 0 0 0 0 0.776470588 0 0 0 0 0.760784314 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-11"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-12">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.352941176 0 0 0 0 0.368627451 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M16,8 L8,8 C8,10.209139 9.790861,12 12,12 C14.209139,12 16,10.209139 16,8 Z M6,18 L18,18 C21.3137085,18 24,20.6862915 24,24 L24,26 L0,26 L0,24 C0,20.6862915 2.6862915,18 6,18 Z M12,16 C7.581722,16 4,12.418278 4,8 C4,3.581722 7.581722,0 12,0 C16.418278,0 20,3.581722 20,8 C20,12.418278 16.418278,16 12,16 Z" id="path-13"></path>
<filter x="-29.2%" y="-19.2%" width="158.3%" height="153.8%" filterUnits="objectBoundingBox" id="filter-14">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.301710009 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M12,2.18129358 C17.4128396,2.18129358 21.8187064,6.58427507 21.8187064,12 C21.8187064,17.4157249 17.4128396,21.8158211 12,21.8158211 C6.58716038,21.8158211 2.18129358,17.4128396 2.18129358,12 C2.18129358,6.58716038 6.58716038,2.18129358 12,2.18129358 M12,0 C5.3724453,0 0,5.3724453 0,12 C0,18.6275547 5.3724453,24 12,24 C18.6275547,24 24,18.6275547 24,12 C24,5.3724453 18.6275547,0 12,0 Z" id="path-15"></path>
<filter x="-29.2%" y="-20.8%" width="158.3%" height="158.3%" filterUnits="objectBoundingBox" id="filter-16">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M12,2.18129358 C13.5205578,2.18129358 15.8172638,6.09665785 15.8172638,12 C15.8172638,17.9033421 13.5205578,21.8158211 12,21.8158211 C10.4794422,21.8158211 8.18273623,17.9004568 8.18273623,12 C8.18273623,6.09954316 10.4794422,2.18129358 12,2.18129358 M12,0 C8.6876653,0 6.00144265,5.3724453 6.00144265,12 C6.00144265,18.6275547 8.6876653,24 12,24 C15.3123347,24 17.9985573,18.6275547 17.9985573,12 C17.9985573,5.3724453 15.3123347,0 12,0 Z" id="path-17"></path>
<filter x="-58.3%" y="-20.8%" width="216.7%" height="158.3%" filterUnits="objectBoundingBox" id="filter-18">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
<path d="M1.09064679,7.63452753 L22.9093532,7.63452753 L22.9093532,9.81582111 L1.09064679,9.81582111 L1.09064679,7.63452753 Z M1.09064679,14.1812936 L22.9093532,14.1812936 L22.9093532,16.3625872 L1.09064679,16.3625872 L1.09064679,14.1812936 Z" id="path-19"></path>
<filter x="-32.1%" y="-57.3%" width="164.2%" height="260.4%" filterUnits="objectBoundingBox" id="filter-20">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.258823529 0 0 0 0 0.560784314 0 0 0 0 0.976470588 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="官网设计" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="用户-服务器" transform="translate(-119.000000, -57.000000)">
<g id="雷池简介(用户-服务器)" transform="translate(159.000000, 77.000000)">
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
</g>
<g id="矩形备份">
<use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
</g>
<circle id="椭圆形" stroke="#0FC6C2" stroke-width="3" cx="230" cy="115" r="6.5"></circle>
<path id="路径-104" d="M529,108 L543,115 L529,122 L529,116 L238,116 L238,114 L529,114 L529,108 Z" fill="#0FC6C2" fill-rule="nonzero"></path>
<text id="用户" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="95" y="207">用户</tspan>
</text>
<text id="网站服务器" font-family="PingFangSC-Semibold, PingFang SC" font-size="20" font-weight="500" line-spacing="28" fill="#000000">
<tspan x="610" y="207">网站服务器</tspan>
</text>
<rect id="矩形备份-2" fill-opacity="0.2" fill="#0FC6C2" x="86" y="57" width="96" height="96" rx="12"></rect>
<rect id="矩形备份-4" fill-opacity="0.2" fill="#0FC6C2" x="616" y="66" width="65" height="30" rx="4"></rect>
<rect id="矩形备份-5" fill-opacity="0.2" fill="#0FC6C2" x="616" y="102" width="65" height="30" rx="4"></rect>
<g id="矩形">
<use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-5"></use>
</g>
<g id="矩形备份-3">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<g id="发布人" transform="translate(96.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-10)" xlink:href="#path-9"></use>
<use fill="#0FC6C2" xlink:href="#path-9"></use>
</g>
</g>
<g id="发布人备份" transform="translate(61.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-12)" xlink:href="#path-11"></use>
<use fill="#FF5A5E" xlink:href="#path-11"></use>
</g>
</g>
<g id="发布人备份-2" transform="translate(133.000000, 87.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-14)" xlink:href="#path-13"></use>
<use fill="#428FF9" xlink:href="#path-13"></use>
</g>
</g>
<line x1="85" y1="103" x2="96" y2="103" id="路径-105" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<path d="M669,98.0773361 L669,85.5 C669,82.7385763 666.761424,80.5 664,80.5 L633.5,80.5 L633.5,80.5" id="路径-106" stroke-opacity="0.2" stroke="#0FC6C2" stroke-width="4"></path>
<line x1="120" y1="103" x2="131" y2="103" id="路径-105备份" stroke="#919EAB" stroke-width="0.5" stroke-linecap="round"></line>
<circle id="椭圆形" fill="#0FC6C2" cx="634" cy="81" r="5"></circle>
<circle id="椭圆形备份-2881" fill="#0FC6C2" cx="634" cy="117" r="5"></circle>
<circle id="椭圆形备份-2880" fill="#FF5A5E" cx="634" cy="117" r="5"></circle>
<polygon id="路径-107" fill-opacity="0.2" fill="#FF5A5E" fill-rule="nonzero" transform="translate(648.687356, 117.000000) scale(1, -1) translate(-648.687356, -117.000000) " points="663.375719 115 660.629896 119 633.998993 119 633.998993 115"></polygon>
<g id="网站_常规-(1)" transform="translate(657.000000, 97.000000)" fill-rule="nonzero">
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-16)" xlink:href="#path-15"></use>
<use fill="#428FF9" xlink:href="#path-15"></use>
</g>
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-18)" xlink:href="#path-17"></use>
<use fill="#428FF9" xlink:href="#path-17"></use>
</g>
<g id="形状">
<use fill="black" fill-opacity="1" filter="url(#filter-20)" xlink:href="#path-19"></use>
<use fill="#428FF9" xlink:href="#path-19"></use>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 277 KiB

View file

Before

Width:  |  Height:  |  Size: 221 KiB

After

Width:  |  Height:  |  Size: 221 KiB

View file

Before

Width:  |  Height:  |  Size: 463 KiB

After

Width:  |  Height:  |  Size: 463 KiB

View file

Before

Width:  |  Height:  |  Size: 5 MiB

After

Width:  |  Height:  |  Size: 5 MiB

View file

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View file

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 477 KiB

After

Width:  |  Height:  |  Size: 477 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Some files were not shown because too many files have changed in this diff Show more