|
@@ -0,0 +1,498 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <section class="flowchart-container">
|
|
|
|
|
+ <div class="flowchart-users">
|
|
|
|
|
+ <User text="正常访客" :src="user1Icon" class="user1" />
|
|
|
|
|
+ <User text="DDos" :src="user2Icon" class="user2" />
|
|
|
|
|
+ <User text="异常访客" :src="user3Icon" class="user3" />
|
|
|
|
|
+ <User text="... ..." :src="user4Icon" class="user4" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="flowchart-arrow">
|
|
|
|
|
+ <img class="arrow1" src="~/assets/svg/home/arrow.svg" alt="arrow" />
|
|
|
|
|
+ <div class="text1 text-box">浏览器域名</div>
|
|
|
|
|
+ <div class="text2 text-box">DNS引流</div>
|
|
|
|
|
+ <div class="text3 text-box">SDK引流</div>
|
|
|
|
|
+ <div class="text4 text-box">移动端/PC/客户端APP(Android、ios、Windows)</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="flowchart-block">
|
|
|
|
|
+ <div class="block-ads">
|
|
|
|
|
+ <div class="block-title">
|
|
|
|
|
+ 清洗系统(ADS)集群
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="ads-contnet">
|
|
|
|
|
+ <div class="ads-text">近源清洗</div>
|
|
|
|
|
+ <div class="ads-text">BGP调度</div>
|
|
|
|
|
+ <div class="ads-text">SYN\ UDP\ACK......</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="block-arrow1">
|
|
|
|
|
+ <img src="~/assets/svg/home/arrow1.svg" alt="arrow1">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="block-yun">
|
|
|
|
|
+ <div class="block-title">
|
|
|
|
|
+ 云端纵深防御平台
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="yun-contnet">
|
|
|
|
|
+ <div class="yun-item">
|
|
|
|
|
+ <div class="yun-item-title">WAF</div>
|
|
|
|
|
+ <div class="yun-item-desc">防漏洞、防入侵、防爬虫、<br>防盗链Web蜜网、敏感词替换......</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="yun-item">
|
|
|
|
|
+ <div class="yun-item-title">CC防护</div>
|
|
|
|
|
+ <div class="yun-item-desc">经典防御策略模式,精准访问控制(DIY)</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="yun-item">
|
|
|
|
|
+ <div class="yun-item-title">DDoS防护</div>
|
|
|
|
|
+ <div class="yun-item-desc">节点调度网络(Web、TCP、SDK)</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="yun-item">
|
|
|
|
|
+ <div class="yun-item-title">性能优化</div>
|
|
|
|
|
+ <div class="yun-item-desc">页面压缩、异步加载、移动端跳转全<br>链路优化、Web自适应、高级缓存</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="flowchart-footer">
|
|
|
|
|
+ <div class="footer-left">
|
|
|
|
|
+ <div class="left-top">
|
|
|
|
|
+ <div class="footer-text left-text">安全联动</div>
|
|
|
|
|
+ <img class="top-img" src="~/assets/svg/home/arrow2.svg" alt="arrow2" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="left-content">
|
|
|
|
|
+ <div class="block-title">
|
|
|
|
|
+ 大数据安全运营分析中心
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-content">
|
|
|
|
|
+ <div class="center-row">
|
|
|
|
|
+ <div class="center-item half">
|
|
|
|
|
+ <div class="item-title">AI实时决策引擎</div>
|
|
|
|
|
+ <div class="item-desc">日志管理、漏洞扫描</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-item half">
|
|
|
|
|
+ <div class="item-title">语义语法分析引擎</div>
|
|
|
|
|
+ <div class="item-desc">运营分析、安全值守</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-row">
|
|
|
|
|
+ <div class="center-item half">
|
|
|
|
|
+ <div class="item-title">规则监测引擎</div>
|
|
|
|
|
+ <div class="item-desc">威胁情报、安全重保</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-item half">
|
|
|
|
|
+ <div class="item-title">威胁情报</div>
|
|
|
|
|
+ <div class="item-desc">渗透测试、大屏展示</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-item full">
|
|
|
|
|
+ <div class="item-title">安全分析统计</div>
|
|
|
|
|
+ <div class="item-desc">cc攻击分析、漏洞入侵分析、BOT面板、实时态势......</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="center-item full">
|
|
|
|
|
+ <div class="item-title">业务访问分析统计</div>
|
|
|
|
|
+ <div class="item-desc">访问分析、热点URL、热点子域名、请求分布、状态码、流量宽带......</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="footer-right">
|
|
|
|
|
+ <div class="right-top">
|
|
|
|
|
+ <div class="footer-text right-text">洁净流量</div>
|
|
|
|
|
+ <img class="right-img" src="~/assets/svg/home/arrow3.svg" alt="arrow3 " />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right-server">
|
|
|
|
|
+ <img class="server-img" src="~/assets/svg/home/server.svg" alt="server" />
|
|
|
|
|
+ <img class="arrow4" src="~/assets/svg/home/arrow4.svg" alt="arrow4">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="server-text">
|
|
|
|
|
+ 源服务器
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </section>
|
|
|
|
|
+</template>
|
|
|
|
|
+<script setup>
|
|
|
|
|
+import User from './User.vue'
|
|
|
|
|
+import user1Icon from '~/assets/svg/home/user1.svg'
|
|
|
|
|
+import user2Icon from '~/assets/svg/home/user2.svg'
|
|
|
|
|
+import user3Icon from '~/assets/svg/home/user3.svg'
|
|
|
|
|
+import user4Icon from '~/assets/svg/home/user4.svg'
|
|
|
|
|
+</script>
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+.flowchart-container {
|
|
|
|
|
+ width: 1200px;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+
|
|
|
|
|
+ .flowchart-users {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+
|
|
|
|
|
+ .user1 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 286px;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .user2 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ right: 394px;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ width: 14px;
|
|
|
|
|
+ height: 151px;
|
|
|
|
|
+ top: 100%;
|
|
|
|
|
+ right: 40%;
|
|
|
|
|
+ background: linear-gradient(#979797, #E6E6E6);
|
|
|
|
|
+ transform: translateX(-50%);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .user3 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ right: 197px;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ width: 14px;
|
|
|
|
|
+ height: 151px;
|
|
|
|
|
+ top: 100%;
|
|
|
|
|
+ right: 40%;
|
|
|
|
|
+ background: linear-gradient(#FF5852, #fff);
|
|
|
|
|
+ transform: translateX(-50%);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .user4 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ width: 14px;
|
|
|
|
|
+ height: 151px;
|
|
|
|
|
+ top: 100%;
|
|
|
|
|
+ right: 40%;
|
|
|
|
|
+ background: linear-gradient(#ccc, #fff);
|
|
|
|
|
+ transform: translateX(-50%);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .flowchart-arrow {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ .arrow1 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 122px;
|
|
|
|
|
+ left: 106px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .text-box {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #8457FF;
|
|
|
|
|
+ background: #3F327D;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .text1 {
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ top: 270px;
|
|
|
|
|
+
|
|
|
|
|
+ width: 308px;
|
|
|
|
|
+ height: 74px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .text2 {
|
|
|
|
|
+ left: 70px;
|
|
|
|
|
+ top: 370px;
|
|
|
|
|
+ width: 122px;
|
|
|
|
|
+ height: 54px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .text3 {
|
|
|
|
|
+ left: 540px;
|
|
|
|
|
+ top: 370px;
|
|
|
|
|
+ width: 122px;
|
|
|
|
|
+ height: 54px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .text4 {
|
|
|
|
|
+ left: 644px;
|
|
|
|
|
+ top: 270px;
|
|
|
|
|
+ width: 556px;
|
|
|
|
|
+ height: 74px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .block-title {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 70px;
|
|
|
|
|
+ background: rgba(128, 119, 255, 0.50);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ font-size: 24px;
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .flowchart-block {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ padding-top: 475px;
|
|
|
|
|
+
|
|
|
|
|
+ .block-ads {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #8B74FF;
|
|
|
|
|
+ background: rgba(63, 51, 125, 0.30);
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ .ads-contnet {
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ height: 134px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-around;
|
|
|
|
|
+ // gap: 76px;
|
|
|
|
|
+
|
|
|
|
|
+ .ads-text {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 261px;
|
|
|
|
|
+ height: 51px;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ background: rgba(139, 116, 255, 0.50);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ .block-yun {
|
|
|
|
|
+ width: 1200px;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #8077FF;
|
|
|
|
|
+ background: rgba(63, 51, 125, 0.30);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .yun-contnet {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ gap: 30px;
|
|
|
|
|
+ padding: 35px 0;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ .yun-item {
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ background: rgba(139, 116, 255, 0.50);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 440px;
|
|
|
|
|
+ height: 82px;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ padding: 15px 24px;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ gap: 36px;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+
|
|
|
|
|
+ .yun-item-title {
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .yun-item-desc {
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 24px;
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ .block-arrow1 {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .flowchart-footer {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+
|
|
|
|
|
+ .footer-text {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 122px;
|
|
|
|
|
+ height: 54px;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #CBC9FF;
|
|
|
|
|
+ background: #3F337D;
|
|
|
|
|
+ box-shadow: 0 5.5px 10px 0 rgba(181, 179, 227, 0.30);
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .left-text {
|
|
|
|
|
+ top: 20px;
|
|
|
|
|
+ left: 542px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .right-text {
|
|
|
|
|
+ top: 81px;
|
|
|
|
|
+ left: 131px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .footer-left {
|
|
|
|
|
+ width: 900px;
|
|
|
|
|
+
|
|
|
|
|
+ .left-top {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+
|
|
|
|
|
+ .top-img {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ left: 575px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .left-content {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #8077FF;
|
|
|
|
|
+ background: rgba(63, 51, 125, 0.30);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+
|
|
|
|
|
+ .center-content {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding: 55px 40px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ gap: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ .center-row {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ gap: 20px;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .center-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 380px;
|
|
|
|
|
+ height: 56px;
|
|
|
|
|
+ background: rgba(139, 116, 255, 0.50);
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ gap: 26px;
|
|
|
|
|
+ padding-left: 24px;
|
|
|
|
|
+
|
|
|
|
|
+ &.half {
|
|
|
|
|
+ width: calc(50% - 10px);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &.full {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .item-title {
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .item-desc {
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .footer-right {
|
|
|
|
|
+ width: 300px;
|
|
|
|
|
+
|
|
|
|
|
+ .right-top {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .right-img {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ left: 174px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .right-server {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .arrow4 {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ left: 8px;
|
|
|
|
|
+ top: 80px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .server-img {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ left: 48px;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .server-text {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ width: 182px;
|
|
|
|
|
+ height: 75px;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ border: 2px solid #CBC9FF;
|
|
|
|
|
+ background: #3F337D;
|
|
|
|
|
+ box-shadow: 0 5.5px 10px 0 rgba(181, 179, 227, 0.30);
|
|
|
|
|
+ color: #FFF;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ margin: 30px 0 0 84px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|