fe / bt-source /panel /BTPanel /templates /default /firewall.html
GGSheng's picture
feat: deploy Gemma 4 to hf space
3a5cf48 verified
{% extends "layout.html" %} {% block content %}
<link rel="stylesheet" href="{{g.cdn_url}}/editor/styles/icons.css" />
<link rel="stylesheet" href="{{g.cdn_url}}/editor/diff/ace-diff.min.css" />
<link rel="stylesheet" href="{{g.cdn_url}}/editor/diff/ace-diff-dark.min.css" />
<style type="text/css">
.ssh-config {
padding: 6px 0;
}
.ssh-config-title {
line-height: 30px;
font-size: 14px;
border-bottom: 1px solid #e7e7e7;
padding: 5px 5px 8px 10px;
font-weight: bold;
color: #666;
margin-bottom: 10px;
}
.ssh-config .line .line-input {
display: inline-block;
position: relative;
}
.ssh-config .line:hover {
background: #a5a5a514;
transition: background 0.2s;
cursor: pointer;
}
.ssh-config .line-title {
font-size: 12px;
color: #333;
display: inline-block;
width: 120px;
text-align: right;
padding-right: 15px;
height: 30px;
line-height: 30px;
vertical-align: top;
}
.ssh-config .line-item {
display: inline-block;
vertical-align: top;
height: 30px;
line-height: 30px;
}
.ssh-config .line-row {
vertical-align: top;
}
.line-row,
.line-row-tips {
height: 30px;
line-height: 30px;
display: inline-block;
}
.line-input input {
height: 30px;
line-height: 30px;
}
.line-row-tips {
margin-left: 10px !important;
color: #999;
vertical-align: top;
}
.crontab-log {
overflow: auto;
border: 0 none;
line-height: 16px;
padding: 15px;
white-space: pre-wrap;
min-height: 250px;
background-color: rgb(51, 51, 51);
color: #f1f1f1;
margin-top: 10px;
margin-bottom: 0;
}
.input_file {
float: left;
height: 35px;
border: 0.1px dashed #d0d0d0;
padding: 0 0 0 10px;
font-size: 14px;
outline: none;
margin-bottom: 20px;
}
.select_file {
float: left;
width: 80px;
height: 35px;
font-size: 14px;
color: #fff;
background: #10952a;
position: absolute;
left: 170px;
border: none;
}
.dividing-line {
width: 1px;
background: #ccc;
height: 20px;
vertical-align: middle;
}
#antiOverviewList .divtable,
#reinforceSystem .divtable {
margin: 0;
}
.logs-data-select {
margin-bottom: 15px;
}
.logs-title {
display: inline-block;
width: auto;
height: 35px;
font-size: 12px;
line-height: 35px;
margin-right: 5px;
}
.logs-unselect {
position: relative;
display: inline-block;
height: 30px;
border: 1px solid #e6e6e6;
border-radius: 2px;
font-size: 13px;
line-height: 28px;
}
.logs-unselect.active .logs-input-list {
display: block;
}
.logs-unselect.active .logs-input-list {
animation-name: layui-upbit;
animation-duration: 0.3s;
animation-fill-mode: both;
}
.logs-inputs {
box-sizing: border-box;
padding: 0 30px 0 10px;
height: 30px;
cursor: pointer;
}
.logs-unselect .logs-inputs:after {
position: absolute;
top: 0.8pc;
right: 6pt;
display: block;
width: 0;
height: 0;
border-color: #c2c2c2 transparent transparent;
border-style: solid;
border-width: 6px 6px 0;
content: '';
transition: transform 0.5s;
}
.logs-input-list {
position: absolute;
top: 30px;
right: -1px;
left: -1px;
z-index: 899;
display: none;
box-sizing: border-box;
padding: 5px 0;
height: auto;
min-width: 100%;
border: 1px solid #d2d2d2;
border-radius: 2px;
background-color: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
.logs-input-list dd {
padding: 5px 15px;
height: 30x;
}
.logs-input-list dd:hover {
background-color: #f2f2f2;
cursor: pointer;
}
.logs-input-list dd.logs_checked {
background: #20a532 !important;
color: #fff;
}
.logs-page.page-style {
padding: 0 5px;
height: 30px;
font-size: 13px;
margin-top: 5px;
}
.page-style .nextPage {
display: inline-block;
margin: 0 3px;
padding: 0 10px;
height: 30px;
border-radius: 2px;
background-color: #f5f5f5;
color: #666;
text-align: center;
line-height: 30px;
cursor: pointer;
}
.page-style .Pcount {
margin-right: 0;
margin-left: 5px;
}
.page a:last-of-type {
border-right: 1px solid #ececec;
}
.firewall-tab-view .tab-nav-border span i {
font-style: initial;
}
.firewall-tab-view .tab-con {
padding: 0;
}
.firewall-tab-view .tab-con .btswitch + .btswitch-btn {
width: 2.8rem;
height: 1.75rem;
}
.logAuditContent {
padding: 0 0 0 15px;
margin-left: 15px;
width: 100%;
flex: 1;
border-left: 1px solid #ececec;
}
.logAuditTabContent {
display: flex;
height: 100%;
}
.logAuditTabContent .logAuditTab .logAuditItem {
height: 35px;
line-height: 35px;
padding: 0 10px;
border-bottom: 1px solid #ececec;
cursor: pointer;
}
.logAuditTabContent .logAuditTab .logAuditItem:hover,
.logAuditTabContent .logAuditTab .logAuditItem.active {
background-color: #f2f2f2;
}
.logAuditTabContent .logAuditTab {
border: 1px solid #ececec;
overflow: auto;
}
.daily-thumbnail {
width: 1200px;
margin: 80px auto;
}
.thumbnail-box {
position: relative;
display: flex;
justify-content: center;
}
.thumbnail-introduce {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 40px;
}
.thumbnail-introduce span {
font-size: 20px;
font-weight: bold;
}
.thumbnail-introduce ul {
display: flex;
font-size: 16px;
line-height: 30px;
margin: 20px 0;
list-style-type: square;
}
.thumbnail-introduce ul li + li {
margin-left: 40px;
}
.pluginTipsGg {
position: relative;
width: 950px;
height: 720px;
background-color: #f1f1f1;
background-size: 100%;
background-repeat: no-repeat;
background-position: top;
border-radius: 4px;
}
/*.pluginTipsGg:hover::before{*/
/* display: inline-block;*/
/*}*/
.pluginTipsGg::before {
content: '点击预览';
display: none;
background: #000;
opacity: 0.2;
color: #fff;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
line-height: 621px;
font-size: 18px;
vertical-align: bottom;
text-align: center;
border-radius: 4px;
transition: all 1s;
}
.tab-list .tabs-item.active:after {
content: '';
width: 20px;
height: 2px;
position: absolute;
left: 50%;
bottom: 0px;
background: red;
margin-left: -10px;
background: #20a53a;
}
.thumbnail-box .thumbnail-tab {
margin-right: 40px;
width: 130px;
border-right: 1px solid #def2e2;
}
.thumbnail-tab li {
padding: 0 20px;
line-height: 46px;
width: 130px;
cursor: pointer;
font-size: 14px;
}
.thumbnail-tab li.on {
border-right: 2px solid #20a53a;
color: #20a53a;
font-size: 14px;
}
.special-on .thumbnail-tab li {
width: 156px;
}
.thumbnail-item {
display: none;
}
.thumbnail-item.show {
display: block;
}
.bt_warning {
color: #fc6d26;
}
/* 安全检测 */
.progress-header {
display: flex;
align-items: center;
height: 140px;
padding: 20px 20px;
text-align: center;
}
.progresscircle {
position: absolute;
top: 8px;
left: 25px;
}
.progresscircle p {
padding: 5px 0;
font-size: 13px;
font-weight: 700;
}
.progresscirclebar.security svg {
position: absolute;
width: 100px;
height: 100px;
left: 0;
font-weight: 600;
}
.progresscirclebar span:nth-child(1) {
font-size: 24px;
}
.progresscirclebar {
position: relative;
width: 100px;
height: 100px;
line-height: 100px;
font-size: 18px;
}
.progresscirclebar.active svg {
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
}
.progress-header-cot:nth-child(1),
.progress-header-cot:nth-child(3) {
min-width: 100px;
position: relative;
}
.progress-header-cot:nth-child(3) {
display: flex;
}
.progress-header-cot:nth-child(2) {
width: 100%;
padding: 0 40px;
}
.progress-header-cot button,
.scan-header-cont button {
height: 40px;
width: 120px;
font-size: 15px;
border-radius: 5px;
}
.progress-header-cot button.cancel_detect {
border-color: #999;
color: #666;
background-color: #fff;
font-size: 15px;
}
.progress-header-cot button.cancel_detect:hover {
color: #fc6d26;
background: rgba(252, 109, 38, 0.1);
border-color: rgba(252, 109, 38, 0.2);
}
.scanning-progress-title {
text-align: left;
font-weight: 700;
margin: 15px 0;
font-size: 20px;
}
.scanning-progress-title img {
margin-right: 10px;
vertical-align: sub;
width: 24px;
}
.scanning-progress-title .color-red {
color: red;
}
.scanning-progress-title span {
color: #fc6d26;
}
.color-org {
color: #fc6d26;
}
.scanning-progress-cont {
text-align: left;
margin: 15px 0;
font-size: 14px;
}
.scanning-progress-bar {
display: flex;
align-items: center;
}
.scanning-progress-bar .progress-bar {
width: 100%;
height: 10px;
border-radius: 100px;
background-color: #ebeef5;
box-shadow: none;
}
.scanning-progress-bar .progress-bar .progressbar {
width: 0;
height: 10px;
border-radius: 100px;
background-color: #20a53a;
transition: width 300ms;
}
.scanning-progress-bar .progressbar_text {
margin-left: 10px;
width: 32px;
font-size: 14px;
}
.progress_item {
margin: 0 20px 20px 20px;
padding: 0 20px;
background-color: #f7f7f7;
border-radius: 4px;
border: 1px solid transparent;
}
.progress_item_header {
height: 55px;
line-height: 55px;
display: flex;
justify-content: space-between;
border-radius: 4px;
cursor: pointer;
font-size: 15px;
color: #555;
}
.progress_item_header .progress_type {
display: flex;
align-items: center;
width: 59.5%;
font-weight: bold;
line-height: 22px;
}
.progress_item_header .progress_type img {
width: 20px;
margin-right: 10px;
}
.progress_item_header .progress_status {
flex: 1;
}
.progress-cont-list {
margin-top: 20px;
}
.progress_item_body {
line-height: 30px;
display: none;
font-size: 14px;
}
.progress_item.active .progress_item_body {
display: block;
}
.progress_item_info {
margin-bottom: 15px;
}
.progress_item_info .info_cont {
display: flex;
color: #666;
padding: 10px 30px;
}
.progress_item_info .info_cont div:nth-child(1) {
width: 60%;
}
.progress_item_info .info_cont div:nth-child(2) {
width: 40%;
}
.progress_item_info .info_cont div:nth-child(2) span {
font-weight: 600;
}
.progress_item_info.active {
background-color: rgba(252, 109, 38, 0.1);
padding: 10px 0;
}
.progress_item_info.active .info_cont {
margin: 0 20px;
padding: 0 10px 5px 10px;
border-bottom: 1px dashed #d9d9d9;
}
.progress_item_info.active .info_cont_desc {
color: #888;
border-radius: 4px;
padding: 5px 30px 0 30px;
}
.progress_item_info.active:hover {
background-color: rgba(252, 109, 38, 0.2);
}
.progress_item_info:hover {
background-color: #efefef;
}
.btn_red {
font-weight: bold;
margin-left: 5px;
padding: 1px 5px;
text-align: center;
border-radius: 3px;
color: #fff;
background: red;
}
.btn_normal {
font-weight: bold;
margin-left: 5px;
padding: 1px 5px;
text-align: center;
border-radius: 3px;
color: #fff;
background: #f0ad4e;
}
.select_conter .wsfile_list {
display: none;
background: #fff;
position: absolute;
top: 34px;
left: -1px;
border: 1px solid #ececec;
overflow-y: auto;
max-height: 280px;
width: 203px;
z-index: 999;
box-shadow: 2px 5px 8px #ccc;
font-size: 12px;
}
.select_conter .wsfile_list.active {
display: block;
}
.select_conter .wsfile_list li {
text-align: left;
padding: 0 10px;
}
.select_conter .wsfile_list li:hover {
background: #20a53a;
color: #fff;
}
.select_conter .wsfile_list li.active {
background: #20a53a;
color: #fff;
}
.select_conter .wsfile_input {
display: inline-block;
padding-left: 15px;
height: 28px;
line-height: 28px;
vertical-align: top;
font-size: 12px;
}
.firewall-tab-view .tab-con .btswitch + .btswitch-btn.isSpywareDetection {
width: 3em;
height: 1.8em;
}
.prog_desc_title {
font-weight: 600;
font-size: 18px;
padding: 0 0 15px 0;
color: #555;
}
.prog_desc_body {
}
.prog_desc_body .prog_desc_item {
width: 25%;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px 0;
justify-content: space-around;
}
.prog_desc_body .prog_desc_item img {
width: 60px;
opacity: 0.8;
}
.prog_desc_body .prog_desc_item span {
padding-top: 10px;
font-size: 15px;
color: #666;
font-weight: 600;
}
#whitePathList .glyphicon-folder-open {
font-size: 15px;
margin-right: 15px;
}
/*漏洞扫描*/
.scan-header {
display: flex;
align-items: start;
height: 120px;
padding: 20px 20px;
border-bottom: 1px solid rgb(232, 232, 232);
margin-bottom: 15px;
}
.scan-header-cont:nth-child(1) {
width: 75px;
position: relative;
}
.safaty_load {
display: none;
position: absolute;
width: 60px;
height: 60px;
border-radius: 50%;
border-top: 3px solid transparent;
border-right: 3px solid rgba(32, 165, 58, 100);
border-bottom: 3px solid rgba(32, 165, 58, 100);
border-left: 3px solid rgba(32, 165, 58, 100);
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
}
.alarmTip{
width: 40px;
height: 26px;
padding: 5px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 10px;
border-radius: 4px;
margin-left: 10px;
}
.module_title{
display: flex;
align-items: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.module_details_head:before{
display: none;
}
.module_item .module_head {
background: #fff;
}
.module_item .module_head:hover {
background: #f5f7fa;
}
.module_details_item:hover .module_details_head {
background: #f5f7fa;
}
.module_details_item:hover .module_details_body {
background: #f5f7fa;
}
@-webkit-keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.scan-header-cont:nth-child(3) {
width: 200px;
position: relative;
display: flex;
justify-content: end;
}
.scan-header-cont:nth-child(2) {
width: 100%;
padding: 0 20px;
line-height: 26px;
}
.scan-title {
font-size: 20px;
font-weight: 700;
}
.scan-subtitle {
font-size: 14px;
}
.scan-title i {
font-style: inherit;
color: #f0ad4e;
}
.module_head div {
display: inline-block;
width: 300px;
}
.warning_scan_body .module_type {
width: auto;
}
.warning_scan_body .module_num {
width: 80px;
margin: 0 20px;
}
.warning_scan_body .module_num span {
color: red;
}
.warning_scan_body li:first-child .module_head {
border-top: none;
}
.module_details_list.active {
overflow: hidden;
height: auto;
margin: 13px 5px 20px 10px;
transition: margin 500ms;
}
.module_details_title > span {
display: inline-block;
max-width: 350px;
display: inline-block;
text-overflow: ellipsis;
overflow: hidden;
white-space: pre;
color: #a9a9a9;
}
.webedit-con .thumbnail-box::before {
content: '点击预览';
display: none;
background: #000;
opacity: 0.2;
color: #fff;
position: absolute;
left: 0;
top: 0;
width: 340px;
height: 315px;
line-height: 340px;
font-size: 18px;
vertical-align: bottom;
border-radius: 4px;
transition: all 1s;
}
.webedit-con .pluginTipsGg1 {
width: 340px;
height: 315px;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
border-radius: 4px;
}
.module_item {
color: #666;
}
.mt15 {
margin-top: 15px;
}
/* 安全检测 end */
/* 目录查杀 */
@keyframes load8 {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@-webkit-keyframes load8 {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.spyware_detection_view {
padding: 20px;
}
.spyware_detection_head {
display: flex;
align-items: center;
padding-bottom: 20px;
border-bottom: 1px solid #f1f1f1;
}
.spyware_detection_head .head_icon {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 76px;
}
.spyware_detection_head .head_icon .icon {
width: 76px;
height: 76px;
}
.spyware_detection_head .head_icon .start_icon {
width: 50px;
height: 50px;
}
.spyware_detection_head .head_icon .status_loading {
position: absolute;
top: 50%;
left: 50%;
margin-top: -33px;
margin-left: -33px;
width: 66px;
height: 66px;
border: 2px solid #20a53a;
border-top: 2px solid transparent;
border-radius: 50%;
animation: load8 1.1s infinite linear;
-webkit-animation: load8 1.1s infinite linear;
}
.spyware_detection_head .head_icon .status_loading.danger {
border-color: red;
border-top-color: transparent;
}
.spyware_detection_head .scanned_num {
margin-left: 4px;
}
.spyware_detection_head .total_num {
margin-right: 4px;
}
.spyware_detection_head .tqnum {
margin: 0 4px;
color: red;
}
.spyware_detection_head .head_left {
flex: 1;
width: 0;
height: 76px;
margin: 0 15px;
padding-top: 12px;
}
.spyware_detection_head .info {
display: flex;
align-items: center;
margin-bottom: 8px;
font-size: 18px;
color: #444;
font-weight: 600;
}
.spyware_detection_head .file {
width: 100%;
word-break: break-all;
font-size: 12px;
color: #666;
}
.spyware_detection_head .btn {
width: 100px;
height: 38px;
}
.spyware_detection_progress {
display: flex;
align-items: center;
}
.spyware_detection_progress .progress_bar {
position: relative;
flex: 1;
height: 2px;
border-radius: 100px;
background-color: #ebeef5;
}
.spyware_detection_progress .progress_bar .inner {
position: absolute;
left: 0;
top: 0;
height: 100%;
background-color: #20a53a;
border-radius: 100px;
transition: width 0.6s ease;
}
.spyware_detection_progress .text {
width: 40px;
margin-left: 10px;
text-align: right;
}
.spyware_detection_body {
margin-top: 20px;
}
.spyware_detection_view .divtable {
border: 1px solid #ddd;
}
.spyware_detection_view .divtable table {
border: none;
}
.text_ellipsis {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
/* end */
/* 内容检测 */
.tab-con .cont-detect {
padding-top: 15px;
}
.cont-detect .card-border {
padding: 15px;
border: 1px solid #e9e9e9;
border-radius: 4px;
}
.cont-detect .card-border + .card-border {
margin-top: 15px;
}
.card-border .card-title {
display: flex;
align-items: center;
margin-bottom: 12px;
font-size: 14px;
color: #666;
}
.card-border .card-title::before {
content: '';
display: inline-block;
width: 4px;
height: 16px;
margin-right: 6px;
background-color: #20a532;
border-radius: 1px;
}
.cont-detect .card-cont {
height: 345px;
}
.cont-detect .card-echarts {
height: 240px;
}
.cont-detect .col-content {
padding: 0;
}
.col-content .title {
height: auto;
line-height: 1.4;
padding-top: 15px;
font-size: 14px;
font-weight: bold;
border-bottom: none;
}
.new-table .tootls_group.tootls_top,
.cont-detect .tootls_group.tootls_top {
margin-bottom: 10px;
}
.new-table .divtable,
.cont-detect .divtable {
margin-top: 0;
border: 0.5px solid #ddd;
}
.new-table .divtable table,
.cont-detect .divtable table {
border: none;
}
.cont-detect .no-border .divtable {
border: none;
}
.table-hover > tbody > tr.no-tr:hover {
background-color: transparent;
}
.cont-detect .no-data {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: #666;
}
.cont-detect .no-data::before {
content: '';
display: block;
width: 160px;
height: 160px;
background: url('/static/img/no-data.png') no-repeat center;
background-size: contain;
}
.cont-detect .card-cont .no-data {
height: 230px;
}
.cont-detect .card-echarts .no-data {
height: 170px;
}
.cont-detect .info-panel {
display: flex;
margin-bottom: 15px;
}
.cont-detect .info-panel .cols {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 22px 0;
border-radius: 4px;
-webkit-box-shadow: 0px 0px 5px 1px rgba(62, 66, 66, 0.13);
-moz-box-shadow: 0px 0px 5px 1px rgba(62, 66, 66, 0.13);
box-shadow: 0px 0px 5px 1px rgba(62, 66, 66, 0.13);
}
.cont-detect .info-panel .cols::after {
content: '';
position: absolute;
top: 20px;
right: 20px;
display: block;
width: 40px;
height: 60px;
background: url('/static/img/content_detect/bg.png') no-repeat center;
background-size: contain;
opacity: 0.2;
}
.cont-detect .info-panel .cols + .cols {
margin-left: 50px;
}
.info-panel .cols .name {
display: flex;
align-items: center;
margin-bottom: 12px;
color: #999;
}
.info-panel .cols .name img {
width: 16px;
margin-right: 8px;
}
.info-panel .cols .value {
line-height: 1;
font-size: 20px;
font-weight: bold;
color: #666;
}
.info-panel .cols .value.red {
color: #fe7d2e;
}
.info-panel .cols .value.cbt {
color: #20a53a;
}
.form-radio {
display: flex;
align-items: center;
height: 32px;
margin-right: 20px;
}
.form-radio input {
position: relative;
top: 1px;
margin: 0px;
}
.form-radio label {
margin: 0;
margin-left: 6px;
font-weight: normal;
cursor: pointer;
}
.form-content .group-input .bt-input-text {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.form-content .unit {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
border: 1px solid #ccc;
border-left: 0;
border-radius: 2px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
background-color: #f6f6f6;
vertical-align: middle;
}
.monitor-form .form-label {
flex: 0 0 140px;
}
.form-checkbox {
display: flex;
align-items: center;
cursor: pointer;
}
.form-checkbox input {
margin: 0;
margin-right: 6px;
}
.form-checkbox .checkbox-label {
position: relative;
top: -0.5px;
line-height: 1;
}
.form-config {
margin-top: 15px;
padding-top: 15px;
border-top: 1px dashed #ddd;
}
.domain-ul-list li {
cursor: pointer;
}
.bt-form-new .desc {
margin-left: 20px;
}
.ace_item_box {
display: flex;
text-overflow: none;
}
.ace_item_box .tab_text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ace_editor_main .ace_conter_toolbar {
display: flex;
}
.ace_editor_main .ace_conter_toolbar .pull-left {
flex: 1;
max-width: none;
}
.ace_conter_toolbar .pull-left > span {
display: flex;
}
.ace_conter_toolbar .pull-left > span > i {
flex: 1;
width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.warning_scan_body .safe_state {
border: 1px solid #e8e8e8;
height: 490px;
line-height: 489px;
text-align: center;
font-size: 20px;
}
/* end */
#editIpRuleForm input[disabled],
#editIpRuleForm select[disabled] {
background-color: rgb(238, 238, 238);
border: 1px solid #ccc;
color: #333;
opacity: 1;
}
.daily-thumbnail.domain {
position: relative;
width: auto;
margin: 40px auto;
}
.daily-thumbnail.domain .pluginTipsGg {
width: 400px;
height: 260px;
}
.daily-thumbnail.domain .thumbnail-box .thumbnail-tab {
width: 156px;
}
.daily-thumbnail.domain .thumbnail-introduce ul {
margin: 15px 0;
}
.daily-thumbnail.domain .thumbnail-introduce {
margin-bottom: 30px;
}
.daily-thumbnail.domain .pluginTipsGg {
background-color: transparent;
cursor: pointer;
}
.daily-thumbnail.domain .pluginTipsGg .hover {
position: absolute;
left: 0;
top: 0;
display: none;
width: 390px;
height: 260px;
line-height: 260px;
background-color: rgba(0, 0, 0, .2);
border-radius: 4px;
text-align: center;
font-size: 18px;
color: #fff;
}
.daily-thumbnail.domain .pluginTipsGg:hover .hover {
display: block;
}
/* PHP网站安全告警 */
#phpSite .tab-con .sn-home--switch .btswitch+.btswitch-btn,
.firewall-tab-view .sn-alarm--mode .btswitch+.btswitch-btn {
width: 3em;
height: 1.8em;
}
/* 首页 */
.sn-home--switch{
position: relative;
font-size: 14px;
height: 42px;
line-height: 42px;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: space-between;
}
.sn-home-risk--list{
height: 296px;
overflow: auto;
border: 1px solid #EFEFEF;
border-radius: 4px;
}
.sn-home-risk--item .sn-home-risk--type span {
padding: 5px 10px;
display: inline-block;
border-radius: 2px;
height: 25px;
line-height: 15px;
margin-top: 8px;
}
/* 首页未开启 */
.default-font__style{
color:#999
}
.sn-home--overview {
border-radius: 4px;
border: 1px solid #EFEFEF;
padding: 15px;
margin-bottom: 25px;
}
.sn-home--overview-title {
font-size: 14px;
color: #666;
}
.sn-home--overview-item {
display: inline-block;
padding-top: 20px;
min-width: 160px;
text-align: center;
position: relative;
width: 10%;
}
.sn-home--overview-item--title {
font-size: 16px;
}
.sn-home--overview-item--num {
font-size: 26px;
font-weight: bold;
margin-top: 10px;
}
.sn-home--overview-item--upNum {
font-size: 14px;
font-weight: normal;
color: #F50606;
}
.sn-home--overview-item--upNum::before{
content:'↑';
color: #F50606;
}
.sn-home--overview-item:nth-child(1) .sn-home--overview-item--num{
color: #F50606;
}
.sn-home--overview-item:nth-child(2) .sn-home--overview-item--num{
color: #FF9900;
}
.sn-home--overview-item:nth-child(3) .sn-home--overview-item--num{
color: #DDC400;
}
.sn-home--overview-item.line-border::after{
content: '';
border-right: 1px solid #DCDCDC;
position: absolute;
right: 0;
top: 30px;
height: 48px;
}
.sn-home--overview.sn-home--overview-red{
background: linear-gradient(to bottom,rgba(255, 229, 224, 0.60),rgba(254, 234, 230, 0.12));
}
.sn-home--overview.sn-home--overview-yellow{
background: linear-gradient(to bottom,rgba(255, 237, 211, 0.60),rgba(254, 249, 246, 0.77));
}
.sn-home--overview.sn-home--overview-green{
background: linear-gradient(to bottom,rgba(233, 253, 238, 0.60),rgba(252, 254, 253, 1.00));
}
.sn-home-risk--item {
display: flex;
justify-content: space-between;
height: 42px;
line-height: 42px;
color:#999;
padding: 0 10px;
border-bottom: 1px solid #EFEFEF;
}
.sn-home-risk--item.risk-active,
.sn-home-risk--item :hover{
background-color: #f5f5f5;
}
.sn-home-risk--type {
width: 115px;
}
.sn-home-risk--site,
.sn-home-risk--name {
width: 160px;
}
.sn-home-risk--item.risk--item-high .sn-home-risk--type span{
background: #FEF5F3;
color:#EA2C2C
}
.sn-home-risk--item.risk--item-mod .sn-home-risk--type span{
background: #FEF6EF;
color:#FF9900
}
.sn-home-risk--item.risk--item-low .sn-home-risk--type span{
background: #F7FEF9;
color:#20A53A
}
.sn-home--important-note {
border: 1px solid #20a53a;
border-radius: 8px;
cursor: help;
display: inline-block;
font-family: arial;
font-size: 11px;
font-style: normal;
height: 16px;
line-height: 16px;
margin-right: 5px;
text-align: center;
width: 16px;
}
.sn-home-risk--item.risk--item-mod .sn-home-risk--type i{
border: 1px solid #FF9900;
}
.sn-home-risk--item.risk--item-high .sn-home-risk--type i{
border: 1px solid #EA2C2C;
}
.sn-home-risk--numtips {
color: #C1C1C1;
margin-top: 10px;
}
.sn-home--open-condition {
display: inline-block;
color: #E6A23C;
background: #FDF6EC;
height: 30px;
line-height: 30px;
padding: 0 10px;
border-radius: 2px;
flex: 1;
margin-left: 16px;
}
.sn-home--open-condition i{border-color:#E6A23C}
.sn-home--open-condition span{
text-decoration: underline;
cursor: pointer;
color: #EA2C2C;
}
.sn-home-risk--dialog{
position: fixed;
padding: 10px 10px 5px 10px;
box-shadow: 0 0 5px 2px #ececec;
background-color: #fff;
color:#999;
width: 260px;
display: none;
}
.sn-home-risk--dialog.arrow::before {
content: '';
position: absolute;
width: 0;
height: 0;
border: 6px solid transparent;
border-right-color: #fff;
top: 50%;
left: -12px;
}
.sn-home-dialog--title {
margin-bottom: 10px;
}
.sn-home-risk--dialog span{
color:#666
}
.sn-home-dialog--content {
padding-left: 5px;
line-height: 22px;
}
.sn-dialog-content::-webkit-scrollbar {
width: 6px;
background-color: #eee;
}
.sn-dialog-content::-webkit-scrollbar-thumb {
background-color: #c1c1c1;
}
.sn-dialog-content {
scrollbar-width: thin;
scrollbar-color: #c1c1c1 #eee;
}
.sn-dialog-content{
max-height: 100px;
overflow: auto;
word-break: break-all;
}
.sn-risk--no-data {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: #666;
height: 250px;
}
.sn-risk--no-data img{
width: 160px;
height: 160px;
}
/* 首页 end */
/* 告警设置 */
.sn-test--list,
.sn-alarm--list{
display:none;
position: absolute;
background: #fff;
z-index: 10;
transition: all 500ms;
top: 30px;
left: 72px;
box-shadow: 0 1px 5px rgb(0 0 0 / 50%);
border-radius: 1px;
width: 140px;
}
.sn-test--list{
max-height: 140px;
overflow: auto;
}
.sn-test--list li,
.sn-alarm--list li {
height: 28px;
line-height: 24px;
padding: 2px 10px;
white-space: nowrap;
}
.sn-alarm--list li.disabled {
background: #ededed;
cursor: not-allowed;
}
.sn-alarm--list li.disabled:hover {
background: #ededed;
color: #666;
}
.sn-test--list li:hover,
.sn-alarm--list li:hover {
background-color: #f2f2f2;
}
.sn-test--list li.active,
.sn-alarm--list li.active {
color: #fff;
background-color: #20a53a;
}
.sn-test--content,
.sn-alarm--setting{
font-size: 12px;
color: #666;
margin-bottom: 25px;
position: relative;
}
.sn-alarm--setting{
margin-bottom: 20px;
}
.sn-alarm--selectBox {
margin-left: 16px;
}
.sn-test--selectBox,
.sn-alarm--selectBox{
display: inline-block;
cursor: pointer;
}
.sn-test--selectBox .sn-test--channel,
.sn-alarm--setting .sn-alarm--channel{
border:1px solid #EFEFEF;
border-radius: 2px;
color: #999999;
width: 140px;
display: inline-block;
padding:5px 5px 5px 10px;
margin-left:4px
}
.sn-test--selectIcon,
.sn-alram--selectIcon{
color: #999;
position: absolute;
top: 8px;
left: 175px;
}
.sn-alram--selectIcon{
left: 190px;
}
.bt-form-new.inline {
align-items: center;
flex: 1;
justify-content: flex-start;
}
.form-item .form-label{
padding-right: 8px;
}
.bt-form-new.inline .form-item{
margin-left: 0 !important;
margin-right: 20px;
}
.sn-alarm--mode {
display: flex;
align-items: baseline;
margin-bottom: 16px;
}
.sn-alarm--mode .bterror {
color: #f50606;
}
/* 告警设置 end */
/* 白名单 */
.sn-white--tabs {
display: flex;
}
.sn-white--tabs .sn-white--tabs__ul{
font-size: 0;
border-right: 1px solid #E8E8E8;
margin-right: 25px;
display: flex;
flex-direction: column;
}
.sn-white--tabs .sn-white--tabs__ul li{
height: 36px;
line-height: 36px;
padding: 0 18px;
color: #666;
display: inline-block;
cursor: pointer;
position: relative;
bottom: -1px;
border: 1px solid transparent;
font-size: 14px;
right: -1px;
}
.sn-white--tabs .sn-white--tabs__ul li.sn-white--tab--active{
color: #20a53a;
border-right: 2px solid #20a53a;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
position: relative;
}
.sn-white__view{
width: 100%;
display: none;
}
.sn-white--tabs .sn-input--style{
height: 30px;
border: 1px solid #e8e8e8;
padding-left: 10px;
border-radius: 2px;
}
.sn-white--tabs .sn-footer{
bottom: 15px;
}
.sn-test--line .sn-test--title{
font-size: 14px;
margin-bottom: 10px;
}
.thumbnail-introduce-new{
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 50px;
}
.thumbnail-introduce-title-new{
display: flex;
align-items: flex-start;
width: 92%;
justify-content: space-between;
}
.thumbnail-title-left-new{
display: flex;
align-items: center;
}
.thumbnail-title-left-new img{
width:70px;
flex-shrink: 0;
margin-right: 14px;
}
.thumbnail-introduce-ul-new{
width: 90%;
}
.thumbnail-introduce-ul-new ul{
display: flex;
align-items: center;
font-size: 14px;
justify-content: space-evenly;
}
.thumbnail-title-text-new p{
color: #666;
}
.thumbnail-title-text-new p:first-child{
font-weight: bold;
font-size: 24px;
margin-bottom: 12px;
}
.thumbnail-title-text-new p:last-child{
font-size: 14px;
line-height:24px;
width: 100%;
}
.thumbnail-title-button-new{
display: flex;
align-items: center;
}
.thumbnail-title-button-new a{
padding: 10px 16px;
}
.li-icon{
height: 9px;
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMuMjc0NzgwIiBoZWlnaHQ9IjkuMTI2NTg3IiB2aWV3Qm94PSIwIDAgMTMuMjc0OCA5LjEyNjU5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KCTxkZXNjPgoJCQlDcmVhdGVkIHdpdGggUGl4c28uCgk8L2Rlc2M+Cgk8cGF0aCBpZD0i55+i6YePIDEwNTEiIGQ9Ik0wLjcxMzUxNiA0LjAyOTExTDQuMzc5NDMgNy43NjI0NUwxMi42Mjc3IDAuNzYyNDUxIiBzdHJva2U9IiMyMEE1M0EiIHN0cm9rZS13aWR0aD0iMi4wMDAwMDAiLz4KCTxkZWZzLz4KPC9zdmc+Cg==');
background-size: 100%;
width: 13px;
display: inline-block;
margin-right: 8px;
}
.thumbnail-introduce-hr{
width: 92%;
height: 1px;
margin: 36px 0;
border: 1px dashed #e1e1e185;
}
/* 白名单 end */
/* ssh ip封禁样式 */
.btlink.shield{
text-decoration: line-through;
color: #bbb;
}
/* ssh ip封禁样式 end */
/* SSH防暴破 */
.log_box {
background-color: #fafafa;
border: #ddd 1px solid;
padding: 0;
float: left;
margin-bottom: 15px;
width: 100%;
}
.log_box .line {
width: 25%;
text-align: center;
height: 70px;
float: left;
margin: 6px 0;
}
.log_box .line .name {
width: auto;
display: block;
text-align: center;
margin: 5px 0 8px;
color: #666;
}
.log_box .line .val {
font-size: 18px;
display: block;
text-align: center;
font-weight: bold;
}
#risk-dynamic-table table tr td span{
overflow: hidden; /*超出部分隐藏*/
white-space: nowrap; /*禁止换行*/
text-overflow: ellipsis; /*省略号*/
}
</style>
<div class="main-content">
<div class="container-fluid" style="padding-bottom: 50px">
<div id="cutTab" class="pos-box bgw mtb15">
<div class="tab-list">
<div class="tabs-item active" data-name="safety">系统防火墙</div>
<div class="tabs-item" data-name="ssh">SSH管理</div>
<div class="tabs-item" data-name="safeDetect">安全检测</div>
<div class="tabs-item" data-name="contDetect">违规词检测</div>
<div class="tabs-item" data-name="phpSite">PHP网站安全</div>
<div class="tabs-item" data-name="intrusion">入侵防御</div>
<div class="tabs-item" data-name="system">系统加固</div>
<!-- <div class="tabs-item" data-name="logAudit">日志审计</div>
<div class="tabs-item" data-name="logs">面板日志</div> -->
</div>
</div>
<div class="safe container-fluid bgw mtb15 pd15 radius4 state-content">
<div class="safety-header" style="display: none">
<div class="inlineBlock" style="height: 30px">
<span style="vertical-align: middle">防火墙开关</span>
<div class="ssh-item" style="float: inherit; display: inline-block; vertical-align: middle">
<input class="btswitch btswitch-ios" id="isFirewall" type="checkbox" checked="" />
<label class="btswitch-btn isFirewall" for="isFirewall"></label>
</div>
</div>
<div class="inlineBlock mlr15 dividing-line"></div>
<div class="inlineBlock mr10" style="height: 30px">
<span style="vertical-align: middle">禁ping</span>
<div class="ssh-item" style="float: inherit; display: inline-block; vertical-align: middle">
<input class="btswitch btswitch-ios" id="ssh_ping" type="checkbox" checked="" />
<label class="btswitch-btn" for="ssh_ping"></label>
</div>
</div>
<div class="inlineBlock mlr15 dividing-line"></div>
<div class="inlineBlock mr10" style="height: 30px">
<div class="weblog">
<span class="f12 c5">{{data['lan']['S1']}}</span><a class="btlink mr10" href="javascript:openPath('{{session['logsPath']}}');">{{session['logsPath']}}</a
><em id="logSize" style="font-style: normal">0KB</em>
<button class="btn btn-default btn-sm ml10" onclick="firewall.safety.clear_logs_files();">{{data['lan']['BTN5']}}</button>
</div>
</div>
</div>
<div class="ssh-header" style="display: none">
<div class="inlineBlock" style="height: 30px">
<span style="vertical-align: middle">SSH开关</span>
<div class="ssh-item" style="float: inherit; display: inline-block; vertical-align: middle">
<input class="btswitch btswitch-ios" id="isSsh" type="checkbox" checked="" />
<label class="btswitch-btn isSsh" for="isSsh"></label>
</div>
</div>
<div class="inlineBlock mlr15 dividing-line"></div>
<div class="inlineBlock" style="height: 30px; line-height: 30px; vertical-align: top">
<span style="vertical-align: middle">SSH登录详情:</span>
<span class="inlineBlock ml10" style="vertical-align: middle" id="sshDetailed"></span>
</div>
<!-- <div class="inlineBlock mlr15 dividing-line"></div>-->
<!-- <div class="inlineBlock" style="height: 30px;line-height: 30px; vertical-align: top;">-->
<!-- <span style="vertical-align: middle;">防暴破(fail2ban):</span>-->
<!-- <span class="inlineBlock ml10" style="vertical-align: middle;" id="fail2ban"></span>-->
<!-- </div>-->
</div>
<div class="intrusion-header" style="display: none">
<div class="inlineBlock" style="height: 30px">
<span style="vertical-align: middle">入侵防御开关</span>
<div class="ssh-item" style="float: inherit; display: inline-block; vertical-align: middle">
<input class="btswitch btswitch-ios" id="isIntrusion" type="checkbox" checked="" />
<label class="btswitch-btn isIntrusion" for="isIntrusion"></label>
</div>
</div>
<div class="inlineBlock mlr15 dividing-line"></div>
<div class="inlineBlock" style="height: 30px; line-height: 30px; vertical-align: top">
<span style="vertical-align: middle">总拦截次数:</span>
<span class="inlineBlock ml10" style="vertical-align: middle">
<span class="totlaDays"></span>
</span>
</div>
<div class="inlineBlock mlr15 dividing-line"></div>
<div class="inlineBlock" style="height: 30px; line-height: 30px; vertical-align: top">
<span style="vertical-align: middle">保护天数:</span>
<span class="inlineBlock ml10" style="vertical-align: middle">
<span class="totlaTimes"></span>
</span>
</div>
</div>
<div class="system-header" style="display: none">
<div class="inlineBlock" style="height: 30px">
<span style="vertical-align: middle">系统加固开关</span>
<div class="ssh-item" style="float: inherit; display: inline-block; vertical-align: middle">
<input class="btswitch btswitch-ios" id="isReinforcement" type="checkbox" checked="" />
<label class="btswitch-btn isReinforcement" for="isReinforcement"></label>
</div>
</div>
</div>
</div>
<div class="bgw mtb15 pd15 tab-view-box firewall-tab-view">
<div class="tab-con show w-full" id="safety" style="padding: 0">
<div class="tab-nav-border">
<span class="on">端口规则:<i>0</i></span>
<span>IP规则:<i>0</i></span>
<span>端口转发:<i>0</i></span>
<span>地区规则:<i>0</i></span>
</div>
<div class="tab-con" style="padding-top: 15px;overflow: none;">
<div class="tab-block on" id="portRules"></div>
<div class="tab-block" id="ipRule"></div>
<div class="tab-block" id="portForward"></div>
<div class="tab-block" id="countryRegion"></div>
</div>
</div>
<div class="tab-con hide" id="sshView">
<div class="tab-nav-border">
<span class="on">基础设置</span>
<span><span style="height:16px;padding: 0;" class="firwall_place_of_attribution"></span>SSH登录日志</span>
</div>
<div class="tab-con" style="padding-top: 10px;overflow: none;">
<div class="tab-block on">
<div class="ssh-config">
<div class="ptb10">
<div class="line" title="SSH端口">
<div class="line-title">SSH端口</div>
<div class="line-input">
<input type="text" class="bt-input-text" value="22" name="ssh_port" style="width: 120px;" />
<button type="button" class="btn btn-success btn-sm ml5 save_ssh_port">保存</button>
</div>
<div class="line-row-tips">当前SSH协议所使用的的端口,默认为22</div>
</div>
<div class="line" title="root登录设置">
<div class="line-title">root登录设置</div>
<div class="line-item">
<!-- <div class="line-row">
<div class="ssh-item" style="margin-left: 0; margin-top: 5px;padding: 0;">
<input class="btswitch btswitch-ios" id="root_login" type="checkbox" name="root_login">
<label class="btswitch-btn" for="root_login" style="margin-bottom: 0;"></label>
</div>
</div>
<div class="line-row-tips">是否允许root登录ssh</div> -->
<select class="bt-input-text" name="root_login">
<option value="yes">正在获取</option>
</select>
</div>
</div>
<div class="line" title="SSH密码登录">
<div class="line-title">SSH密码登录</div>
<div class="line-item">
<div class="line-row">
<div class="ssh-item" style="margin-left: 0; margin-top: 5px;padding: 0;">
<input class="btswitch btswitch-ios" id="ssh_paw" type="checkbox" name="ssh_paw">
<label class="btswitch-btn" for="ssh_paw" style="margin-bottom: 0;"></label>
</div>
</div>
<div class="line-row-tips">SSH的默认登录方式</div>
</div>
</div>
<div class="line" title="重置root密码">
<div class="line-title">重置root密码</div>
<div class="line-input">
<input type="text" class="bt-input-text" value="" name="reset_root" style="width: 120px;" placeholder="请输入新密码" />
<span class="glyphicon cursor ml5 mr5 glyphicon-repeat"></span>
<button type="button" class="btn btn-success btn-sm ml5 reset_root">重置</button>
<div class="line-row-tips">建议使用复杂度高的密码,修改后请及时保存,刷新页面会清空密码框</div>
</div>
</div>
<div class="line" title="SSH密钥登录">
<div class="line-title">SSH密钥登录</div>
<div class="line-item">
<div class="line-row">
<div class="ssh-item" style="margin-left: 0; margin-top: 5px;padding: 0;">
<input class="btswitch btswitch-ios" id="ssh_pubkey" type="checkbox" name="ssh_pubkey">
<label class="btswitch-btn" for="ssh_pubkey" style="margin-bottom: 0;"></label>
</div>
</div>
<button type="button" class="btn btn-success btn-xs ml5 checkKey" style="vertical-align: initial;">查看密钥</button>
<button type="button" class="btn btn-default btn-xs ml5 downloadKey" style="vertical-align: initial;">下载</button>
<div class="line-row-tips">推荐使用密钥登录,关闭密码,安全性更高</div>
</div>
</div>
<div class="line" title="SSH登录告警">
<div class="line-title">SSH登录告警</div>
<div class="line-item">
<div class="line-row mr5">
<a href="javascript:;" class="bt_warning setSshLoginAlarm">告警通知未配置</a>
</div>
<button type="button" class="btn btn-success btn-xs ml5 setSshLoginAlarm" style="vertical-align: initial;">设置登录告警</button>
<div class="line-row-tips">设置SSH登录告警,发生异常登录时,将实时推送告警消息至企业微信、钉钉、邮箱等告警通知</div>
</div>
</div>
<div class="line" title="SSH防暴破">
<div class="line-title">SSH防暴破</div>
<div class="line-item">
<div class="line-row">
<div class="ssh-item" style="margin-left: 0; margin-top: 5px;padding: 0;">
<input class="btswitch btswitch-ios" id="sshd_anti" type="checkbox" name="sshd_anti">
<label class="btswitch-btn" for="sshd_anti" style="margin-bottom: 0;"></label>
</div>
</div>
<button type="button" class="btn btn-success btn-xs ml5 set_sshd_anti_logs" style="vertical-align: initial;">配置SSH防暴破</button>
<button type="button" class="btn btn-default btn-xs ml5 get_sshd_anti_logs" style="vertical-align: initial;">查看</button>
<div class="line-row-tips">设置SSH防暴破,防止主机被恶意爆破,首次安装后,请手动刷新页面</div>
</div>
</div>
<div class="line" title="更多">
<div class="line-row-tips" style="padding-left: 24px;">更多SSH安全设置请使用系统加固模块<a class="btlink ml10 openSyssafe">>> 系统加固</a></div>
</div>
</div>
</div>
</div>
<div class="tab-block">
<div id="loginLogsContent">
<div class="w-full">
<div id="loginAllLogs"></div>
</div>
<div class="w-full" style="display: none">
<div id="loginSuccessLogs"></div>
</div>
<div class="w-full" style="display: none">
<div id="loginErrorLogs"></div>
</div>
</div>
<div class="daily-thumbnail" style="display: none">
<!--<div class="thumbnail-introduce">-->
<!-- <span>SSH登录日志</span>-->
<!-- <ul>-->
<!-- <li>记录和查看当前SSH登录日志</li>-->
<!-- </ul>-->
<!-- <div class="daily-product-buy">-->
<!-- <a href="javascript:;" class="btn btn-success va0 mr10 " onclick="product_recommend.pay_product_sign('ltd',100,'ltd')">立即购买</a>-->
<!-- </div>-->
<!--</div>-->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-sdetection.svg" alt="" />
<div class="thumbnail-title-text-new">
<p>SSH登录日志-功能介绍</p>
<p>保障SSH服务器的安全性,发现和应对安全威胁。</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 84px;">
<a href="javascript:;" class="btn btn-success va0" onclick="product_recommend.pay_product_sign('ltd',100,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>SSH安全审计</li>
<li><span class="li-icon"></span>SSH登录溯源</li>
<li><span class="li-icon"></span>SSH暴破记录</li>
<li><span class="li-icon"></span>SSH入侵分析</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">SSH登录日志</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url('https://www.bt.cn/Public/new/plugin/introduce/firewall/ssh_login_log.png');"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="safeDetect">
<div class="tab-nav-border">
<span class="on">动态查杀</span>
<span>安全检测</span>
<span>漏洞扫描</span>
</div>
<div class="tab-con" style="padding: 15px 0;overflow: none;">
<div class="tab-block on">
<div id="spywareDetectionList"></div>
</div>
<div class="tab-block">
<div id="safeDetectList"></div>
</div>
<div class="tab-block">
<div id="getScanList"></div>
</div>
</div>
<div class="installSoft" style="display: none">
<div class="daily-thumbnail">
<!--<div class="thumbnail-introduce">-->
<!-- <span>安全检测功能介绍</span>-->
<!-- <ul>-->
<!-- <li>实时检测木马</li>-->
<!-- <li>安全扫描加固</li>-->
<!-- <li>漏洞扫描</li>-->
<!-- </ul>-->
<!-- <div class="daily-product-buy">-->
<!-- <a class="btn btn-default mr10" title="产品预览" href="https://www.bt.cn/bbs/thread-50998-1-1.html" target="_blank">产品预览</a> -->
<!-- <a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd',101,'ltd')">立即购买</a>-->
<!-- </div>-->
<!--</div>-->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-sdetection.svg" alt="" />
<div class="thumbnail-title-text-new">
<p>安全检测-功能介绍</p>
<p>扫描服务器系统目录下的风险漏洞,开启主动防御后,能多查杀目录中的文件进行动态保护,自动进行木马查杀并隔离。</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 70px;">
<a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd',101,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>实时检测木马</li>
<li><span class="li-icon"></span>安全扫描加固</li>
<li><span class="li-icon"></span>漏洞扫描</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">动态查杀</li>
<li>安全检测</li>
<li>漏洞扫描</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/safe_detect_1.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/safe_detect_2.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/safe_detect_3.png);"></div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="contDetect">
<div class="tab-nav-border">
<span class="on">概览</span>
<span>监控列表</span>
<span>检测历史</span>
<span>风险列表</span>
</div>
<div class="tab-con cont-detect">
<div class="tab-block on">
<div class="col-xs-12 col-sm-7 col-md-8 col-content">
<div class="pr8">
<div class="info-panel">
<div class="cols">
<div class="name">
<img src="/static/img/content_detect/1.png" />
<span>监控网站</span>
</div>
<div class="value monitor-site-num">0</div>
</div>
<div class="cols">
<div class="name">
<img src="/static/img/content_detect/2.png" />
<span>总风险次数</span>
</div>
<div class="value risk-total-num">0</div>
</div>
<div class="cols">
<div class="name">
<img src="/static/img/content_detect/3.png" />
<span>今日风险次数</span>
</div>
<div class="value today-risk-num cursor">0</div>
</div>
<div class="cols">
<div class="name">
<img src="/static/img/content_detect/4.png" />
<span>今日巡检次数</span>
</div>
<div class="value today-inspection-num">0</div>
</div>
</div>
<div class="card-border">
<div class="card-title">网站内容检测</div>
<div class="card-cont">
<div class="no-border" id="site-cont-table"></div>
</div>
</div>
<div class="card-border">
<div class="card-title">风险动态</div>
<div class="card-cont">
<div class="no-border" id="risk-dynamic-table"></div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-5 col-md-4 col-content">
<div class="pl7">
<div class="card-border">
<div class="card-title">风险历史</div>
<div class="card-echarts" id="detect-statistics">
<div class="no-data">风险历史数据为空</div>
</div>
</div>
<div class="card-border">
<div class="card-title">近7日巡检情况</div>
<div class="card-echarts" id="week-risk"></div>
</div>
<div class="card-border">
<div class="card-title">敏感词排行</div>
<div class="card-echarts" id="sensitive-word">
<div class="no-data">敏感词排行数据为空</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-block">
<div id="cont-monitor-table"></div>
</div>
<div class="tab-block">
<div id="detect-history-table"></div>
</div>
<div class="tab-block">
<div id="risk-table"></div>
</div>
</div>
<div class="cont-detect-soft" style="display: none">
<div class="daily-thumbnail">
<!--<div class="thumbnail-introduce">-->
<!-- <span>违规词检测功能介绍</span>-->
<!-- <ul>-->
<!-- <li>违规词内容检测</li>-->
<!-- <li>网页内容修改检测</li>-->
<!-- <li>输出检测报告</li>-->
<!-- </ul>-->
<!-- <div class="daily-product-buy">-->
<!-- <a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd', 111, 'ltd')">立即购买</a>-->
<!-- </div>-->
<!--</div>-->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-word.svg" alt="" />
<div class="thumbnail-title-text-new">
<p>违规词检测-功能介绍</p>
<p>违规词检测能帮助检测网站内容中的合法及非法字段,并输出对应的检测结果,利用图表充分展示各个域名的风险历史、检测情况、敏感词排行等,并实时输出风险动态。</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 70px;">
<a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd', 111, 'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>违规词内容检测</li>
<li><span class="li-icon"></span>网页内容修改检测</li>
<li><span class="li-icon"></span>输出检测报告</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">概览</li>
<li>监控列表</li>
<li>检测历史</li>
<li>风险列表</li>
<li>检测报告</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/content_detect_detail_1.png)"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/content_detect_detail_2.png)"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/content_detect_detail_3.png)"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/content_detect_detail_4.png)"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-color: #fff; border: 1px solid #eee; overflow: auto">
<img style="display: block; width: 100%" src="https://www.bt.cn/Public/new/plugin/introduce/firewall/content_detect_detail_5.png" alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="phpSite">
<div class="tab-nav-border">
<span class="on">首页</span>
<span>网站管理</span>
<span>木马隔离箱</span>
<span>白名单</span>
<span>PHP模块</span>
<span>告警设置</span>
</div>
<div class="tab-con">
<div class="tab-block on" style="padding-top: 16px;">
<!-- 监控开关 -->
<div class="sn-home--switch">
<div>
<span>监控开关</span>
<div style="display: inline-block;vertical-align: middle;margin-left:5px;">
<input type="checkbox" class="btswitch btswitch-ios" id="serviceStatus">
<label class="btswitch-btn serviceStatus" for="serviceStatus"></label>
</div>
</div>
<div class="sn-home--open-condition hide"></div>
<button type="button" class="btn btn-success btn-sm pull-right testAttack hide">模拟攻击</button>
</div>
<div class="sn-home--overview">
<div class="sn-home--overview-title">风险等级概览</div>
<div class="sn-home--overview-content">
<div class="sn-home--overview-item line-border">
<div class="sn-home--overview-item--title">高风险</div>
<div class="sn-home--overview-item--num">
<span class="sn-home--overview-total">0</span>
<span class="sn-home--overview-item--upNum hide"></span>
</div>
</div>
<div class="sn-home--overview-item line-border">
<div class="sn-home--overview-item--title">中危</div>
<div class="sn-home--overview-item--num">
<span class="sn-home--overview-total">0</span>
<span class="sn-home--overview-item--upNum hide"></span>
</div>
</div>
<div class="sn-home--overview-item line-border">
<div class="sn-home--overview-item--title">低危</div>
<div class="sn-home--overview-item--num">
<span class="sn-home--overview-total">0</span>
<span class="sn-home--overview-item--upNum hide"></span>
</div>
</div>
<div class="sn-home--overview-item">
<div class="sn-home--overview-item--title">网站数量</div>
<div class="sn-home--overview-item--num">0</div>
</div>
<div class="sn-home--overview-item">
<div class="sn-home--overview-item--title">告警次数</div>
<div class="sn-home--overview-item--num">0</div>
</div>
</div>
</div>
<!-- 风险列表 -->
<div class="sn-home-risk">
<div class="sn-home-risk--list"></div>
<p class="sn-home-risk--numtips">以上仅提供最新的前100条风险数据</p>
<div class="sn-home-risk--dialog"></div>
</div>
</div>
<div class="tab-block" style="padding-top: 6px;">
<div id="sn-table--siteList"></div>
<div class="sn-footer">
<ul class="help-info-text c7">
<li>安全告警默认会监视当前网站访问非当前网站文件的行为(例:你的站点A.com访问了站点B.com的文件或者目录),通过添加监视器路径,当路径被访问时发送告警</li>
</ul>
</div>
</div>
<div class="tab-block" style="padding-top: 6px;">
<div id="sn-table--isolationList"></div>
<div class="sn-footer">
<!-- 功能说明 -->
<ul class="help-info-text c7">
<li>隔离箱是指将被感染的文件隔离到隔离箱中,隔离箱中的文件不会影响网站正常运行。</li>
<li>隔离箱中的文件可以通过隔离箱管理功能进行查看、删除、恢复等操作。</li>
</ul>
</div>
</div>
<div class="tab-block" style="padding-top: 16px;">
<div class="sn-white--tabs">
<!-- 白名单Tabs -->
<ul class="sn-white--tabs__ul">
<li class="sn-white--tab--active">URL白名单</li>
<li>IP白名单</li>
</ul>
<!-- 白名单内容 -->
<div class="sn-white--tab--content" style="flex:1;">
<!-- URL白名单 -->
<div class="sn-white__view sn-white--url show">
<!-- URL白名单操作 -->
<div class="sn-white--url--operate" style="margin-bottom: 25px;">
<div class="sn-white--url--add">
<input type="text" class="sn-input--style" placeholder="URL地址,例如:/admin/update" style="width:300px">
<button type="button" class="btn btn-success btn-sm mr5 add_white">添加</button>
</div>
</div>
<!-- URL白名单列表 -->
<div id="sn-table--urlList"></div>
<div class="sn-footer">
<button type="button" class="btn btn-default btn-sm mt10 empty_white">清空</button>
<!-- 功能说明 -->
<ul class="help-info-text c7" style="font-size: 12px;">
<li>例子1: bt.cn/admin/admin.php?system=abc 添加地址: ^/admin/admin.php</li>
<li>例子2: bt.cn/admin/1 1 为可变 1-99 添加地址为: ^/admin/[1-99]</li>
</ul>
</div>
</div>
<!-- IP白名单 -->
<div class="sn-white__view sn-white--ip">
<!-- IP白名单操作 -->
<div class="sn-white--ip--operate" style="margin-bottom: 25px;">
<div class="sn-white--ip--add">
<input type="text" class="sn-input--style" placeholder="起始IP地址" style="width:250px">
<input type="text" class="sn-input--style" placeholder="结束IP地址" style="width:250px">
<button type="button" class="btn btn-success btn-sm mr5 add_white">添加</button>
</div>
</div>
<!-- IP白名单列表 -->
<div id="sn-table--ipList"></div>
<div class="sn-footer">
<button type="button" class="btn btn-default btn-sm mt10 empty_white">清空</button>
<!-- IP白名单说明 -->
<ul class="help-info-text c7" style="font-size: 12px;">
<li>添加某个IP:起始IP为192.168.10.6 结束IP为192.168.10.6</li>
<li>添加IP段:起始IP为192.168.1.1 结束IP为192.168.1.254</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="tab-block" style="padding-top: 6px;">
<div id="sn-table--phpList"></div>
</div>
<div class="tab-block" style="padding-top: 16px;">
<!-- <div class="sn-alarm--mode">
<span class="mr10">告警方式:</span>
<div class="bt-form-new inline"></div>
</div> -->
<div class="sn-alarm--setting">
<span>告警方式</span>
<div class="sn-alarm--selectBox">
<!-- 发送通道 -->
<span class="sn-alarm--channel">请选择接收方式</span>
<i class="sn-alram--selectIcon glyphicon glyphicon-menu-down"></i>
<!-- 发送方式选项 -->
<ul class="sn-alarm--list"></ul>
</div>
</div>
<!-- 告警列表 -->
<div id="sn-table--alarmList"></div>
</div>
</div>
<div class="daily-thumbnail" style="display: none">
<!-- <div class="thumbnail-introduce">
<span>PHP网站安全</span>
<ul>
<li>基于PHP内核的监控工具,实时监控网站木马、漏洞等其他入侵行为,发现木马支持自动隔离</li>
</ul>
<div class="daily-product-buy">
<a href="javascript:;" class="btn btn-success va0 mr10 installIntrusion">立即安装</a>
<a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion">立即购买</a>
</div>
</div> -->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-security_notice.png" alt="" />
<div class="thumbnail-title-text-new">
<p>PHP网站安全-功能介绍</p>
<p>基于PHP内核的监控工具,实时监控网站木马、漏洞等其他入侵行为,发现木马支持自动隔离,(不支持32位系统和arm平台和PHP5.2)</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 85px;">
<a class="btn btn-default mr10" title="产品预览" href="https://www.bt.cn/bbs/thread-109515-1-1.html" target="_blank">产品预览</a>
<a href="javascript:;" class="btn btn-success va0 mr10 installIntrusion">立即安装</a>
<a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>PHP内核实时监控</li>
<li><span class="li-icon"></span>实时监控网站木马、漏洞</li>
<li><span class="li-icon"></span>支持自动隔离</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">首页</li>
<li>网站管理</li>
<li>木马隔离箱</li>
<li>白名单</li>
<li>PHP模块</li>
<li>告警设置</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url('https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_1.png');"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_2.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_3.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_4.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_5.png);"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/php_site_6.png);"></div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="intrusion">
<div class="tab-nav-border">
<span class="on">概览</span>
<span>进程白名单</span>
<!-- <span>拦截日志</span> -->
<span>操作日志</span>
</div>
<div class="tab-con" style="padding: 15px 0; overflow: none">
<div class="tab-block on">
<div id="antiOverviewList"></div>
<ul class="help-info-text c7">
<li>开启防提权,系统会针对该用户操作命令进行限制,并记录跟踪</li>
<li>不开启防提权,系统只针对该用户操作过的命令做记录跟踪</li>
<li>目前防提权默认只针对www,redis,mysql操作引起的提权问题进行处理</li>
<li style="color: red">消息推送需要更新至最新面板的版本(2020-06-17日之后安装的版本|或者2020-06-17日之后点击过修复面板)</li>
</ul>
</div>
<div class="tab-block">
<div id="antiProcessWhiteList"></div>
</div>
<!-- <div class="tab-block">
<div id="antiInterceptLog"></div>
</div> -->
<div class="tab-block">
<div id="antiOperationLog"></div>
</div>
</div>
<div class="installSoft" style="display: none">
<div class="daily-thumbnail">
<!--<div class="thumbnail-introduce">-->
<!-- <span>入侵防御功能介绍</span>-->
<!-- <ul>-->
<!-- <li>阻止程序挂马</li>-->
<!-- <li>阻止挖矿病毒</li>-->
<!-- <li>webshell提权</li>-->
<!-- </ul>-->
<!-- <div class="daily-product-buy">-->
<!-- <a class="btn btn-default mr10" title="产品预览" href="https://www.bt.cn/bbs/thread-50998-1-1.html" target="_blank">产品预览</a>-->
<!-- <a href="javascript:;" class="btn btn-success va0 mr10 installIntrusion">立即安装</a>-->
<!-- <a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd',105,'ltd')">立即购买</a>-->
<!-- </div>-->
<!--</div>-->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-bt_security.png" alt="" />
<div class="thumbnail-title-text-new">
<p>入侵防御-功能介绍</p>
<p>原防提权, 防御大多数的入侵提权攻击造成的挂马和被挖矿,有效拦截webshell执行提权,并及时告警通知</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 85px;">
<a class="btn btn-default mr10" title="产品预览" href="https://www.bt.cn/bbs/thread-50998-1-1.html" target="_blank">产品预览</a>
<a href="javascript:;" class="btn btn-success va0 mr10 installIntrusion">立即安装</a>
<a href="javascript:;" class="btn btn-success va0 ml15 buyIntrusion" onclick="product_recommend.pay_product_sign('ltd',105,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>拦截webshell提权</li>
<li><span class="li-icon"></span>及时告警通知</li>
<li><span class="li-icon"></span>防御入侵提权攻击造成的挂马、挖矿</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">概览</li>
<li>进程白名单</li>
<!-- <li>拦截日志</li> -->
<li>操作日志</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/intrusion_1.png)"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/intrusion_2.png)"></div>
</div>
<!-- <div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/intrusion_3.png)"></div>
</div> -->
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url(https://www.bt.cn/Public/new/plugin/introduce/firewall/intrusion_4.png)"></div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="system">
<div class="tab-nav-border">
<span class="on">防护配置</span>
<span>封锁IP</span>
<span>操作日志</span>
</div>
<div class="tab-con" style="padding: 15px 0; overflow: none">
<div class="tab-block on">
<div id="reinforceSystem"></div>
<ul class="help-info-text c7">
<li>【管理进程白名单】与【SSH服务加固】会占用一定服务器开销</li>
<li>开启系统加固功能后,一些如软件安装等敏感操作将被禁止</li>
<li>开启【SSH服务加固】之后,用户登录SSH的行为将受到监控,若连续多次登录失败,将采取封IP措施</li>
<li style="color: red">【注意】如果您需要安装软件或插件,请先将系统加固关闭!</li>
</ul>
</div>
<div class="tab-block">
<div>
<input class="bt-input-text" name="system_address" type="text" value="" placeholder="IP地址" style="width: 250px; margin-right: 6px" />
<button class="btn btn-success btn-sm system_add_ip">添加</button>
</div>
<div id="reinforceBlockIp"></div>
<ul class="help-info-text c7">
<li>【封锁IP】此处封锁的IP仅针对SSH服务,即被封锁的IP将无法连接SSH</li>
<li>【添加】手动添加的封锁IP,解封时间为永久,只能手动解封!</li>
</ul>
</div>
<div class="tab-block">
<div id="reinforceLog"></div>
<div id="reinforceLogPage" class="page"></div>
</div>
</div>
<div class="installSoft" style="display: none">
<div class="daily-thumbnail">
<!-- <div class="thumbnail-introduce">-->
<!-- <span>系统加固功能介绍</span>-->
<!-- <ul>-->
<!-- <li>阻止系统被植入木马</li>-->
<!-- <li>加固系统安全配置</li>-->
<!-- </ul>-->
<!-- <div class="daily-product-buy">-->
<!-- <a class="btn btn-default mr10" title="产品预览" href="https://www.bt.cn/bbs/thread-50998-1-1.html" target="_blank">产品预览</a>-->
<!-- <a href="javascript:;" class="btn btn-success va0 mr10 installSystem">立即安装</a>-->
<!-- <a href="javascript:;" class="btn btn-success va0 ml15 buySystem" onclick="product_recommend.pay_product_sign('ltd',102,'ltd')">立即购买</a>-->
<!-- </div>-->
<!-- </div>-->
<div class="thumbnail-introduce-new">
<div class="thumbnail-introduce-title-new" style="display: block;">
<div class="thumbnail-title-left-new">
<img src="/static/img/soft_ico/ico-syssafe.png" alt="" />
<div class="thumbnail-title-text-new">
<p>系统加固-功能介绍</p>
<p>提供灵活的系统加固功能,防止系统被植入木马,支持服务器日志审计功能</p>
</div>
</div>
<div class="thumbnail-title-button-new daily-product-buy" style="margin: 16px 70px;">
<a href="javascript:;" class="btn btn-success va0 mr10 installSystem">立即安装</a>
<a href="javascript:;" class="btn btn-success va0 ml15 buySystem" onclick="product_recommend.pay_product_sign('ltd',102,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-introduce-hr"></div>
<div class="thumbnail-introduce-ul-new">
<ul>
<li><span class="li-icon"></span>阻止系统被植入木马</li>
<li><span class="li-icon"></span>加固系统安全配置</li>
</ul>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">防护配置</li>
<li>封锁IP</li>
<li>操作日志</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url('https://www.bt.cn/Public/new/plugin/introduce/firewall/system_1.png')"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url('https://www.bt.cn/Public/new/plugin/introduce/firewall/system_2.png')"></div>
</div>
<div class="thumbnail-item">
<div class="pluginTipsGg" style="background-image: url('https://www.bt.cn/Public/new/plugin/introduce/firewall/system_3.png')"></div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="logAudit">
<div class="logAuditTabContent">
<div class="logAuditTab"></div>
<div class="logAuditContent">
<div id="logAuditTable"></div>
<div id="logAuditPages" class="page" style="display: flex; justify-content: flex-end"></div>
<div id="logAuditPre" style="display: none"></div>
</div>
</div>
<div class="daily-thumbnail" style="display: none">
<div class="thumbnail-introduce">
<span>日志审计</span>
<ul>
<li>对当前服务的各种日志进行采集分析和存储管理</li>
</ul>
<div class="daily-product-buy">
<a href="javascript:;" class="btn btn-success va0 mr10" onclick="product_recommend.pay_product_sign('ltd',103,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">日志审计</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url('/static/img/logAudit/1.png')"></div>
</div>
</div>
</div>
<div class="installSoft" style="display: none">
<div class="daily-thumbnail">
<div class="thumbnail-introduce">
<span>日志审计功能介绍</span>
<ul>
<li>分析和解析常用日志</li>
</ul>
<div class="daily-product-buy">
<a href="javascript:;" class="btn btn-success va0 ml15 buyLogAudit" onclick="product_recommend.pay_product_sign('ltd',104,'ltd')">立即购买</a>
</div>
</div>
<div class="thumbnail-box">
<ul class="thumbnail-tab">
<li class="on">日志列表</li>
</ul>
<div class="thumbnail-item show">
<div class="pluginTipsGg" style="background-image: url(/static/img/logAudit/1.png)"></div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-con hide" id="logsBody">
<div class="tab-nav-border">
<span class="on">操作日志</span>
<span>运行日志</span>
</div>
<div class="tab-con" style="padding-top: 15px; overflow: none">
<div class="tab-block on">
<div id="operationLog"></div>
</div>
<div class="tab-block">
<div id="runningLog"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/template" id="aceTmplate">
<div id="ace_conter">
<div class="ace_header" style="top: 0">
<span class="refreshs"><i class="glyphicon glyphicon-refresh" aria-hidden="true"></i><span>刷新</span></span>
<span class="searchs"><i class="glyphicon glyphicon-search" aria-hidden="true"></i><span>搜索</span></span>
<span class="jumpLine"><i class="glyphicon glyphicon-pushpin" aria-hidden="true"></i><span>跳转行</span></span>
<span class="helps"><i class="glyphicon glyphicon-question-sign" aria-hidden="true"></i><span>快捷键</span></span>
<div class="pull-down" title="隐藏工具条" style="top: 0"><i class="glyphicon glyphicon-menu-down" aria-hidden="true"></i></div>
</div>
<div class="ace_overall" style="top: 30px;">
<!-- 编辑内容 -->
<div class="ace_editor_main">
<ul class="ace_conter_menu"></ul>
<div class="ace_conter_tips"><div class="tips"></div></div>
<div class="ace_editor_main_storey"></div>
<div class="ace_conter_editor"></div>
<div class="term-parent">
<div class="term-content" id="termContent"></div>
</div>
<div class="ace_conter_toolbar">
<div class="pull-left size_ellipsis">
<span data-type="path" class="size_ellipsis"></span>
</div>
<div class="pull-right">
<span data-type="cursor"></span>
<span data-type="history"></span>
<span data-type="tab"></span>
<span data-type="encoding"></span>
<span data-type="lang"></span>
<span data-type="readOnly"></span>
</div>
</div>
</div>
<div class="ace_toolbar_menu" style="display: none;">
<div class="menu-item menu-jumpLine" style="display: none;">
<div class="menu-title">跳转到指定行</div>
<div class="menu-conter">
<div class="set_jump_line">
<input type="number" min="0"/>
<div class="jump_tips">当前:行&nbsp;<span></span>&nbsp;,列&nbsp;<span></span>&nbsp;,输入行数(介于&nbsp;1&nbsp;-&nbsp;<span></span>&nbsp;之间)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</script>
<script type="text/template" id="aceShortcutKeys">
<div class ="keysUp_left">
<div class="keysUp-row">
<div class="keysUp-title">常用快捷键</div>
<div class="keysUp-content">
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">S</span>
<span class="keysUp-tips">保存文件</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">C</span>
<span class="keysUp-tips">复制内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">X</span>
<span class="keysUp-tips">剪切内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">V</span>
<span class="keysUp-tips">粘贴内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">A</span>
<span class="keysUp-tips">全选内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Z</span>
<span class="keysUp-tips">撤销操作</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Y</span>
<span class="keysUp-tips">反撤销操作</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">F</span>
<span class="keysUp-tips">搜索内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">H</span>
<span class="keysUp-tips">替换内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACkElEQVQ4T62UTWhTQRDHZ6bhFZpK9CAetEoPocF6MG83jRaqFvHjIgrFQ9WLQkHsyZMWvAkFL978QET0YPVUxUuLFFK/Ynk7W0tAqeIHFFEoQqGGWKt9I6+Y2Mh7iQcX9jT//c3Of2cW4T8vXMmbnp5eNT8/34uIKtgAoESEEXGsubl5MJVKfa2Xvwo4OTm52/f9sahDWusqfZiuSuB53gARDYYJRWQ4k8n0WGsPAMAPpdTo37qJiYnNVUBmvg8AB0MzIx5TSt1m5msA0IeIIyIyS0SffN/fFNiDiLMVYD6fX+84znsAcMKAi4uLTZ2dnd+YeRYA1kZUca4CZOZDAHAvwr/XWuuU53ktRDQT5TEi/jHZGHMVEVsRsSAiz3zfd2KxWKvv+6cR8ZZS6gwznwKASxHAj1rrlsoNc7lcrLu7+2eI0RsaGxs3ptPpvDFmHBF3RgCva637KsBCobBmYWFhLxHtAYCEiIw2NDQ8d133VRlgrR0XkVAgIvYopYaXgcx8EgCuRGQe0lofLceMMSeIKCsiwct+EZG3sVjsoeM4hfb29uIy0BhzAxGPhwGJ6Kzruhestf2lUmmoq6trrta0IDM3IeKUiCTDhEtLS23ZbPYNMwsAzIjIIxGxIvKOiILeawuK1FpfDM6jMWYXIuYispa01nFr7X4RGanRLjuUUk+Wgcw8AACh4wYAd7TWR5g5aJWgZcLWy0QioZLJ5Pcy8DEitohIUPYHRNwOANuCoIj0ZjKZu7WmAwBuaq0r/qPneVs7OjqmVqY2xmwBgN5isXg+Ho+vJqLPNR6iX2t9uRyv+x3VmQ4goozruvzPwEBord0nIod/W7EOER8AwFMiepFOp6uqq3vDWj0XFvsFsp0JRWHn0UYAAAAASUVORK5CYII=" /></span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">0</span>
<span class="keysUp-tips">折叠代码</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACkElEQVQ4T62UTWhTQRDHZ6bhFZpK9CAetEoPocF6MG83jRaqFvHjIgrFQ9WLQkHsyZMWvAkFL978QET0YPVUxUuLFFK/Ynk7W0tAqeIHFFEoQqGGWKt9I6+Y2Mh7iQcX9jT//c3Of2cW4T8vXMmbnp5eNT8/34uIKtgAoESEEXGsubl5MJVKfa2Xvwo4OTm52/f9sahDWusqfZiuSuB53gARDYYJRWQ4k8n0WGsPAMAPpdTo37qJiYnNVUBmvg8AB0MzIx5TSt1m5msA0IeIIyIyS0SffN/fFNiDiLMVYD6fX+84znsAcMKAi4uLTZ2dnd+YeRYA1kZUca4CZOZDAHAvwr/XWuuU53ktRDQT5TEi/jHZGHMVEVsRsSAiz3zfd2KxWKvv+6cR8ZZS6gwznwKASxHAj1rrlsoNc7lcrLu7+2eI0RsaGxs3ptPpvDFmHBF3RgCva637KsBCobBmYWFhLxHtAYCEiIw2NDQ8d133VRlgrR0XkVAgIvYopYaXgcx8EgCuRGQe0lofLceMMSeIKCsiwct+EZG3sVjsoeM4hfb29uIy0BhzAxGPhwGJ6Kzruhestf2lUmmoq6trrta0IDM3IeKUiCTDhEtLS23ZbPYNMwsAzIjIIxGxIvKOiILeawuK1FpfDM6jMWYXIuYispa01nFr7X4RGanRLjuUUk+Wgcw8AACh4wYAd7TWR5g5aJWgZcLWy0QioZLJ5Pcy8DEitohIUPYHRNwOANuCoIj0ZjKZu7WmAwBuaq0r/qPneVs7OjqmVqY2xmwBgN5isXg+Ho+vJqLPNR6iX2t9uRyv+x3VmQ4goozruvzPwEBord0nIod/W7EOER8AwFMiepFOp6uqq3vDWj0XFvsFsp0JRWHn0UYAAAAASUVORK5CYII=" /></span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">0</span>
<span class="keysUp-tips">展开代码</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Esc</span>
<span class="keysUp-tips">退出搜索、取消自动提示</span>
</div>
</div>
</div>
<div class="keysUp-row">
<div class="keysUp-title">光标移动</div>
<div class="keysUp-content">
<div class="keysUp-item">
<span class="keysUp-btn">Home</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">End</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Up</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Left</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Down</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Right</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Home</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">End</span>
<span class="keysUp-tips">光标移动到文档首/尾</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">P</span>
<span class="keysUp-tips">跳转到匹配的标签</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">pageUp</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">pageDown</span>
<span class="keysUp-tips">光标上/下翻页</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Left</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Right</span>
<span class="keysUp-tips">光标移动到行首/尾</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">I</span>
<span class="keysUp-tips">跳转到指定行</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Up</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Down</span>
<span class="keysUp-tips">上/下增加光标</span>
</div>
</div>
</div>
</div>
<div class ="keysUp_right">
<div class="keysUp-row">
<div class="keysUp-title">内容选择</div>
<div class="keysUp-content">
<div class="keysUp-item">
<span class="keysUp-btn">鼠标框选——拖动</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Home</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">End</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Up</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Left</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Down</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Right</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">pageUp</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">PageDown</span>
<span class="keysUp-tips">上下翻页选中</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Home</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-tips">当前光标至头/尾</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">鼠标拖动</span>
<span class="keysUp-tips">块选择</span>
</div>
</div>
</div>
<div class="keysUp-row">
<div class="keysUp-title">编辑</div>
<div class="keysUp-content">
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">/</span>
<span class="keysUp-tips">注释&取消注释</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Tab</span>
<span class="keysUp-tips">对齐</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Tab</span>
<span class="keysUp-tips">整体前移</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Delete</span>
<span class="keysUp-tips">删除</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">D</span>
<span class="keysUp-tips">删除整行</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Up</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Down</span>
<span class="keysUp-tips">复制行并添加到上一行/下一行</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Delete</span>
<span class="keysUp-tips">删除光标右侧内容</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Alt</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Up</span>
<span class="keysUp-symbols">/</span>
<span class="keysUp-btn">Down</span>
<span class="keysUp-tips">当前行和上一行/下一行交换</span>
</div>
<div class="keysUp-item">
<span class="keysUp-btn">Ctrl</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">Shift</span>
<span class="keysUp-symbol">+</span>
<span class="keysUp-btn">D</span>
<span class="keysUp-tips">复制行并添加到下面</span>
</div>
</div>
</div>
</div>
</script>
{% endblock %} {% block scripts %} {{ super() }}
<script type="text/javascript" src="{{g.cdn_url}}/js/echarts.min.js?version={{g['version']}}"></script>
<script type="text/javascript" src="{{g.cdn_url}}/js/jquery.dragsort-0.5.2.min.js"></script>
<script type="text/javascript" src="{{g.cdn_url}}/editor/ace.js" defer></script>
<script type="text/javascript" src="{{g.cdn_url}}/editor/diff/ace-diff.min.js"></script>
<script type="text/javascript" src="{{g.cdn_url}}/editor/diff/beautify-html.min.js"></script>
<script type="text/javascript" src="{{ static_url }}static/js/firewall.js"></script>
{% endblock %}