| {% 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::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; |
| } |
| |
| |
| @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; |
| } |
| |
| |
| |
| .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; |
| } |
| |
| #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; |
| } |
| |
| #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; |
| } |
| |
| |
| .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; |
| } |
| |
| |
| .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; |
| } |
| |
| |
| |
| .btlink.shield{ |
| text-decoration: line-through; |
| color: #bbb; |
| } |
| |
| |
| |
| |
| .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> |
| </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> |
| <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"> |
| |
| |
| |
| |
| |
| |
| |
| <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-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-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-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"> |
| |
| <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;"> |
| |
| <div class="sn-white__view sn-white--url show"> |
| |
| <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> |
| |
| <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> |
| |
| <div class="sn-white__view sn-white--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> |
| |
| <div id="sn-table--ipList"></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>添加某个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--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-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> |
| </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="antiOperationLog"></div> |
| </div> |
| </div> |
| <div class="installSoft" style="display: none"> |
| <div class="daily-thumbnail"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <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> |
| </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_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-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">当前:行 <span></span> ,列 <span></span> ,输入行数(介于 1 - <span></span> 之间)</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 %} |
|
|