secgateway/libs/files/lighttpd/webpages/static/js/23.65ac1798102e2b507fd1.1.4...

747 lines
23 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

webpackJsonp([23],{
/***/ "9iEY":
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ "bxb8":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/typeof.js
var helpers_typeof = __webpack_require__("pFYg");
var typeof_default = /*#__PURE__*/__webpack_require__.n(helpers_typeof);
// EXTERNAL MODULE: ./node_modules/echarts/map/js/world.js
var world = __webpack_require__("9OQl");
var world_default = /*#__PURE__*/__webpack_require__.n(world);
// EXTERNAL MODULE: ./src/components/Title.vue + 2 modules
var Title = __webpack_require__("/+Ed");
// EXTERNAL MODULE: ./src/components/Pagination.vue + 2 modules
var Pagination = __webpack_require__("cMGX");
// EXTERNAL MODULE: ./src/common/meta.js
var meta = __webpack_require__("BoBM");
// EXTERNAL MODULE: ./src/common/util.js
var util = __webpack_require__("s0MJ");
// 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/count/FullLog.vue
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FullLog = ({
components: {
Title: Title["a" /* default */],
Pagination: Pagination["a" /* default */]
},
data: function data() {
return {
/*topTitle:this.$store.state.roleAction.topTitle,
province:this.$store.state.roleAction.province,
selectAllDomain: this.$store.state.roleAction.selectAllDomain,*/
moduleTitle: '统计',
pageTitle: '全量日志',
total: 0,
pageSize: 10,
currentPage: 1,
tableData: [],
pkgName: '',
areaList: [],
areaInfo: [],
options: [],
domainId: [],
attackHostIP: '',
qgCode: this.$store.state.qgCode,
allDomainCode: 'all',
allAttackTypes: [{
name: 'web攻击防护', label: 1
}, {
name: 'CC攻击防护', label: 2
}, {
name: '数据风控', label: 5
}, {
name: '精准访问控制', label: 3
}],
attackType: [],
protectedType: {
_0: '未发现攻击',
_1: '触发Web应用攻击防护规则',
_2: '触发CC安全防护规则',
_3: '触发精准访问控制规则',
_4: '触发地区封禁防护策略',
_5: '触发数据风控防护策略'
},
pickerOptions2: {
disabledDate: function disabledDate(time) {
return time.getTime() > Date.now();
},
shortcuts: [{
text: '1小时',
onClick: function onClick(picker) {
var end = new Date();
var start = new Date();
start.setTime(start.getTime() - 3600 * 1000);
picker.$emit('pick', [start, end]);
}
}, {
text: '6小时',
onClick: function onClick(picker) {
var end = new Date();
var start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 6);
picker.$emit('pick', [start, end]);
}
}, {
text: '1天',
onClick: function onClick(picker) {
var end = new Date();
var start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
picker.$emit('pick', [start, end]);
}
}, {
text: '7天',
onClick: function onClick(picker) {
var end = new Date();
var start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}]
},
searchTimes: '',
showDetailSearch: false,
visitChart: null,
URL: {
getDomainList: '/rest/secReport/getDomainList',
getVisitData: '/rest/website/fullLog/showVisits',
getLogData: '/rest/website/fullLog/showLog',
getAreaList: '/website/rest/queryArea'
}
};
},
mounted: function mounted() {
var that = this;
if (that.roleAction.province) {
//加载省份列表
that.getProvinces();
} else {
that.getDomainList();
}
window.addEventListener('resize', function () {
that.visitChart && that.visitChart.resize();
}, false);
},
computed: {
contextPath: function contextPath() {
return this.$store.state.urlHost;
},
logTHeight: function logTHeight() {
return this.$store.state.logTHeight;
},
startTime: function startTime() {
var that = this;
return that.searchTimes ? util["a" /* default */].timestampToTime(that.searchTimes[0], 'YYYY-MM-DD HH:MM') : util["a" /* default */].timestampToTime(new Date(), 'YYYY-MM-DD') + ' 00:00';
},
endTime: function endTime() {
var that = this;
return that.searchTimes ? util["a" /* default */].timestampToTime(that.searchTimes[1], 'YYYY-MM-DD HH:MM') : util["a" /* default */].timestampToTime(new Date(), 'YYYY-MM-DD') + ' 23:59';
},
errorIP: function errorIP() {
var val = this.attackHostIP;
return val && !meta["a" /* default */].Regex.ip.test(val);
},
roleAction: function roleAction() {
return this.$store.state.roleAction;
},
myHeight: function myHeight() {
return this.$store.state.cdnConHeight;
}
},
watch: {
areaInfo: function areaInfo(val) {
var that = this;
that.proChange(val);
that.getDomainList();
},
domainId: function domainId(val) {
this.roleAction.selectAllDomain && this.selDomainChange(val);
}
},
methods: {
//省份下拉框选择全国则其他节点不可选,选择其他节点全国节点不可选
proChange: function proChange(val) {
if (val.length == 0) {
for (var i = 0; i < this.areaList.length; i++) {
if (this.areaList[i].disabled == true || this.areaList[i].disabled == undefined) {
this.areaList[i].disabled = false;
}
}
} else {
if (val.indexOf(this.qgCode) != -1) {
for (var i = 1; i < this.areaList.length; i++) {
this.areaList[i].disabled = true;
}
} else {
this.areaList[0].disabled = true;
for (var i = 1; i < this.areaList.length; i++) {
this.areaList[i].disabled = false;
}
}
}
},
//域名下拉框选择全部则其他节点不可选,选择其他节点则全部节点不可选
selDomainChange: function selDomainChange(val) {
if (val.length == 0) {
for (var i = 0; i < this.options.length; i++) {
if (this.options[i].disabled == true || this.options[i].disabled == undefined) {
this.options[i].disabled = false;
}
}
} else {
if (val.indexOf(this.allDomainCode) != -1) {
for (var i = 1; i < this.options.length; i++) {
this.options[i].disabled = true;
}
} else {
this.options[0].disabled = true;
for (var i = 1; i < this.options.length; i++) {
this.options[i].disabled = false;
}
}
}
},
//点击展开高级搜索
openHideArea: function openHideArea() {
this.showDetailSearch = !this.showDetailSearch;
},
getProvinces: function getProvinces() {
var that = this;
this.$axios({
method: 'get',
url: that.contextPath + that.URL.getAreaList + '?type=QUERY',
needInterceptors: true,
showError: true,
loader: true
}).then(function (res) {
that.areaList = res || [];
if (that.areaList.length > 0) {
that.areaInfo.push(res[0].value); //默认选择全国
for (var i = 1; i < that.areaList.length; i++) {
that.areaList[i].disabled = true;
}
}
});
},
getDomainList: function getDomainList() {
var that = this;
var formData = this.$qs.stringify({
areaCode: that.areaInfo.join(','),
name: ''
});
this.$axios({
method: 'post',
url: that.contextPath + that.URL.getDomainList,
data: formData,
needInterceptors: true,
showError: true,
loader: true
}).then(function (res) {
that.options = res || [];
that.domainId = [];
if (that.options.length > 0) {
if (that.roleAction.selectAllDomain) {
that.options.splice(0, 0, { hostname: '全部', domainId: 'all' });
that.domainId.push('all');
for (var i = 1; i < that.options.length; i++) {
that.options[i].disabled = true;
}
} else {
that.domainId.push(that.options[0].domainId);
}
that.attackHostIP = '';
that.attackType = [];
that.search();
}
});
},
getDomains: function getDomains(domain) {
if ((typeof domain === 'undefined' ? 'undefined' : typeof_default()(domain)) == 'object') {
domain = '';
}
var that = this;
var formData = this.$qs.stringify({
areaCode: that.areaInfo.join(','),
name: domain
});
this.$axios({
method: 'post',
url: that.contextPath + that.URL.getDomainList,
data: formData,
needInterceptors: true,
showError: true,
loader: true
}).then(function (res) {
that.options = res || [];
if (that.roleAction.selectAllDomain) {
if (!domain && that.options.length > 0) {
that.options.splice(0, 0, { hostname: '全部', domainId: 'all' });
that.selDomainChange(that.domainId);
} else if (that.options.length > 0 && that.domainId.indexOf(that.allDomainCode) != -1) {
for (var i = 0; i < that.options.length; i++) {
that.options[i].disabled = true;
}
}
}
});
},
initLine: function initLine() {
var that = this;
that.visitChart = this.$echarts.init(document.getElementById('visitData'));
that.visitChart.setOption(meta["a" /* default */].commonChartOption);
that.visitChart.setOption({
legend: {
data: ['总访问量', '攻击访问量'],
itemGap: 32,
top: 0,
right: 32,
itemWidth: 14,
itemHeight: 4,
icon: 'rect'
},
grid: {
top: 42,
left: 40,
right: 52,
bottom: 5
},
xAxis: {
axisLabel: {
interval: 'auto'
}
},
series: [{
name: '总访问量',
type: 'line',
smooth: true,
areaStyle: {},
itemStyle: {
normal: {
color: "#31DBC8",
lineStyle: {
color: "#31DBC8"
}
}
},
data: []
}, {
name: '攻击访问量',
type: 'line',
smooth: true,
areaStyle: {},
itemStyle: {
normal: {
color: "#F65C93",
lineStyle: {
color: "#F65C93"
}
}
},
data: []
}]
});
},
protectedAttack: function protectedAttack(val) {
return [1, 2, 3, 4, 5].filter(function (item) {
return item == val;
}).length > 0;
},
getChartData: function getChartData() {
var that = this;
that.$axios({
method: 'post',
url: that.contextPath + that.URL.getVisitData,
needInterceptors: true,
showError: true,
loader: true,
data: {
orgCodes: this.areaInfo.join(','),
domainIdSet: that.domainId.join(','),
startTime: that.startTime,
endTime: that.endTime,
hostIP: that.attackHostIP,
attackType: that.attackType.join(',')
}
}).then(function (data) {
var xAxisData = [];
var yAxisData = [];
if (data != null) {
xAxisData = data.xAxis, yAxisData = data.yAxis;
}
that.initLine();
that.visitChart.setOption({
xAxis: {
data: xAxisData
},
series: yAxisData
});
});
},
getLogData: function getLogData() {
var that = this;
that.$axios({
method: 'post',
url: that.contextPath + that.URL.getLogData,
needInterceptors: true,
showError: true,
loader: true,
data: that.$qs.stringify({
orgCodes: this.areaInfo.join(','),
domainIdSet: that.domainId.join(','),
startTime: that.startTime,
endTime: that.endTime,
hostIP: that.attackHostIP,
attackType: that.attackType.join(','),
topage: (that.currentPage || 1) - 1,
pagesize: that.pageSize || 10
})
}).then(function (result) {
if (result != null) {
that.tableData = result.data || [];
that.total = result.totalItems;
} else {
that.tableData = [];
that.total = 0;
}
}).catch(function (e) {});
},
alertErrorSearParam: function alertErrorSearParam() {
var that = this;
var message = '';
var result = false;
/*if(that.domainId.length == 0){
message = '请选择域名';
result = true;
}else */
if (that.startTime == that.endTime) {
message = '结束时间必须大于开始时间';
result = true;
} else if (that.errorIP) {
message = '攻击源IP输入有误';
result = true;
}
result && that.$alert(message, '提示', {
customClass: 'wafConfirm',
confirmButtonText: '我知道了',
type: 'warning'
});
return result;
},
sizeChange: function sizeChange(val) {
var that = this;
if (that.alertErrorSearParam()) {
return;
}
that.currentPage = 1;
that.pageSize = val;
this.getLogData();
document.getElementsByClassName('el-table__body-wrapper is-scrolling-none')[0].scrollTop = 0;
},
currentChange: function currentChange(val) {
var that = this;
if (that.alertErrorSearParam()) {
return;
}
that.currentPage = val;
this.getLogData();
document.getElementsByClassName('el-table__body-wrapper is-scrolling-none')[0].scrollTop = 0;
},
search: function search() {
var that = this;
if (that.alertErrorSearParam()) {
return;
}
that.currentPage = 1;
that.getChartData();
that.getLogData();
}
}
});
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-44e54a0d","hasScoped":true,"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/count/FullLog.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"}},[(_vm.roleAction.topTitle)?_c('el-breadcrumb-item',{staticClass:"con-ptitle",attrs:{"to":{ path: '/CDNindex' }}},[_vm._v("Web应用防火墙")]):_vm._e(),_vm._v(" "),(!_vm.roleAction.topTitle)?_c('el-breadcrumb-item',{staticClass:"con-ptitle"},[_vm._v("统计")]):_vm._e(),_vm._v(" "),_c('el-breadcrumb-item',[_vm._v("全量日志")])],1),_vm._v(" "),_c('div',{staticClass:"con-content",style:({height:_vm.myHeight})},[_c('div',{staticClass:"handle"},[(_vm.roleAction.province)?_c('span',{staticClass:"search-name"},[_vm._v("省份")]):_vm._e(),_vm._v(" "),(_vm.roleAction.province)?_c('el-select',{attrs:{"size":"small","multiple":"","collapse-tags":"","placeholder":"请选择省份"},model:{value:(_vm.areaInfo),callback:function ($$v) {_vm.areaInfo=$$v},expression:"areaInfo"}},_vm._l((_vm.areaList),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"disabled":item.disabled,"value":item.value}})}),1):_vm._e(),_vm._v(" "),_c('span',{staticClass:"search-name left-space"},[_vm._v("选择域名")]),_vm._v(" "),_c('el-select',{staticClass:"custom-multi-select",attrs:{"multiple":"","multiple-limit":35,"collapse-tags":"","filterable":"","remote":"","remote-method":_vm.getDomains,"placeholder":"请输入网站域名","size":"small","popper-class":"defaultSelect"},on:{"focus":_vm.getDomains},model:{value:(_vm.domainId),callback:function ($$v) {_vm.domainId=$$v},expression:"domainId"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.domainId,attrs:{"disabled":item.disabled,"label":item.hostname,"value":item.domainId}})}),1),_vm._v(" "),_c('span',{staticClass:"search-name left-space"},[_vm._v("查询时间")]),_vm._v(" "),_c('el-date-picker',{staticStyle:{"width":"350px"},attrs:{"type":"datetimerange","picker-options":_vm.pickerOptions2,"format":"yyyy-MM-dd HH:mm","range-separator":"~","start-placeholder":"请选择开始日期","end-placeholder":"结束日期","align":"left","size":"small"},model:{value:(_vm.searchTimes),callback:function ($$v) {_vm.searchTimes=$$v},expression:"searchTimes"}}),_vm._v(" "),_c('el-button',{attrs:{"type":"primary","size":"small"},on:{"click":_vm.search}},[_vm._v("搜索")]),_vm._v(" "),_c('div',{staticClass:"hSearch",on:{"click":_vm.openHideArea}},[_vm._v("高级搜索\n "),_c('i',{class:{'el-icon-arrow-down': !_vm.showDetailSearch, 'el-icon-arrow-up': _vm.showDetailSearch}})])],1),_vm._v(" "),(_vm.showDetailSearch)?_c('div',{staticClass:"search-hideArea"},[_c('div',{staticClass:"g-ip-wrapper"},[_c('span',{staticClass:"search-name"},[_vm._v("攻击源IP")]),_vm._v(" "),_c('el-input',{staticClass:"search-text-btn",attrs:{"placeholder":"请输入攻击源IP","size":"small"},model:{value:(_vm.attackHostIP),callback:function ($$v) {_vm.attackHostIP=$$v},expression:"attackHostIP"}})],1),_vm._v(" "),_c('div',{staticStyle:{"margin-top":"15px"}},[_c('span',{staticClass:"search-name"},[_vm._v("攻击类型")]),_vm._v(" "),_c('el-checkbox-group',{staticClass:"g-checkbox-group",model:{value:(_vm.attackType),callback:function ($$v) {_vm.attackType=$$v},expression:"attackType"}},_vm._l((_vm.allAttackTypes),function(item){return _c('el-checkbox',{key:item.label,attrs:{"label":item.label}},[_vm._v(_vm._s(item.name))])}),1)],1)]):_vm._e(),_vm._v(" "),_vm._m(0),_vm._v(" "),_c('div',{staticClass:"table-area"},[_vm._m(1),_vm._v(" "),_c('el-table',{ref:"multipleTable",staticClass:"contable",staticStyle:{"width":"100%","minHeight":"500px"},attrs:{"border":"","height":_vm.logTHeight,"data":_vm.tableData,"tooltip-effect":"dark"}},[_c('el-table-column',{attrs:{"prop":"timestamp","label":"访问时间","min-width":"140"}}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"hostIP","label":"来源IP","min-width":"120"}}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"hostName","label":"访问域名"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.hostName}},[_vm._v("\n "+_vm._s(scope.row.hostName)+"\n ")])]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"reqContent","label":"请求内容"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row.httpMethod))]),_vm._v(" "),_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.requestUri}},[_vm._v(_vm._s(scope.row.requestUri))])]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"reqHeader","label":"请求主要头部字段","min-width":"250"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.cookie}},[_c('span',{staticStyle:{"color":"#FD9A46"}},[_vm._v(_vm._s('Cookie:'))]),_vm._v(" "+_vm._s(scope.row.cookie))]),_vm._v(" "),_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.referer}},[_c('span',{staticStyle:{"color":"#FD9A46"}},[_vm._v(_vm._s('Referer:'))]),_vm._v(" "+_vm._s(scope.row.referer))]),_vm._v(" "),_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.userAgent}},[_c('span',{staticStyle:{"color":"#FD9A46"}},[_vm._v(_vm._s('User-Agent:'))]),_vm._v(" "+_vm._s(scope.row.userAgent))]),_vm._v(" "),_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.xForwardedFor}},[_c('span',{staticStyle:{"color":"#FD9A46"}},[_vm._v(_vm._s('X-Forwarded-For:'))]),_vm._v(" "+_vm._s(scope.row.xForwardedFor))]),_vm._v(" "),_c('div',{staticClass:"rowBreak",attrs:{"title":scope.row.argsPost}},[_c('span',{staticStyle:{"color":"#FD9A46"}},[_vm._v(_vm._s('Args-Post:'))]),_vm._v(" "+_vm._s(scope.row.argsPost))])]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"protectedType","label":"防护状态"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.protectedAttack(scope.row.attackType))?_c('div',{staticClass:"g-protected-icon-wrapper"},[(scope.row.status == '405')?_c('div',[_c('i',{staticClass:"el-icon-remove-outline"})]):_c('div',{staticClass:"triangle-up"}),_vm._v("\n "+_vm._s(_vm.protectedType['_'+ scope.row.attackType])+"\n ")]):_c('div',[_c('span',[_vm._v("-")])])]}}])}),_vm._v(" "),_c('el-table-column',{attrs:{"prop":"status","label":"返回码","min-width":"60"}})],1)],1),_vm._v(" "),_c('Pagination',{attrs:{"total":_vm.total,"pageSize":_vm.pageSize,"currentPage":_vm.currentPage},on:{"sizeChange":_vm.sizeChange,"currentChange":_vm.currentChange}})],1)],1)}
var staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:"con_label"},[_c('div',{staticClass:"frontTag"}),_vm._v("业务访问量")]),_vm._v(" "),_c('div',{staticClass:"con-horizontal-pic",attrs:{"id":"visitData"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"con_label"},[_c('div',{staticClass:"frontTag"}),_vm._v("访问日志(数据具有一定的延迟性,延迟时间一般<=15分钟")])}]
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ var count_FullLog = (esExports);
// CONCATENATED MODULE: ./src/pages/count/FullLog.vue
function injectStyle (ssrContext) {
__webpack_require__("9iEY")
}
var normalizeComponent = __webpack_require__("VU/8")
/* script */
/* template */
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-44e54a0d"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
FullLog,
count_FullLog,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
/* harmony default export */ var pages_count_FullLog = __webpack_exports__["default"] = (Component.exports);
/***/ })
});