恢复为OSCM系统
This commit is contained in:
parent
3e500afd15
commit
7404ea6191
@ -3,7 +3,7 @@ FROM nginx
|
||||
# 定义作者
|
||||
MAINTAINER jsc
|
||||
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
|
||||
COPY dist/ /usr/share/nginx/html/secworld/
|
||||
COPY dist/ /usr/share/nginx/html/oscm/
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
# COPY default.conf /etc/nginx/conf.d/default.conf
|
||||
RUN echo 'echo init ok!!'
|
||||
@ -42,7 +42,7 @@ http {
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /secworld {
|
||||
location /oscm {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ oscm/index.html;
|
||||
@ -50,7 +50,7 @@ http {
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_pass http://secworld:8081;
|
||||
proxy_pass http://oscm:8081;
|
||||
proxy_set_header Connection "";
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
|
||||
@ -63,7 +63,7 @@ axios.interceptors.response.use(
|
||||
// console.log('拦截器响应成功')
|
||||
if (response.data.code == 401) {
|
||||
cookieUtil.setCookie('oscm_user', {}, 0);
|
||||
window.location = '/secworld/login'
|
||||
window.location = '/oscm/login'
|
||||
return;
|
||||
}
|
||||
return response
|
||||
|
||||
@ -101,7 +101,7 @@ axios.interceptors.response.use(
|
||||
// console.log('拦截器响应成功')
|
||||
if (response.data.code == 401) {
|
||||
cookieUtil.setCookie('oscm_user', {}, 0)
|
||||
window.location = '/secworld/login'
|
||||
window.location = '/oscm/login'
|
||||
return
|
||||
}
|
||||
return response
|
||||
|
||||
@ -41,7 +41,7 @@ Vue.use(VueRouter)
|
||||
Vue.config.productionTip = false
|
||||
const routes = [
|
||||
{
|
||||
path: '/secworld', component: Index,
|
||||
path: '/oscm', component: Index,
|
||||
children: [
|
||||
{path: '', component: OverView, meta: {keepAlive: true}},
|
||||
{path: 'home', component: OverView, meta: {keepAlive: true}},
|
||||
@ -69,7 +69,7 @@ const routes = [
|
||||
{path: 'settings/wordBank', component: WordBankTab, meta: {keepAlive: true}}
|
||||
]
|
||||
},
|
||||
{path: '/secworld/login', component: login}
|
||||
{path: '/oscm/login', component: login}
|
||||
]
|
||||
const router = new VueRouter({
|
||||
mode: 'history',
|
||||
@ -82,28 +82,28 @@ router.beforeEach((to, from, next) => {
|
||||
if (userInfo && userInfo.length > 0) {
|
||||
isLogin = true
|
||||
}
|
||||
if (to.path === '/secworld/login') {
|
||||
if (to.path === '/oscm/login') {
|
||||
next();
|
||||
return;
|
||||
}
|
||||
if (isLogin) {
|
||||
next()
|
||||
} else {
|
||||
next({path: '/secworld/login'});
|
||||
next({path: '/oscm/login'});
|
||||
}
|
||||
|
||||
|
||||
// if(isLogin){
|
||||
// if(to.path == '/secworld/login'){
|
||||
// next({ path: '/secworld/' })
|
||||
// if(to.path == '/oscm/login'){
|
||||
// next({ path: '/oscm/' })
|
||||
// }else{
|
||||
// next()
|
||||
// }
|
||||
// }else{
|
||||
// if(to.path == '/secworld/login'){
|
||||
// if(to.path == '/oscm/login'){
|
||||
// next()
|
||||
// }else{
|
||||
// next({ path: '/secworld/login' })
|
||||
// next({ path: '/oscm/login' })
|
||||
// }
|
||||
// }
|
||||
})
|
||||
|
||||
@ -14,60 +14,50 @@
|
||||
style="height:100%"
|
||||
:router="true"
|
||||
>
|
||||
<el-menu-item index="/secworld/home" class="menu_item">
|
||||
<el-menu-item index="/oscm/home" class="menu_item">
|
||||
<h1 style="color: white;text-align: center;line-height:60px">
|
||||
安全运营管理平台
|
||||
采集管理平台
|
||||
</h1>
|
||||
</el-menu-item>
|
||||
<el-submenu index="/secworld/node">
|
||||
<el-submenu index="/oscm/node">
|
||||
<template slot="title">
|
||||
<span slot="title">资产管理</span>
|
||||
<span slot="title">采集节点</span>
|
||||
</template>
|
||||
<el-menu-item index="/secworld/server">云服务器</el-menu-item>
|
||||
<el-menu-item index="/secworld/project">漏洞扫描引擎</el-menu-item>
|
||||
<el-menu-item index="/oscm/server">云服务器</el-menu-item>
|
||||
<el-menu-item index="/oscm/project">采集引擎</el-menu-item>
|
||||
</el-submenu>
|
||||
<el-submenu index="/secworld/target">
|
||||
<el-submenu index="/oscm/target">
|
||||
<template slot="title">
|
||||
<span slot="title">目标漏洞网站</span>
|
||||
<span slot="title">采集目标</span>
|
||||
</template>
|
||||
<el-menu-item index="/secworld/target/website">网站目标</el-menu-item>
|
||||
<el-menu-item index="/secworld/target/social">社媒目标</el-menu-item>
|
||||
<el-menu-item index="/secworld/target/sensitive">高敏目标</el-menu-item>
|
||||
<!-- <el-menu-item index="/secworld/target/api">API</el-menu-item>-->
|
||||
<el-submenu index="/secworld/rules">
|
||||
<el-menu-item index="/oscm/target/website">网站</el-menu-item>
|
||||
<el-menu-item index="/oscm/target/social">社交帐号</el-menu-item>
|
||||
<el-menu-item index="/oscm/target/sensitive">高敏目标</el-menu-item>
|
||||
<el-menu-item index="/oscm/target/api">API</el-menu-item>
|
||||
<el-submenu index="/oscm/rules">
|
||||
<template slot="title">
|
||||
<span slot="title">策略管理</span>
|
||||
<span slot="title">规则模板</span>
|
||||
</template>
|
||||
<el-menu-item index="/secworld/rules/parser">策略模板</el-menu-item>
|
||||
<el-menu-item index="/secworld/rules/filter">过滤配置</el-menu-item>
|
||||
<el-menu-item index="/oscm/rules/parser">解析模板</el-menu-item>
|
||||
<el-menu-item index="/oscm/rules/filter">过滤配置</el-menu-item>
|
||||
</el-submenu>
|
||||
</el-submenu>
|
||||
<el-submenu index="/secworld/task">
|
||||
<el-submenu index="/oscm/task">
|
||||
<template slot="title">
|
||||
<span slot="title">漏洞扫描任务</span>
|
||||
<span slot="title">采集任务</span>
|
||||
</template>
|
||||
<el-menu-item index="/secworld/task/common">任务管理</el-menu-item>
|
||||
<el-menu-item index="/secworld/task/single">漏洞扫描</el-menu-item>
|
||||
<el-menu-item index="/oscm/task/common">普通任务</el-menu-item>
|
||||
<el-menu-item index="/oscm/task/single">单站点任务</el-menu-item>
|
||||
</el-submenu>
|
||||
<el-submenu index="/secworld/settings">
|
||||
<el-submenu index="/oscm/settings">
|
||||
<template slot="title">
|
||||
<span slot="title">响应管理</span>
|
||||
<span slot="title">系统管理</span>
|
||||
</template>
|
||||
<el-menu-item index="/secworld/log">扫描任务日志</el-menu-item>
|
||||
<el-menu-item index="/secworld/settings/wordBank">扫描任务规则</el-menu-item>
|
||||
<el-menu-item index="/secworld/settings/metaData">元数据表格</el-menu-item>
|
||||
<el-menu-item index="/secworld/settings/metaDict">元数据字典</el-menu-item>
|
||||
<el-menu-item index="/oscm/log">运行日志</el-menu-item>
|
||||
<el-menu-item index="/oscm/settings/wordBank">词库管理</el-menu-item>
|
||||
<el-menu-item index="/oscm/settings/metaData">元数据表格</el-menu-item>
|
||||
<el-menu-item index="/oscm/settings/metaDict">元数据字典</el-menu-item>
|
||||
</el-submenu>
|
||||
<el-menu-item index="" class="menu_item">
|
||||
<a class="menu-link" href="http://47.115.228.133:28086/dash/main" target="_blank">
|
||||
<span>资源运行管理</span>
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="" class="menu_item">
|
||||
<a class="menu-link" href="http://ops.dfhsbj.net:38082/" target="_blank">
|
||||
<span>漏洞挖掘利用</span>
|
||||
</a>
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
</el-col>
|
||||
<el-col :span="2" :offset="2">
|
||||
@ -179,7 +169,7 @@ export default {
|
||||
userApi.logout((response) => {
|
||||
this.setUserInfo({});
|
||||
cookieUtil.setCookie('oscm_user', {}, 0);
|
||||
this.$router.push("/secworld/login");
|
||||
this.$router.push("/oscm/login");
|
||||
if (response.data.result) {
|
||||
console.log("out");
|
||||
}
|
||||
@ -188,7 +178,7 @@ export default {
|
||||
},
|
||||
mounted: function () {
|
||||
if (this.user === {}) {
|
||||
this.$router.push('/secworld/login');
|
||||
this.$router.push('/oscm/login');
|
||||
return;
|
||||
}
|
||||
this.getUserInfo();
|
||||
@ -203,7 +193,7 @@ export default {
|
||||
let pathList = to.path.split('/');
|
||||
let activeMenu = '';
|
||||
if (pathList.length < 3 || pathList[2] === undefined || pathList[2] === '') {
|
||||
activeMenu = "/secworld/overview";
|
||||
activeMenu = "/oscm/overview";
|
||||
} else {
|
||||
activeMenu = to.path;
|
||||
}
|
||||
|
||||
@ -247,7 +247,7 @@ export default {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
viewProject(index, table) {
|
||||
this.$router.push('/secworld/log/detail/' + table[index].id);
|
||||
this.$router.push('/oscm/log/detail/' + table[index].id);
|
||||
},
|
||||
jumpToScrapydLog(index, table) {
|
||||
logApi.getScrapydLogURL(table[index], (response) => {
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<div id="login_form" :style="'height:'+windowHeight+'px'">
|
||||
<el-row style="height:100%;">
|
||||
<el-col id="login_inner">
|
||||
<h1 style="text-align:center;margin:25px;">安全运营管理平台</h1>
|
||||
<h1 style="text-align:center;margin:25px;">采集管理平台</h1>
|
||||
<el-form ref="form" :model="form" label-position="left" >
|
||||
<el-form-item>
|
||||
<el-input class="login_input" clearable v-model="form.username" placeholder="用户名"></el-input>
|
||||
@ -55,7 +55,7 @@ export default {
|
||||
var result = response.data;
|
||||
if(result.code == 200){
|
||||
cookieUtil.setCookie('oscm_user', result.content, -1)
|
||||
window.location = "/secworld/"
|
||||
window.location = "/oscm/"
|
||||
}else{
|
||||
alert("登录失败")
|
||||
}
|
||||
@ -65,7 +65,7 @@ export default {
|
||||
mounted(){
|
||||
this.windowHeight = window.innerHeight;
|
||||
if(cookieUtil.getCookie('oscm_user') != {}){
|
||||
this.$router.push('/secworld/')
|
||||
this.$router.push('/oscm/')
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,7 +90,7 @@ export default {
|
||||
color: #999999;
|
||||
}
|
||||
#login_form{
|
||||
background: url("/secworld/img/login.jpg");
|
||||
background: url("/oscm/img/login.jpg");
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<el-card class="overview_block_item_card" style="background-color: #a66dd4">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<h1 class="card_title">资产管理</h1>
|
||||
<h1 class="card_title">采集节点</h1>
|
||||
</el-col>
|
||||
<el-col :span="6" class="card_number">
|
||||
<i class="el-icon-cpu"></i>
|
||||
@ -17,7 +17,7 @@
|
||||
:show-text="false" color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/server')">服务器在线</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/server')">服务器在线</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.server.positive }} 台
|
||||
</el-col>
|
||||
@ -28,7 +28,7 @@
|
||||
:show-text="false" color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/project')">漏洞扫描引擎启用</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/project')">采集引擎启用</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.project.positive }} 个
|
||||
</el-col>
|
||||
@ -40,7 +40,7 @@
|
||||
<el-card class="overview_block_item_card" style="background-color: #6dd4b1">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<h1 class="card_title">目标漏洞网站</h1>
|
||||
<h1 class="card_title">监控目标</h1>
|
||||
</el-col>
|
||||
<el-col :span="6" class="card_number">
|
||||
<i class="el-icon-aim"></i>
|
||||
@ -53,7 +53,7 @@
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/target/website')">网站目标</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/target/website')">网站目标</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.targetWebsite.positive }}
|
||||
个
|
||||
@ -67,7 +67,7 @@
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/target/social')">社媒目标</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/target/social')">社交帐号</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.targetSocial.positive }} 个
|
||||
</el-col>
|
||||
@ -79,7 +79,7 @@
|
||||
<el-card class="overview_block_item_card" style="background-color: #34caca">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<h1 class="card_title">漏洞扫描任务</h1>
|
||||
<h1 class="card_title">采集任务</h1>
|
||||
</el-col>
|
||||
<el-col :span="6" class="card_number">
|
||||
<i class="el-icon-document"></i>
|
||||
@ -91,7 +91,7 @@
|
||||
:show-text="false"
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12"><span class="card_subtitle" @click="jumpTo('/secworld/task/common')">任务管理</span>
|
||||
<el-col :span="12"><span class="card_subtitle" @click="jumpTo('/oscm/task/common')">普通任务</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.taskCommon.positive }} 个
|
||||
</el-col>
|
||||
@ -102,7 +102,7 @@
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/task/single')">漏洞扫描</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/task/single')">单站点任务</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">{{ numberStats.taskSingle.all }} 个
|
||||
</el-col>
|
||||
@ -114,7 +114,7 @@
|
||||
<el-card class="overview_block_item_card" style="background-color: #63c7ff">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<h1 class="card_title">响应管理</h1>
|
||||
<h1 class="card_title">运行日志</h1>
|
||||
</el-col>
|
||||
<el-col :span="6" class="card_number">
|
||||
<i class="el-icon-date"></i>
|
||||
@ -125,7 +125,7 @@
|
||||
:show-text="false"
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col class="card_text" :span="12">扫描任务完成</el-col>
|
||||
<el-col class="card_text" :span="12">采集成功率</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">
|
||||
{{ Math.floor(numberStats.log.positive / numberStats.log.all * 100) + '%' }}
|
||||
</el-col>
|
||||
@ -136,7 +136,7 @@
|
||||
color="#e83e8c"></el-progress>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col class="card_text" :span="12">
|
||||
<span class="card_subtitle" @click="jumpTo('/secworld/log')">扫描任务日志</span>
|
||||
<span class="card_subtitle" @click="jumpTo('/oscm/log')">所有日志</span>
|
||||
</el-col>
|
||||
<el-col class="card_text" :span="12" style="text-align: right">
|
||||
{{ numberStats.log.all }} 条
|
||||
|
||||
@ -141,7 +141,7 @@ export default {
|
||||
});
|
||||
},
|
||||
add() {
|
||||
this.$router.push({path: '/secworld/target/api/settings'});
|
||||
this.$router.push({path: '/oscm/target/api/settings'});
|
||||
},
|
||||
edit(index) {
|
||||
this.showCronList = true;
|
||||
@ -149,7 +149,7 @@ export default {
|
||||
let editParam = {};
|
||||
editParam.data = this.copyFormData.table[index]
|
||||
editParam.isEdit = true;
|
||||
this.$router.push({path: '/secworld/target/api/settings', query: editParam});
|
||||
this.$router.push({path: '/oscm/target/api/settings', query: editParam});
|
||||
},
|
||||
deleteOne(dataBody) {
|
||||
MessageBox.confirm("是否删除?", "提示", {
|
||||
|
||||
@ -226,7 +226,7 @@ export default {
|
||||
tempData.loginType = tempData.loginType.constructor === Array ? tempData.loginType[tempData.loginType.length - 1] : tempData.loginType;
|
||||
apiRulesApi.save(tempData, (response) => {
|
||||
if (response.data.message === 'success') {
|
||||
this.$router.push({path: '/secworld/target'});
|
||||
this.$router.push({path: '/oscm/target'});
|
||||
Message({
|
||||
message: '保存成功',
|
||||
type: 'success'
|
||||
@ -241,7 +241,7 @@ export default {
|
||||
})
|
||||
},
|
||||
cancelSave() {
|
||||
this.$router.push({path: '/secworld/target'})
|
||||
this.$router.push({path: '/oscm/target'})
|
||||
// this.$router.go(-1);
|
||||
}
|
||||
},
|
||||
|
||||
@ -241,10 +241,10 @@ export default {
|
||||
let editParam = {};
|
||||
editParam.data = this.formData;
|
||||
editParam.isEdit = true;
|
||||
this.$router.push({path: '/secworld/target/website/settings', query: editParam});
|
||||
this.$router.push({path: '/oscm/target/website/settings', query: editParam});
|
||||
},
|
||||
addCrawlRule() {
|
||||
this.$router.push({path: '/secworld/target/website/settings'})
|
||||
this.$router.push({path: '/oscm/target/website/settings'})
|
||||
},
|
||||
deleteCrawlRuleChild(index, tableData, handscope) {
|
||||
MessageBox.confirm("是否删除?", "提示", {
|
||||
|
||||
@ -706,7 +706,7 @@ export default {
|
||||
tempData.storageOption = tempData.storageOption.constructor === Array ? JSON.stringify(tempData.storageOption) : tempData.storageOption
|
||||
targetWebsiteApi.update(tempData, (response) => {
|
||||
if (response.data.code === 200) {
|
||||
this.$router.push({path: '/secworld/target/website'});
|
||||
this.$router.push({path: '/oscm/target/website'});
|
||||
Message({
|
||||
message: '保存成功',
|
||||
type: 'success'
|
||||
@ -721,7 +721,7 @@ export default {
|
||||
})
|
||||
},
|
||||
cancelSave() {
|
||||
this.$router.push({path: '/secworld/target/website'})
|
||||
this.$router.push({path: '/oscm/target/website'})
|
||||
// this.$router.go(-1);
|
||||
}
|
||||
},
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
module.exports = {
|
||||
publicPath: '/secworld',
|
||||
publicPath: '/oscm',
|
||||
devServer: {
|
||||
host: '0.0.0.0',
|
||||
port: 8080,
|
||||
// proxy: 'http://127.0.0.1:8081'
|
||||
proxy: 'http://47.115.228.133:28081'
|
||||
proxy: 'http://38.54.94.107:28081'
|
||||
},
|
||||
chainWebpack: config => {
|
||||
config.plugin('html')
|
||||
.tap(args => {
|
||||
args[0].title = "安全运营管理平台";
|
||||
args[0].title = "采集管理平台";
|
||||
return args;
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user