892 lines
32 KiB
Plaintext
892 lines
32 KiB
Plaintext
webpackJsonp([7],{
|
||
|
||
/***/ "8IlJ":
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAOBJREFUKBVjZICC////M85YsS/l/3+GZKCQNlT4KiMjw9yMCKc5jIyM/0FijCBi/qr9Ej9+/1vyn+G/M4iPDhgZGPdysDLFJIY5vmACmYyuGGjKZRCGaQQZBFYDVMssoWGXCtSUD5ME0UDFr6B8cSRxpbNXHzwF2gB2M5I4biZILQtQGuZBJJWM6yCc/7pIgiCmNhOaAF4uMJz+gzRcxasKSfI/I8M1JlA4I4nhZYLUMoIjbNm+3chxAAtSYEzB/QCKi4woJ1egDYz/QZECEoAZD1KIrhisBqgWaBgEEJs0AE7AXstI8N/iAAAAAElFTkSuQmCC"
|
||
|
||
/***/ }),
|
||
|
||
/***/ "KuaY":
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAQtJREFUKBWlUjFuAjEQ3DWIICElUiqCqBA1v6FIFymfoAk6hSYN/ICap/AAKporoQKJSJGCxN2y4zuL5Zyr4uJ2PJ6xx+dlMmPwdXxyP7/vxPxoaCKR77zTXqaT51PgmwGgwpQTzVVoaY91DXURFu6M/iQ1pbMeBwHq4GMn1RQ8nO7HudBK8zSsuB5z5phem+Raa87OCTPfn17jFJELuYe1X9ZTEx9HZ8Pk0EeK4AMGhzk00AI7fOyQ7PxWRC9YYHBWAxwZi8j2vtL46xqRsbpz3Tz6ITnxVsWbm4E3JXejFEXG9LOrT4PnKUY6exkFbOs/o2ovYrfwJHbnCJdaHxUN7Hux2txVV9nsoK+2XGE5a1MR4wAAAABJRU5ErkJggg=="
|
||
|
||
/***/ }),
|
||
|
||
/***/ "Ro9c":
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
||
|
||
// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/json/stringify.js
|
||
var stringify = __webpack_require__("mvHQ");
|
||
var stringify_default = /*#__PURE__*/__webpack_require__.n(stringify);
|
||
|
||
// EXTERNAL MODULE: ./src/common/meta.js
|
||
var meta = __webpack_require__("BoBM");
|
||
|
||
// EXTERNAL MODULE: ./node_modules/vuex/dist/vuex.esm.js
|
||
var vuex_esm = __webpack_require__("NYxO");
|
||
|
||
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/pages/siteManagement/PreciseSet.vue
|
||
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
//
|
||
|
||
|
||
|
||
/* harmony default export */ var PreciseSet = ({
|
||
components: {},
|
||
data: function data() {
|
||
var that = this;
|
||
var validateUrl = function validateUrl(rule, value, callback) {
|
||
var domainRex = /^\/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?\/?/;
|
||
if (value != null && value != "") {
|
||
if (!domainRex.test(value)) {
|
||
callback(new Error("url请以'/'开头"));
|
||
} else {
|
||
callback();
|
||
}
|
||
} else {
|
||
callback();
|
||
}
|
||
};
|
||
return {
|
||
preciseBtns: this.global.getRoleLimit().preciseBtns,
|
||
activeName: "precise",
|
||
addRuleFormDialog: false,
|
||
addSiteDialog: false,
|
||
domainId: '',
|
||
domain: '',
|
||
ruleModel: 'add',
|
||
params: meta["a" /* default */].params,
|
||
methodOpera: meta["a" /* default */].opera.method,
|
||
content1: '请输入',
|
||
content2: '请输入',
|
||
content3: '请输入',
|
||
val: '', //匹配字段
|
||
operators: [{ name: '等于', id: 1 }, { name: '不等于', id: 2 }, { name: '包含', id: 3 }, { name: '不包含', id: 4 }, { name: '属于', id: 5 }, { name: '不属于', id: 6 }],
|
||
isThreeRule: true,
|
||
addRuleForm: {
|
||
ruleId: '',
|
||
ruleName: '',
|
||
action: '',
|
||
comment: '',
|
||
detectType: '',
|
||
desp: [{
|
||
param: '',
|
||
operator: '',
|
||
content: ''
|
||
}]
|
||
},
|
||
ruleOld: 0,
|
||
siteOld: 0,
|
||
ruleNew: 10,
|
||
siteNew: 10,
|
||
ruletableData: [],
|
||
datatableData: [],
|
||
addSiteForm: {
|
||
sceneCode: '',
|
||
url: ''
|
||
},
|
||
ruleTitle: '',
|
||
isclear: true,
|
||
URL: {
|
||
addRule: '/ACL/',
|
||
getRuleList: '/ACL/',
|
||
addSite: '/website/risk/add',
|
||
getSiteList: '/rest/website/showRisk/',
|
||
deleteSite: '/website/risk/delete'
|
||
},
|
||
addRuleFormRules: {
|
||
ruleName: [{ required: true, message: '规则名称不能为空', trigger: ['blur', 'change'] }, { min: 1, max: 50, message: '名称长度不超过50个字符', trigger: ['blur', 'change'] }],
|
||
comment: [{ min: 1, max: 200, message: '描述长度不超过200个字符', trigger: ['blur', 'change'] }],
|
||
detectType: [{ required: true, message: '检测方向不能为空', trigger: ['blur', 'change'] }],
|
||
desp: [{ required: true, message: '匹配条件不能为空', trigger: ['blur', 'change'] }],
|
||
action: [{ required: true, message: '匹配动作不能为空', trigger: ['blur', 'change'] }]
|
||
},
|
||
addSiteFormRule: {
|
||
sceneCode: [{ required: true, message: '防护场景不能为空', trigger: ['blur', 'change'] }],
|
||
url: [{ required: true, message: 'url不能为空', trigger: ['blur', 'change'] }, { validator: validateUrl, trigger: ['blur', 'change'] }]
|
||
}
|
||
};
|
||
},
|
||
|
||
computed: Object(vuex_esm["b" /* mapState */])({
|
||
contextPath: 'urlHost',
|
||
super: 'super',
|
||
group: 'group',
|
||
province: 'province'
|
||
}),
|
||
mounted: function mounted() {
|
||
this.domainId = this.$route.query.data;
|
||
this.domain = this.$route.query.domain;
|
||
this.activeName = this.$route.query.name;
|
||
/*this.getRuleList();*/
|
||
this.handleClick();
|
||
},
|
||
|
||
methods: {
|
||
handleClick: function handleClick() {
|
||
if (this.activeName == 'data') {
|
||
this.getSiteList();
|
||
} else {
|
||
this.getRuleList();
|
||
}
|
||
},
|
||
openHelp: function openHelp() {
|
||
var href = this.$router.resolve({
|
||
name: 'HelpIp'
|
||
});
|
||
window.open(href.href, '_blank');
|
||
},
|
||
addRule: function addRule() {
|
||
this.ruleTitle = "新增规则";
|
||
this.ruleModel = 'add';
|
||
this.isThreeRule = true;
|
||
this.addRuleFormDialog = true;
|
||
this.addRuleForm.ruleId = '';
|
||
this.addRuleForm.ruleName = '';
|
||
this.addRuleForm.action = '';
|
||
this.addRuleForm.comment = '';
|
||
this.addRuleForm.detectType = '';
|
||
this.addRuleForm.desp = [];
|
||
this.$refs['addRuleForm'].resetFields();
|
||
},
|
||
editRule: function editRule(data) {
|
||
this.ruleTitle = "编辑规则";
|
||
this.ruleModel = 'edit';
|
||
this.addRuleFormDialog = true;
|
||
this.$nextTick(function () {
|
||
this.$refs['addRuleForm'].resetFields();
|
||
var result = JSON.parse(stringify_default()(data));
|
||
this.addRuleForm.ruleId = result.ruleId;
|
||
this.addRuleForm.ruleName = result.ruleName;
|
||
this.addRuleForm.action = result.action.toString();
|
||
this.addRuleForm.comment = result.comment;
|
||
this.addRuleForm.detectType = result.detectType.toString();
|
||
this.addRuleForm.desp = result.desp;
|
||
/*result.desp.map((item, index)=>{
|
||
this.$nextTick(function(){
|
||
this.getParmas(item.param,false);
|
||
});
|
||
|
||
});*/
|
||
});
|
||
},
|
||
addSite: function addSite() {
|
||
this.addSiteDialog = true;
|
||
this.$refs['addSiteForm'].resetFields();
|
||
},
|
||
addSiteData: function addSiteData() {
|
||
var _this = this;
|
||
|
||
this.$refs['addSiteForm'].validate(function (valid) {
|
||
if (valid) {
|
||
var formData = _this.addSiteForm;
|
||
formData.domainId = _this.domainId;
|
||
var that = _this;
|
||
_this.$axios({
|
||
method: 'post',
|
||
url: _this.contextPath + _this.URL.addSite,
|
||
data: formData,
|
||
needInterceptors: true,
|
||
showError: true,
|
||
loader: true
|
||
}).then(function (res) {
|
||
that.getSiteList();
|
||
that.addSiteDialog = false;
|
||
});
|
||
}
|
||
});
|
||
},
|
||
deleteRuleData: function deleteRuleData(data) {
|
||
var _this2 = this;
|
||
|
||
this.$confirm("您确认要删除该规则吗?", '提示', {
|
||
dangerouslyUseHTMLString: true,
|
||
customClass: 'wafConfirm',
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(function () {
|
||
var that = _this2;
|
||
var parameters = {
|
||
ruleId: data.ruleId,
|
||
operation: 2
|
||
};
|
||
_this2.$axios.post(_this2.contextPath + _this2.URL.getRuleList + _this2.domainId + "/operat", parameters).then(function (res) {
|
||
var data = res.data;
|
||
if (data.resultCode == "0") {
|
||
that.getRuleList();
|
||
} else {
|
||
that.$message.error('删除失败!');
|
||
}
|
||
}, function (res) {});
|
||
}).catch(function () {});
|
||
},
|
||
addRuleTd: function addRuleTd() {
|
||
this.filterparams();
|
||
var length = this.addRuleForm.desp.length;
|
||
if (length < 3) {
|
||
this.isThreeRule = true;
|
||
this.addRuleForm.desp.push({
|
||
param: '',
|
||
operator: '',
|
||
content: ''
|
||
});
|
||
if (length + 1 >= 3) {
|
||
this.isThreeRule = false;
|
||
}
|
||
}
|
||
},
|
||
filterparams: function filterparams() {
|
||
var _this3 = this;
|
||
|
||
for (var i = 0; i < this.params.length; i++) {
|
||
if (this.params[i].disabled) {
|
||
this.params[i].disabled = false;
|
||
}
|
||
}
|
||
this.addRuleForm.desp.map(function (item, index) {
|
||
var pname = item.param;
|
||
for (var i = 0; i < _this3.params.length; i++) {
|
||
if (pname == _this3.params[i].id) {
|
||
_this3.params[i].disabled = true;
|
||
}
|
||
}
|
||
});
|
||
},
|
||
deleteRow: function deleteRow(row) {
|
||
this.addRuleForm.desp.splice(row, 1);
|
||
this.isThreeRule = true;
|
||
},
|
||
deleteSite: function deleteSite(row) {
|
||
var _this4 = this;
|
||
|
||
this.$confirm("您确认要删除该网站吗?", '提示', {
|
||
dangerouslyUseHTMLString: true,
|
||
customClass: 'wafConfirm',
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(function () {
|
||
var that = _this4;
|
||
var parameters = {
|
||
id: row.id
|
||
};
|
||
_this4.$axios.post(_this4.contextPath + _this4.URL.deleteSite, parameters).then(function (res) {
|
||
var data = res.data;
|
||
if (data.resultCode == "0") {
|
||
that.getSiteList();
|
||
} else {
|
||
that.$message.error('删除失败!');
|
||
}
|
||
}, function (res) {});
|
||
}).catch(function () {});
|
||
},
|
||
getRuleList: function getRuleList() {
|
||
var that = this;
|
||
/*this.$axios.post(this.contextPath+this.URL.getRuleList+this.domainId+"/query").then(function(res){
|
||
var data = res.data;
|
||
if(data.resultCode == "0"){
|
||
that.ruletableData = data.result.result;
|
||
that.ruleOld = that.ruletableData.length;
|
||
that.ruleNew = 10 - that.ruletableData.length;
|
||
}
|
||
},function(res){
|
||
|
||
});*/
|
||
this.$axios({
|
||
method: 'post',
|
||
url: that.contextPath + that.URL.getRuleList + this.domainId + "/query",
|
||
needInterceptors: true,
|
||
showError: true,
|
||
loader: true
|
||
}).then(function (res) {
|
||
that.ruletableData = res.result;
|
||
that.ruleOld = res.result.length;
|
||
that.ruleNew = 10 - res.result.length;
|
||
});
|
||
},
|
||
getSiteList: function getSiteList() {
|
||
var that = this;
|
||
/*this.$axios.post(this.contextPath+this.URL.getSiteList+this.domainId).then(function(res){
|
||
var data = res.data;
|
||
if(data.resultCode == "0"){
|
||
that.datatableData = data.result.data;
|
||
that.siteOld = that.datatableData.length;
|
||
that.siteNew = 10 - that.datatableData.length;
|
||
}
|
||
},function(res){
|
||
|
||
});*/
|
||
this.$axios({
|
||
method: 'post',
|
||
url: that.contextPath + that.URL.getSiteList + this.domainId,
|
||
needInterceptors: true,
|
||
showError: true,
|
||
loader: true
|
||
}).then(function (res) {
|
||
that.datatableData = res.data;
|
||
that.siteOld = res.data.length;
|
||
that.siteNew = 10 - res.data.length;
|
||
});
|
||
},
|
||
addRuleData: function addRuleData() {
|
||
var _this5 = this;
|
||
|
||
this.$refs['addRuleForm'].validate(function (valid) {
|
||
if (valid) {
|
||
var formData = _this5.addRuleForm;
|
||
var that = _this5;
|
||
_this5.$axios({
|
||
method: 'post',
|
||
url: _this5.contextPath + _this5.URL.addRule + _this5.domainId + "/create",
|
||
data: formData,
|
||
needInterceptors: true,
|
||
showError: true,
|
||
loader: true
|
||
}).then(function (res) {
|
||
that.getRuleList();
|
||
that.addRuleFormDialog = false;
|
||
that.isThreeRule = true;
|
||
});
|
||
}
|
||
});
|
||
},
|
||
editRuleData: function editRuleData() {
|
||
var _this6 = this;
|
||
|
||
this.$refs['addRuleForm'].validate(function (valid) {
|
||
if (valid) {
|
||
var formData = _this6.addRuleForm;
|
||
var that = _this6;
|
||
_this6.$axios({
|
||
method: 'post',
|
||
url: _this6.contextPath + _this6.URL.addRule + _this6.domainId + "/update",
|
||
data: formData,
|
||
needInterceptors: true,
|
||
showError: true,
|
||
loader: true
|
||
}).then(function (res) {
|
||
that.getRuleList();
|
||
that.addRuleFormDialog = false;
|
||
});
|
||
}
|
||
});
|
||
},
|
||
back: function back() {
|
||
this.$router.back(-1);
|
||
},
|
||
getParmas: function getParmas(data, index) {
|
||
this.getTip(this.val, data, index);
|
||
},
|
||
setParams: function setParams() {
|
||
this.filterparams();
|
||
},
|
||
getParmasData: function getParmasData(val) {
|
||
this.paramsChange(val);
|
||
},
|
||
paramsChange: function paramsChange(val) {
|
||
var operators = [];
|
||
this.val = val;
|
||
this.addRuleForm.desp.map(function (item, index) {
|
||
if (item.param == val) {
|
||
item.operator = '';
|
||
item.content = '';
|
||
}
|
||
});
|
||
switch (val) {
|
||
case 'ip':
|
||
operators = meta["a" /* default */].operators.ip;
|
||
break;
|
||
case 'uri':
|
||
operators = meta["a" /* default */].operators.uri;
|
||
break;
|
||
case 'referer':
|
||
operators = meta["a" /* default */].operators.referer;
|
||
break;
|
||
case 'user_agent':
|
||
operators = meta["a" /* default */].operators.useragent;
|
||
break;
|
||
case 'args_get_names':
|
||
operators = meta["a" /* default */].operators.args_get_names;
|
||
break;
|
||
case 'args_get':
|
||
operators = meta["a" /* default */].operators.args_get;
|
||
break;
|
||
case 'args_post_names':
|
||
operators = meta["a" /* default */].operators.args_post_names;
|
||
break;
|
||
case 'args_post':
|
||
operators = meta["a" /* default */].operators.args_post;
|
||
break;
|
||
case 'cookies_names':
|
||
operators = meta["a" /* default */].operators.cookies_names;
|
||
break;
|
||
case 'cookies':
|
||
operators = meta["a" /* default */].operators.cookies;
|
||
break;
|
||
case 'http_content_type':
|
||
operators = meta["a" /* default */].operators.http_content_type;
|
||
break;
|
||
case 'forwarded_ip':
|
||
operators = meta["a" /* default */].operators.remote_ip;
|
||
break;
|
||
case 'method':
|
||
operators = meta["a" /* default */].operators.method;
|
||
break;
|
||
case 'filename':
|
||
operators = meta["a" /* default */].operators.filename;
|
||
break;
|
||
case 'headers_names':
|
||
operators = meta["a" /* default */].operators.headers_names;
|
||
break;
|
||
case 'headers':
|
||
operators = meta["a" /* default */].operators.headers;
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
this.operators = operators;
|
||
},
|
||
getTip: function getTip(val, operator, index) {
|
||
var con = '请输入';
|
||
switch (val) {
|
||
case 'ip':
|
||
if (operator == 5) {
|
||
con = '请输入IP掩码如(1.1.1.1/24)';
|
||
}
|
||
if (operator == 6) {
|
||
con = '请输入IP掩码如(1.1.1.1/24)';
|
||
}
|
||
if (operator == 1) {
|
||
con = '请输入单个IP';
|
||
}
|
||
if (operator == 2) {
|
||
con = '请输入单个IP';
|
||
}
|
||
break;
|
||
case 'uri':
|
||
if (operator == 1) {
|
||
con = "请以'/'开头";
|
||
}
|
||
if (operator == 2) {
|
||
con = "请以'/'开头";
|
||
}
|
||
break;
|
||
case 'filename':
|
||
if (operator == 1) {
|
||
con = "请以'/'开头";
|
||
}
|
||
if (operator == 2) {
|
||
con = "请以'/'开头";
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
if (index == 0) {
|
||
this.content1 = con;
|
||
}
|
||
if (index == 1) {
|
||
this.content2 = con;
|
||
}
|
||
if (index == 2) {
|
||
this.content3 = con;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-0aa493da","hasScoped":false,"transformToRequire":{"video":["src","poster"],"source":"src","img":"src","image":"xlink:href"},"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/pages/siteManagement/PreciseSet.vue
|
||
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-breadcrumb',{attrs:{"separator-class":"el-icon-arrow-right"}},[_c('el-breadcrumb-item',{staticClass:"con-ptitle",attrs:{"to":{ path: '/CDNindex' }}},[_vm._v("Web应用防火墙")]),_vm._v(" "),_c('el-breadcrumb-item',{attrs:{"to":{path:'/siteSet'}}},[_vm._v("网站配置")]),_vm._v(" "),_c('el-breadcrumb-item',{attrs:{"to":{path:'/protectSet',query: { id: this.domainId,domain: this.domain}}}},[_vm._v("防护配置")]),_vm._v(" "),_c('el-breadcrumb-item',[_vm._v("精准访问控制")])],1),_vm._v(" "),_c('div',{staticClass:"con-content"},[_c('el-button',{staticClass:"return-btn left-space",attrs:{"size":"small"},on:{"click":_vm.back}},[_vm._v("返回")]),_vm._v(" "),_c('el-tabs',{attrs:{"type":"card"},on:{"tab-click":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:"activeName"}},[_c('el-tab-pane',{attrs:{"label":"精准访问控制","name":"precise"}},[_c('div',{staticClass:"table-area"},[_c('div',{staticClass:"table-area-handle"},[(_vm.preciseBtns)?_c('el-button',{attrs:{"type":"primary","size":"mini","icon":"el-icon-my-add"},on:{"click":_vm.addRule}},[_vm._v("新增规则")]):_vm._e()],1),_vm._v(" "),_c('el-table',{ref:"singleTable",staticClass:"contable noneFy",staticStyle:{"width":"100%"},attrs:{"border":"","stripe":"true","height":this.$store.state.protectHeight,"data":_vm.ruletableData,"tooltip-effect":"dark"}},[_c('el-table-column',{attrs:{"prop":"ruleId","label":"ID","width":"180"}}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"ruleName","label":"规则名称","width":"180"}}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"comment","label":"描述信息"}}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"detectType","label":"请求方向"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.detectType == 1)?_c('span',[_vm._v("请求")]):_vm._e(),_vm._v(" "),(scope.row.detectType == 2)?_c('span',[_vm._v("回复")]):_vm._e()]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"desp","label":"规则条件"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return _vm._l((scope.row.desp),function(item){return _c('div',[_c('span',[_vm._v(_vm._s(item.param)+"\n "),(item.operator == 1)?_c('span',[_vm._v("等于")]):_vm._e(),_vm._v(" "),(item.operator == 2)?_c('span',[_vm._v("不等于")]):_vm._e(),_vm._v(" "),(item.operator == 3)?_c('span',[_vm._v("包含")]):_vm._e(),_vm._v(" "),(item.operator == 4)?_c('span',[_vm._v("不包含")]):_vm._e(),_vm._v(" "),(item.operator == 5)?_c('span',[_vm._v("属于")]):_vm._e(),_vm._v(" "),(item.operator == 6)?_c('span',[_vm._v("不属于")]):_vm._e(),_vm._v(" "),(item.operator == 7)?_c('span',[_vm._v("不存在")]):_vm._e(),_vm._v(" "),(item.operator == 8)?_c('span',[_vm._v("值大于")]):_vm._e(),_vm._v(" "),(item.operator == 9)?_c('span',[_vm._v("值小于")]):_vm._e(),_vm._v(" "),(item.operator == 10)?_c('span',[_vm._v("值等于")]):_vm._e(),_vm._v("\n "+_vm._s(item.content))])])})}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"action","label":"动作"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.action == 1)?_c('span',[_vm._v("阻断")]):_vm._e(),_vm._v(" "),(scope.row.action == 2)?_c('span',[_vm._v("放行")]):_vm._e(),_vm._v(" "),(scope.row.action == 3)?_c('span',[_vm._v("告警")]):_vm._e()]}}])}),_vm._v(" "),(_vm.preciseBtns)?_c('el-table-column',{attrs:{"prop":"address","label":"操作"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{},[(_vm.preciseBtns)?_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.editRule(scope.row)}}},[_vm._v("编辑")]):_vm._e(),_vm._v(" "),(_vm.preciseBtns)?_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.deleteRuleData(scope.row)}}},[_vm._v("删除")]):_vm._e()],1)]}}],null,false,889997661)}):_vm._e()],1),_vm._v(" "),_c('span',{staticClass:"countTip"},[_vm._v("您已添加"+_vm._s(_vm.ruleOld)+"个,还可以添加"+_vm._s(_vm.ruleNew)+"个")])],1)]),_vm._v(" "),_c('el-tab-pane',{attrs:{"label":"数据风控","name":"data"}},[_c('div',{staticClass:"table-area"},[_c('div',{staticClass:"table-area-handle"},[(_vm.preciseBtns)?_c('el-button',{attrs:{"type":"primary","size":"mini","icon":"el-icon-my-add"},on:{"click":_vm.addSite}},[_vm._v("新增规则")]):_vm._e()],1),_vm._v(" "),_c('el-table',{ref:"singleTable",staticClass:"contable noneFy",staticStyle:{"width":"100%"},attrs:{"border":"","stripe":"true","height":this.$store.state.protectHeight,"data":_vm.datatableData,"tooltip-effect":"dark"}},[_c('el-table-column',{attrs:{"prop":"sceneCode","label":"防护场景"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.sceneCode == '100000')?_c('span',[_vm._v("注册")]):_vm._e(),_vm._v(" "),(scope.row.sceneCode == '200000')?_c('span',[_vm._v("登录")]):_vm._e(),_vm._v(" "),(scope.row.sceneCode == '300000')?_c('span',[_vm._v("修改密码")]):_vm._e(),_vm._v(" "),(scope.row.sceneCode == '400000')?_c('span',[_vm._v("短信验证码")]):_vm._e(),_vm._v(" "),(scope.row.sceneCode == '500000')?_c('span',[_vm._v("活动")]):_vm._e(),_vm._v(" "),(scope.row.sceneCode == '600000')?_c('span',[_vm._v("其他")]):_vm._e()]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"url","label":"防护请求"}}),_vm._v(" "),(_vm.preciseBtns)?_c('el-table-column',{attrs:{"prop":"address","label":"操作"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{},[(_vm.preciseBtns)?_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.deleteSite(scope.row)}}},[_vm._v("删除")]):_vm._e()],1)]}}],null,false,900123219)}):_vm._e()],1),_vm._v(" "),_c('span',{staticClass:"countTip"},[_vm._v("您已添加"+_vm._s(_vm.siteOld)+"个,还可以添加"+_vm._s(_vm.siteNew)+"个")])],1)])],1)],1),_vm._v(" "),_c('el-dialog',{attrs:{"title":_vm.ruleTitle,"visible":_vm.addRuleFormDialog,"close-on-click-modal":false,"width":"400","center":""},on:{"update:visible":function($event){_vm.addRuleFormDialog=$event}}},[_c('el-form',{ref:"addRuleForm",attrs:{"model":_vm.addRuleForm,"rules":_vm.addRuleFormRules,"label-width":"80px","label-position":"top","size":"mini"}},[_c('el-form-item',{attrs:{"label":"规则名称","prop":"ruleName"}},[_c('el-input',{attrs:{"placeholder":"请输入"},model:{value:(_vm.addRuleForm.ruleName),callback:function ($$v) {_vm.$set(_vm.addRuleForm, "ruleName", $$v)},expression:"addRuleForm.ruleName"}})],1),_vm._v(" "),_c('el-form-item',{attrs:{"label":"描述信息","prop":"comment"}},[_c('el-input',{attrs:{"type":"textarea","placeholder":"请输入"},model:{value:(_vm.addRuleForm.comment),callback:function ($$v) {_vm.$set(_vm.addRuleForm, "comment", $$v)},expression:"addRuleForm.comment"}})],1),_vm._v(" "),_c('el-form-item',{attrs:{"label":"检测方向","prop":"detectType"}},[_c('el-select',{attrs:{"placeholder":"请输入"},model:{value:(_vm.addRuleForm.detectType),callback:function ($$v) {_vm.$set(_vm.addRuleForm, "detectType", $$v)},expression:"addRuleForm.detectType"}},[_c('el-option',{attrs:{"label":"请求","value":"1"}})],1)],1),_vm._v(" "),_c('el-form-item',{attrs:{"label":"匹配条件","prop":"desp"}},[_c('div',{staticClass:"preHovDesp"},[_c('span',{staticClass:"preHovDespText"},[_vm._v("( ")]),_c('a',{staticClass:"preHovDespText",attrs:{"target":"_blank"},on:{"click":_vm.openHelp}},[_vm._v("填写帮助")]),_c('span',{staticClass:"preHovDespText"},[_vm._v(" )")])]),_vm._v(" "),_c('el-table',{ref:"singleTable",staticClass:"dialogTable",staticStyle:{"width":"100%"},attrs:{"border":"","stripe":"false","data":_vm.addRuleForm.desp,"max-height":"200"}},[_c('el-table-column',{attrs:{"prop":"aa","label":"匹配字段","width":"185"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('el-select',{attrs:{"placeholder":"请输入","size":"mini"},on:{"change":_vm.paramsChange,"focus":_vm.setParams},model:{value:(scope.row.param),callback:function ($$v) {_vm.$set(scope.row, "param", $$v)},expression:"scope.row.param"}},_vm._l((_vm.params),function(item){return _c('el-option',{key:item.id,attrs:{"label":item.name,"value":item.id,"disabled":item.disabled}})}),1)]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"bb","label":"逻辑符","min-width":"110"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('el-select',{attrs:{"placeholder":"请输入","size":"mini"},on:{"change":function($event){return _vm.getParmas(scope.row.operator,scope.$index)},"focus":function($event){return _vm.getParmasData(scope.row.param)}},model:{value:(scope.row.operator),callback:function ($$v) {_vm.$set(scope.row, "operator", $$v)},expression:"scope.row.operator"}},_vm._l((_vm.operators),function(item){return _c('el-option',{key:item.id,attrs:{"label":item.name,"value":item.id}})}),1)]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"cc","label":"匹配内容","min-width":"230"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.param === 'method')?_c('div',[_c('el-select',{staticClass:"preciseOpera",attrs:{"placeholder":"请选择","size":"mini"},model:{value:(scope.row.content),callback:function ($$v) {_vm.$set(scope.row, "content", $$v)},expression:"scope.row.content"}},_vm._l((_vm.methodOpera),function(item){return _c('el-option',{key:item,attrs:{"label":item,"value":item}})}),1)],1):_c('div',[(scope.$index == 0)?_c('el-input',{attrs:{"placeholder":_vm.content1},model:{value:(scope.row.content),callback:function ($$v) {_vm.$set(scope.row, "content", $$v)},expression:"scope.row.content"}}):_vm._e(),_vm._v(" "),(scope.$index == 1)?_c('el-input',{attrs:{"placeholder":_vm.content2},model:{value:(scope.row.content),callback:function ($$v) {_vm.$set(scope.row, "content", $$v)},expression:"scope.row.content"}}):_vm._e(),_vm._v(" "),(scope.$index == 2)?_c('el-input',{attrs:{"placeholder":_vm.content3},model:{value:(scope.row.content),callback:function ($$v) {_vm.$set(scope.row, "content", $$v)},expression:"scope.row.content"}}):_vm._e()],1)]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"description","label":"","min-width":"35"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{staticClass:"handleCell"},[_c('img',{attrs:{"src":__webpack_require__("KuaY")},on:{"click":function($event){return _vm.deleteRow(scope.$index)}}})])]}}])})],1),_vm._v(" "),(_vm.isThreeRule)?_c('div',{staticClass:"addRuleArea"},[_c('div',{staticClass:"addRuleTitle",on:{"click":_vm.addRuleTd}},[_vm._v("+新增条件")]),_vm._v(" "),_c('div',{staticClass:"addRuleTip"},[_vm._v("(最多填写3个,且匹配条件之间关系为\"与\")")])]):_vm._e()],1),_vm._v(" "),_c('el-form-item',{attrs:{"label":"匹配动作","prop":"action"}},[_c('el-select',{attrs:{"placeholder":"请输入"},model:{value:(_vm.addRuleForm.action),callback:function ($$v) {_vm.$set(_vm.addRuleForm, "action", $$v)},expression:"addRuleForm.action"}},[_c('el-option',{attrs:{"label":"阻断","value":"1"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"放行","value":"2"}})],1),_vm._v(" "),_c('el-tooltip',{staticClass:"item",attrs:{"effect":"dark","placement":"right-end"}},[_c('div',{attrs:{"slot":"content"},slot:"content"},[_vm._v("阻断:规则匹配则阻断请求"),_c('br'),_vm._v("放行:规则匹配流量直接放行")]),_vm._v(" "),_c('img',{staticClass:"preHovAction",attrs:{"src":__webpack_require__("8IlJ")}})])],1)],1),_vm._v(" "),_c('span',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){_vm.addRuleFormDialog = false}}},[_vm._v("取 消")]),_vm._v(" "),(_vm.ruleModel == 'edit')?_c('el-button',{attrs:{"type":"primary","size":"mini"},on:{"click":_vm.editRuleData}},[_vm._v("确 定")]):_vm._e(),_vm._v(" "),(_vm.ruleModel == 'add')?_c('el-button',{attrs:{"type":"primary","size":"mini"},on:{"click":_vm.addRuleData}},[_vm._v("确 定")]):_vm._e()],1)],1),_vm._v(" "),_c('el-dialog',{attrs:{"title":"添加网站","visible":_vm.addSiteDialog,"close-on-click-modal":false,"width":"40%","center":""},on:{"update:visible":function($event){_vm.addSiteDialog=$event}}},[_c('el-form',{ref:"addSiteForm",attrs:{"model":_vm.addSiteForm,"rules":_vm.addSiteFormRule,"label-width":"80px","label-position":"top","size":"mini"}},[_c('el-form-item',{attrs:{"label":"防护场景","prop":"sceneCode"}},[_c('el-select',{attrs:{"placeholder":"请输入"},model:{value:(_vm.addSiteForm.sceneCode),callback:function ($$v) {_vm.$set(_vm.addSiteForm, "sceneCode", $$v)},expression:"addSiteForm.sceneCode"}},[_c('el-option',{attrs:{"label":"注册","value":"100000"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"登录","value":"200000"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"修改密码","value":"300000"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"短信验证码","value":"400000"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"活动","value":"500000"}}),_vm._v(" "),_c('el-option',{attrs:{"label":"其他","value":"600000"}})],1)],1),_vm._v(" "),_c('el-form-item',{attrs:{"label":"防护请求URL","prop":"url"}},[_c('el-input',{attrs:{"placeholder":"url请以'/'开头"},model:{value:(_vm.addSiteForm.url),callback:function ($$v) {_vm.$set(_vm.addSiteForm, "url", $$v)},expression:"addSiteForm.url"}})],1)],1),_vm._v(" "),_c('span',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){_vm.addSiteDialog = false}}},[_vm._v("取 消")]),_vm._v(" "),_c('el-button',{attrs:{"type":"primary","size":"mini"},on:{"click":_vm.addSiteData}},[_vm._v("确 定")])],1)],1)],1)}
|
||
var staticRenderFns = []
|
||
var esExports = { render: render, staticRenderFns: staticRenderFns }
|
||
/* harmony default export */ var siteManagement_PreciseSet = (esExports);
|
||
// CONCATENATED MODULE: ./src/pages/siteManagement/PreciseSet.vue
|
||
function injectStyle (ssrContext) {
|
||
__webpack_require__("ufuU")
|
||
}
|
||
var normalizeComponent = __webpack_require__("VU/8")
|
||
/* script */
|
||
|
||
|
||
/* template */
|
||
|
||
/* template functional */
|
||
var __vue_template_functional__ = false
|
||
/* styles */
|
||
var __vue_styles__ = injectStyle
|
||
/* scopeId */
|
||
var __vue_scopeId__ = null
|
||
/* moduleIdentifier (server only) */
|
||
var __vue_module_identifier__ = null
|
||
var Component = normalizeComponent(
|
||
PreciseSet,
|
||
siteManagement_PreciseSet,
|
||
__vue_template_functional__,
|
||
__vue_styles__,
|
||
__vue_scopeId__,
|
||
__vue_module_identifier__
|
||
)
|
||
|
||
/* harmony default export */ var pages_siteManagement_PreciseSet = __webpack_exports__["default"] = (Component.exports);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "ufuU":
|
||
/***/ (function(module, exports) {
|
||
|
||
// removed by extract-text-webpack-plugin
|
||
|
||
/***/ })
|
||
|
||
}); |