1 Commits

Author SHA1 Message Date
段冬梅
bb7197f098 20190610之前部署的sql记录 2019-07-03 15:01:25 +08:00
69 changed files with 1265 additions and 7097 deletions

View File

@@ -1 +1,3 @@
NTC通用分支 610功能升级
系统需要支持对 生效中的配置 进行修改的功能;
统计的时间修改为一个月,性能是否可以;

View File

@@ -1,160 +0,0 @@
package com.nis.domain.log;
import com.nis.util.excel.ExcelField;
/**
*
*文件离线扫描结果 实体类
*
*/
public class NtcHttpObjScanResultLog extends BaseLogEntity<NtcHttpObjScanResultLog> {
private static final long serialVersionUID = -7697668215327123848L;
@ExcelField(title = "URL", sort = 8)
private String url;
@ExcelField(title = "req_hdr_key", sort = 9)
private String reqHdrKey;// 请求头转储文件key
@ExcelField(title = "req_hdr_file", sort = 10)
private String reqHdrFile;
@ExcelField(title = "req_body_key", sort = 11)
private String reqBodyKey;// 请求体转储文件key
@ExcelField(title = "req_body_file", sort = 12)
private String reqBodyFile;
@ExcelField(title = "res_hdr_key", sort = 13)
private String resHdrKey;// 应答头转储文件key
@ExcelField(title = "res_hdr_file", sort = 14)
private String resHdrFile;
@ExcelField(title = "res_body_key", sort = 15)
private String resBodyKey;// 应答体转储文件key
@ExcelField(title = "res_body_file", sort = 16)
private String resBodyFile;
@ExcelField(title = "topic_name", sort = 16)
private String topicName;//原始消息所属的topic
@ExcelField(title = "malware_id", sort = 16)
private Integer malwareId;//恶意文件命中病毒ID
@ExcelField(title = "malware_type", sort = 16)
private String malwareType;//恶意病毒类型
@ExcelField(title = "malware_name", sort = 16)
private String malwareName;//恶意病毒名称
public String getReqHdrFile() {
return reqHdrFile;
}
public void setReqHdrFile(String reqHdrFile) {
this.reqHdrFile = reqHdrFile;
}
public String getReqBodyFile() {
return reqBodyFile;
}
public void setReqBodyFile(String reqBodyFile) {
this.reqBodyFile = reqBodyFile;
}
public String getResHdrFile() {
return resHdrFile;
}
public void setResHdrFile(String resHdrFile) {
this.resHdrFile = resHdrFile;
}
public String getResBodyFile() {
return resBodyFile;
}
public void setResBodyFile(String resBodyFile) {
this.resBodyFile = resBodyFile;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getReqHdrKey() {
return reqHdrKey;
}
public void setReqHdrKey(String reqHdrKey) {
this.reqHdrKey = reqHdrKey;
}
public String getReqBodyKey() {
return reqBodyKey;
}
public void setReqBodyKey(String reqBodyKey) {
this.reqBodyKey = reqBodyKey;
}
public String getResHdrKey() {
return resHdrKey;
}
public void setResHdrKey(String resHdrKey) {
this.resHdrKey = resHdrKey;
}
public String getResBodyKey() {
return resBodyKey;
}
public void setResBodyKey(String resBodyKey) {
this.resBodyKey = resBodyKey;
}
public String getTopicName() {
return topicName;
}
public void setTopicName(String topicName) {
this.topicName = topicName;
}
public Integer getMalwareId() {
return malwareId;
}
public void setMalwareId(Integer malwareId) {
this.malwareId = malwareId;
}
public String getMalwareType() {
return malwareType;
}
public void setMalwareType(String malwareType) {
this.malwareType = malwareType;
}
public String getMalwareName() {
return malwareName;
}
public void setMalwareName(String malwareName) {
this.malwareName = malwareName;
}
}

View File

@@ -795,9 +795,4 @@ public final class Constants {
* 管理员用户预警查询服务配置总量接口 * 管理员用户预警查询服务配置总量接口
*/ */
public static final String CONFIG_BY_SERVICE = Configurations.getStringProperty("getConfigByService",""); public static final String CONFIG_BY_SERVICE = Configurations.getStringProperty("getConfigByService","");
/**
* 文件扫描结果接口
*/
public static final String NTC_HTTP_OBJSCAN_RESULT_LOGS = Configurations.getStringProperty("ntcHttpObjscanResultLogs","");
} }

View File

@@ -295,7 +295,7 @@ public class ExportExcel {
} }
} }
/*** HTTP(s)替换 搜索区域 ***/ /*** HTTP(s)替换 搜索区域 ***/
if(("replace_zone".equals(headerStr)) && (region.getFunctionId().equals(209) || "80".equals(region.getAction()+""))){ if(("replace_zone".equals(headerStr)) && (region.getFunctionId().equals(209))){
commentStr=""; commentStr="";
List<SysDataDictionaryItem> dict=DictUtils.getDictList("CONTROL_REPLACE_ZONE"); List<SysDataDictionaryItem> dict=DictUtils.getDictList("CONTROL_REPLACE_ZONE");
if(dict !=null && dict.size()>0){ if(dict !=null && dict.size()>0){

View File

@@ -1,175 +0,0 @@
package com.nis.web.controller.log.ntc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.NtcHttpObjScanResultLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.LogUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/log/ntc/httpObjScanResult")
public class HttpObjScanResultLogController extends BaseController {
@RequestMapping(value = { "list", "" })
public String list(@ModelAttribute("log") NtcHttpObjScanResultLog log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcHttpObjScanResultLog> page = new PageLog<NtcHttpObjScanResultLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
if (StringUtils.isNotBlank(log.getUrl())) {
String httpurl = StringEscapeUtils.unescapeHtml(log.getUrl());
params.put("searchUrl", httpurl);
}
initLogSearchValue(log, params);
if (StringUtils.isNotBlank(log.getdPort())) {
params.put("searchDPort", log.getdPort());
}
if (StringUtils.isNotBlank(log.getsPort())) {
params.put("searchSPort", log.getsPort());
}
if (null != log.getDeviceId()) {
params.put("searchDeviceId", log.getDeviceId());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_OBJSCAN_RESULT_LOGS;
String recv = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcHttpObjScanResultLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcHttpObjScanResultLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcHttpObjScanResultLog> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
List<NtcHttpObjScanResultLog> list = page.getList();
for (NtcHttpObjScanResultLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
LogUtils.saveLog(request, null, e, null);
}
return "/log/ntc/httpObjScanResultList";
}
// 文件离线扫描结果 导出
@RequestMapping(value = "exportHttpObjScanResult")
public void exportHttpObjScanResult(@ModelAttribute("log") NtcHttpObjScanResultLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
try {
// export data info
List<String> titleList = new ArrayList<String>();
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
Map<String, List> dataMap = new HashMap<String, List>();
Map<String, String> noExportMap = new HashMap<String, String>();
// ---------------------------
PageLog<NtcHttpObjScanResultLog> page = new PageLog<NtcHttpObjScanResultLog>(request, response);
page.setPageNo(1);
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
if (StringUtils.isNotBlank(log.getUrl())) {
String httpurl = StringEscapeUtils.unescapeHtml(log.getUrl());
params.put("searchUrl", httpurl);
}
initLogSearchValue(log, params);
if (StringUtils.isNotBlank(log.getdPort())) {
params.put("searchDport", log.getdPort());
}
if (StringUtils.isNotBlank(log.getsPort())) {
params.put("searchSport", log.getsPort());
}
if (null != log.getDeviceId()) {
params.put("searchDeviceId", log.getDeviceId());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_OBJSCAN_RESULT_LOGS;
String recv = HttpClientUtil.getMsg(url, params, request);
List<NtcHttpObjScanResultLog> list = new ArrayList<NtcHttpObjScanResultLog>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcHttpObjScanResultLog> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcHttpObjScanResultLog>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcHttpObjScanResultLog> data = fromJson.getData();
list = data.getList();
}
}
for (NtcHttpObjScanResultLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l, serviceList);
}
titleList.add("http_obj_scan_result");
classMap.put("http_obj_scan_result", NtcHttpObjScanResultLog.class);
SysUser user = UserUtils.getUser();
if (!user.isAdmin()) {
hColumns += ",scene_file,";
} else {
hColumns += ",";
}
String cfgIndexInfoNoExport = ",action,cfg_id,"
+ hColumns;
noExportMap.put("http_obj_scan_result", cfgIndexInfoNoExport);
dataMap.put("http_obj_scan_result", list);
String timeRange = initLogMap(log, "http_obj_scan_result");
noExportMap.put("timeRange", timeRange);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "http_obj_scan_result", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "http_obj_scan_result", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("http_obj_scan_result export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
LogUtils.saveLog(request, null, e, null);
}
}
}

View File

@@ -97,7 +97,7 @@ public class MailRecordLogController extends BaseController {
@RequestMapping(value = "exportMail") @RequestMapping(value = "exportMail")
public void exportMail(@ModelAttribute("log") NtcMailLog log, Model model, String hColumns, String type, public void exportMail(@ModelAttribute("log") NtcMailLog log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
// System.out.println("进来了Mail泛收"); System.out.println("进来了Mail泛收");
try { try {
// export data info // export data info
List<String> titleList = new ArrayList<String>(); List<String> titleList = new ArrayList<String>();

View File

@@ -226,6 +226,12 @@
<if test="action != null"> <if test="action != null">
AND a.ACTION=#{action,jdbcType=INTEGER} AND a.ACTION=#{action,jdbcType=INTEGER}
</if> </if>
<if test="isValid != null">
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
</if>
<if test="isValid == null">
AND a.IS_VALID != -1
</if>
<choose> <choose>
<!-- 判断是否批量操作 --> <!-- 判断是否批量操作 -->
<when test="batchValidValue != null and batchValidValue != ''"> <when test="batchValidValue != null and batchValidValue != ''">

View File

@@ -699,7 +699,7 @@ group_name=Group Name
default_group=Default Group default_group=Default Group
policy_group_manage=Policy Group policy_group_manage=Policy Group
ip_Reuse_policy=IP Reuse Policy ip_Reuse_policy=IP Reuse Policy
target_ip_protect=Anti DDoS target_ip_protect=Anti DDOS
ratelimit_config=Rate Limit ratelimit_config=Rate Limit
ip_ratelimit=IP Rate Limit ip_ratelimit=IP Rate Limit
domain_ratelimit=Website Rate Limit domain_ratelimit=Website Rate Limit
@@ -1527,12 +1527,4 @@ url_group_manage=URL Group Manage
range_cross=Found intersections between Server IP address and Client IP address range_cross=Found intersections between Server IP address and Client IP address
app_ip_correlation=APP IP Correlation app_ip_correlation=APP IP Correlation
public_private_file_error=Public-private key mismatch public_private_file_error=Public-private key mismatch
https_url_format_tip=URL(http[s]://xxx.xx) https_url_format_tip=URL(http[s]://xxx.xx)
http_obj_scan_result=File Scan
topic_name=TOPIC NAME
malware_id=MALWARE ID
malware_type=MALWARE TYPE
malware_name=MALWARE NAME
ddos_log=Attacks
other_system_ddos_log_menu=Attack Chain
other_system_ddos_report_menu=Attack Posture

View File

@@ -547,7 +547,7 @@ ftp_ip=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
dns_ip=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f DNS IP dns_ip=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f DNS IP
dns_domain=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043c\u0435\u043d\u0430 DNS dns_domain=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043c\u0435\u043d\u0430 DNS
action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
has_prohibit_delete=\u807d\u890c\u82af\u8c22\u891c\u6cfb\u82af \u890d\u5199\u90aa\u8c22\u891f\u68b0\u890c \u85aa\u68b0\u87f9\u90aa\u6cfb\u82af\u85aa\u8914\u68b0\u85aa\u85aa\u8918\u68b0 \u85aa\u90aa\u890b\u890c\u8909\u82af\u6cc4\u6cfb\u61c8 \u61c8 \u82af\u890c\u5c51\u68b0\u85aa\u891f\u68b0\u890c \u950c\u8909\u82af\u80c1\u68b0\u8909\u6cfb\u890d \u6cfb\u82af\u85aa\u890e\u61c8\u8c10\u890d\u8909\u90aa\u8911\u61c8\u61c8 has_prohibit_delete= только удаляет незаконченные настройки и отменяет проверку конфигурации
has_prohibit_nopass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430 has_prohibit_nopass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430
has_prohibit_pass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430 has_prohibit_pass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430
multiple_keywords_tip=\u041c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432,\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435 \u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 "Enter". multiple_keywords_tip=\u041c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432,\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435 \u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 "Enter".
@@ -699,7 +699,7 @@ group_name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u
default_group=\u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e default_group=\u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
policy_group_manage=\u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e\u043b\u0438\u0442\u0438\u043a policy_group_manage=\u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e\u043b\u0438\u0442\u0438\u043a
ip_Reuse_policy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f IP ip_Reuse_policy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f IP
target_ip_protect=\u0410\u043d\u0442\u0438-DDoS target_ip_protect=\u0410\u043d\u0442\u0438-DDOS
ratelimit_config=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 ratelimit_config=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438
ip_ratelimit=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 IP ip_ratelimit=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 IP
domain_ratelimit=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u0435\u0431-\u0441\u0441\u0430\u0439\u0442\u0430 domain_ratelimit=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u0435\u0431-\u0441\u0441\u0430\u0439\u0442\u0430
@@ -1513,7 +1513,7 @@ admin_user_warn=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u04
interface_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 interface_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430
service_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0421\u0435\u0440\u0432\u0438\u0441\u0430 service_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0421\u0435\u0440\u0432\u0438\u0441\u0430
none_file_tip=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b%21 none_file_tip=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b%21
the_same_ip_type=IP-\u0430\u0434\u0440\u0435\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f. the_same_ip_type=IP-\u0430\u0434\u0440\u0435\u0441 \u043A\u043B\u0438\u0435\u043D\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u043C\u0435\u0442\u044C \u043E\u0434\u0438\u043D \u0438 \u0442\u043E\u0442 \u0436\u0435 \u0442\u0438\u043F.
src_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u041a\u043b\u0438\u0435\u043d\u0442\u0430 src_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u041a\u043b\u0438\u0435\u043d\u0442\u0430
dest_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u0421\u0435\u0440\u0432\u0435\u0440\u0430 dest_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u0421\u0435\u0440\u0432\u0435\u0440\u0430
src_port_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 \u041f\u043e\u0440\u0442\u0430 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 src_port_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 \u041f\u043e\u0440\u0442\u0430 \u041a\u043b\u0438\u0435\u043d\u0442\u0430
@@ -1530,12 +1530,4 @@ url_group_manage=URL Group Manage
range_cross=\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 range_cross=\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430
app_ip_correlation=\u041a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f ip-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 app_ip_correlation=\u041a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f ip-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
public_private_file_error=\u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e-\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. public_private_file_error=\u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e-\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.
https_url_format_tip=URL(http[s]://xxx.xx) https_url_format_tip=URL(http[s]://xxx.xx)
http_obj_scan_result=File Scan
topic_name=TOPIC NAME
malware_id=MALWARE ID
malware_type=MALWARE TYPE
malware_name=MALWARE NAME
ddos_log=\u0430\u0442\u0430\u043a\u0438
other_system_ddos_log_menu=\u0414\u0435\u0442\u0430\u043b\u0438 \u0426\u0435\u043f\u043e\u0447\u043a\u0438
other_system_ddos_report_menu=\u0440\u0435\u0436\u0438\u043c \u0430\u0442\u0430\u043a\u0438

View File

@@ -167,7 +167,7 @@ realtime_report=\u5b9e\u65f6\u62a5\u8868
protocol_and_app=\u534f\u8bae\u53ca\u5e94\u7528 protocol_and_app=\u534f\u8bae\u53ca\u5e94\u7528
text_content_monitor=\u6587\u672c\u5185\u5bb9\u76d1\u7ba1 text_content_monitor=\u6587\u672c\u5185\u5bb9\u76d1\u7ba1
multimedia=\u591a\u5a92\u4f53 multimedia=\u591a\u5a92\u4f53
ddos_system=\u6297DDoS\u653b\u51fb\u7cfb\u7edf ddos_system=\u6297DDOS\u653b\u51fb\u7cfb\u7edf
ip_reuse_system=IP\u590d\u7528 ip_reuse_system=IP\u590d\u7528
service_dict_id=\u5b57\u5178ID service_dict_id=\u5b57\u5178ID
item_type=\u6570\u636e\u7c7b\u578b item_type=\u6570\u636e\u7c7b\u578b
@@ -698,7 +698,7 @@ group_name=\u5206\u7ec4\u540d\u79f0
default_group=\u7f3a\u7701\u7ec4 default_group=\u7f3a\u7701\u7ec4
policy_group_manage=\u7b56\u7565\u5206\u7ec4 policy_group_manage=\u7b56\u7565\u5206\u7ec4
ratelimit_config=\u9650\u901f ratelimit_config=\u9650\u901f
target_ip_protect=\u6297DDoS\u653b\u51fb target_ip_protect=\u6297DDOS\u653b\u51fb
ip_ratelimit=IP\u9650\u6d41 ip_ratelimit=IP\u9650\u6d41
domain_ratelimit=\u57df\u540d\u9650\u6d41 domain_ratelimit=\u57df\u540d\u9650\u6d41
ratelimit=\u4e22\u5305\u7387 ratelimit=\u4e22\u5305\u7387
@@ -706,7 +706,7 @@ ir_type=\u590d\u7528\u7c7b\u578b
dns_strategy_id=DNS\u7b56\u7565ID dns_strategy_id=DNS\u7b56\u7565ID
no_strategy=\u9ed8\u8ba4\u7b56\u7565 no_strategy=\u9ed8\u8ba4\u7b56\u7565
domain=\u57df\u540d domain=\u57df\u540d
app_ip_config=APP\u534f\u8baeIP\u914d\u7f6e app_ip_config=APP\u534F\u8BAEIP\u914D\u7F6E
bytes=\u5b57\u8282 bytes=\u5b57\u8282
app_http_config=APP HTTP\u7279\u5f81 app_http_config=APP HTTP\u7279\u5f81
app_domain_config=APP\u57df\u540d\u7279\u5f81 app_domain_config=APP\u57df\u540d\u7279\u5f81
@@ -1134,10 +1134,10 @@ label_proto_source=\u534f\u8bae\u6765\u6e90
label_behav_source=\u884c\u4e3a\u6765\u6e90 label_behav_source=\u884c\u4e3a\u6765\u6e90
label_app_source=\u5e94\u7528\u6765\u6e90 label_app_source=\u5e94\u7528\u6765\u6e90
packet=\u5305 packet=\u5305
stream=\u6d41 stream=\u6D41
protocol_menu=Protocol protocol_menu=Protocol
advanced=Advanced advanced=Advanced
protocol_identify=\u57fa\u7840\u534f\u8bae protocol_identify=\u57FA\u7840\u534F\u8BAE
MM_FILE_DIGEST=\u6587\u4ef6\u6458\u8981 MM_FILE_DIGEST=\u6587\u4ef6\u6458\u8981
NTC_ASN_IP=ASN NTC_ASN_IP=ASN
NTC_STREAMING_MEDIA_URL=URL NTC_STREAMING_MEDIA_URL=URL
@@ -1255,9 +1255,9 @@ user_behavior_data=\u7528\u6237\u7edf\u8ba1
ip_behavior_data=\u7528\u6237IP\u7edf\u8ba1 ip_behavior_data=\u7528\u6237IP\u7edf\u8ba1
not_valid_domain=%s\u4e0d\u662f\u4e00\u4e2a\u5408\u6cd5\u57df\u540d not_valid_domain=%s\u4e0d\u662f\u4e00\u4e2a\u5408\u6cd5\u57df\u540d
cert_not_match_domain=\u57df\u540d\u4e0e\u6240\u9009\u8bc1\u4e66\u4fe1\u606f\u4e0d\u7b26\u5408\uff01 cert_not_match_domain=\u57df\u540d\u4e0e\u6240\u9009\u8bc1\u4e66\u4fe1\u606f\u4e0d\u7b26\u5408\uff01
certificate_file_error=\u8bc1\u4e66\u683c\u5f0f\u9519\u8bef certificate_file_error=\u8BC1\u4E66\u683C\u5F0F\u9519\u8BEF
PXY_OBJ_TRUSTED_CA_CERT=\u53ef\u4fe1\u8bc1\u4e66 PXY_OBJ_TRUSTED_CA_CERT=\u53ef\u4fe1\u8bc1\u4e66
crl_file_error=CRL\u6587\u4ef6\u683c\u5f0f\u9519\u8bef crl_file_error=CRL\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF
crl_issuer_error=crl\u6587\u4ef6\u7684issuer\u4e0e\u8bc1\u4e66\u6587\u4ef6\u7684issuer\u4e0d\u5339\u914d crl_issuer_error=crl\u6587\u4ef6\u7684issuer\u4e0e\u8bc1\u4e66\u6587\u4ef6\u7684issuer\u4e0d\u5339\u914d
cert_name=\u8bc1\u4e66\u540d\u79f0 cert_name=\u8bc1\u4e66\u540d\u79f0
add_crl_file=Add CRL File add_crl_file=Add CRL File
@@ -1508,14 +1508,14 @@ effective=\u6709\u6548
admin_user_warn=\u7ba1\u7406\u5458\u7528\u6237\u9884\u8b66 admin_user_warn=\u7ba1\u7406\u5458\u7528\u6237\u9884\u8b66
interface_total=\u754c\u9762\u603b\u91cf interface_total=\u754c\u9762\u603b\u91cf
service_total=\u670d\u52a1\u603b\u91cf service_total=\u670d\u52a1\u603b\u91cf
unapproved_all=\u5ba1\u6838\u4e0d\u901a\u8fc7\u6240\u6709\u914d\u7f6e! unapproved_all=\u5ba1\u6838\u4E0D\u901a\u8fc7\u6240\u6709\u914d\u7f6e!
delete_all=\u5220\u9664\u6240\u6709\u914d\u7f6e! delete_all=\u5220\u9664\u6240\u6709\u914d\u7f6e!
none_file_tip=\u8bf7\u9009\u62e9\u6587\u4ef6! none_file_tip=\u8BF7\u9009\u62E9\u6587\u4EF6!
the_same_ip_type=\u6e90IP\u4e0e\u76ee\u7684IP\u7684IP\u7c7b\u578b\u5fc5\u987b\u76f8\u540c the_same_ip_type=\u6e90IP\u4e0e\u76ee\u7684IP\u7684IP\u7c7b\u578b\u5fc5\u987b\u76f8\u540c
src_ip_pattern=\u6e90IP\u683c\u5f0f src_ip_pattern=\u6E90IP\u683C\u5F0F
dest_ip_pattern=\u76ee\u7684IP\u683c\u5f0f dest_ip_pattern=\u76EE\u7684IP\u683C\u5F0F
src_port_pattern=\u6e90\u7aef\u53e3\u683c\u5f0f src_port_pattern=\u6E90\u7AEF\u53E3\u683C\u5F0F
dest_port_pattern=\u76ee\u7684\u7aef\u53e3\u683c\u5f0f dest_port_pattern=\u76EE\u7684\u7AEF\u53E3\u683C\u5F0F
url_group_configuration=URL \u5206\u7ec4\u914d\u7f6e url_group_configuration=URL \u5206\u7ec4\u914d\u7f6e
dns_keyword_group_configuration=DNS \u5173\u952e\u5b57\u5206\u7ec4\u914d\u7f6e dns_keyword_group_configuration=DNS \u5173\u952e\u5b57\u5206\u7ec4\u914d\u7f6e
app_ip_correlation=APP IP \u901a\u8054 app_ip_correlation=APP IP \u901a\u8054
@@ -1525,15 +1525,7 @@ common_group=Common \u5206\u7ec4
dns_keyword_group_manage=DNS \u5173\u952e\u5b57\u5206\u7ec4\u7ba1\u7406 dns_keyword_group_manage=DNS \u5173\u952e\u5b57\u5206\u7ec4\u7ba1\u7406
old_asn_group_manage=ASN \u5206\u7ec4 old_asn_group_manage=ASN \u5206\u7ec4
url_group_manage=URL \u5206\u7ec4 \u7ba1\u7406 url_group_manage=URL \u5206\u7ec4 \u7ba1\u7406
range_cross=\u6e90IP\u4e0e\u76ee\u7684IP\u8303\u56f4\u6709\u4ea4\u53c9 range_cross=\u6E90IP\u4E0E\u76EE\u7684IP\u8303\u56F4\u6709\u4EA4\u53C9
app_ip_correlation=APP\u5173\u8054\u7279\u5f81IP\u914d\u7f6e app_ip_correlation=APP\u5173\u8054\u7279\u5F81IP\u914D\u7F6E
public_private_file_error=\u516c\u79c1\u94a5\u8bc1\u4e66\u4e0d\u5339\u914d public_private_file_error=\u516C\u79C1\u94A5\u8BC1\u4E66\u4E0D\u5339\u914D
https_url_format_tip=URL(http[s]://xxx.xx) https_url_format_tip=URL(http[s]://xxx.xx)
http_obj_scan_result=\u6587\u4ef6\u626b\u63cf
topic_name=\u4e3b\u9898\u540d\u79f0
malware_id=\u6076\u610f\u75c5\u6bd2ID
malware_type=\u6076\u610f\u75c5\u6bd2\u7c7b\u578b
malware_name=\u6076\u610f\u75c5\u6bd2\u540d\u79f0
ddos_log=\u653b\u51fb
other_system_ddos_log_menu=\u653b\u51fb\u94fe
other_system_ddos_report_menu=\u653b\u51fb\u6001\u52bf

View File

@@ -340,12 +340,12 @@ mm_logo_detection_region=MM_LOGO_DETECTION
mm_face_recognization_region=MM_FACE_RECOGNIZATION mm_face_recognization_region=MM_FACE_RECOGNIZATION
#\u6837\u4f8b\u6587\u4ef6\u751f\u6210\u7a0b\u5e8f #\u6837\u4f8b\u6587\u4ef6\u751f\u6210\u7a0b\u5e8f
audio_sample_create_proc=/home/mesasoft/av_feature_gen/audio_convert_proc audio_sample_create_proc=/home/ceiec/av_feature_gen/audio_convert_proc
video_sample_create_proc=/home/mesasoft/av_feature_gen/extract_frame_feature video_sample_create_proc=/home/ceiec/av_feature_gen/extract_frame_feature
picture_sample_create_proc=/home/mesasoft/av_feature_gen/picture_convert_proc picture_sample_create_proc=/home/ceiec/av_feature_gen/picture_convert_proc
speaker_sample_create_proc=java -jar /home/sampleTest.jar speaker_sample_create_proc=java -jar /home/sampleTest.jar
logo_sample_create_proc=/home/mesasoft/av_feature_gen/logo_convert_proc logo_sample_create_proc=/home/ceiec/av_feature_gen/logo_convert_proc
face_sample_create_proc=/home/mesasoft/av_feature_gen/face_convert_proc face_sample_create_proc=/home/ceiec/av_feature_gen/face_convert_proc
audio_sample_proc_param_is_quotation=true audio_sample_proc_param_is_quotation=true
video_sample_proc_param_is_quotation=true video_sample_proc_param_is_quotation=true
picture_sample_proc_param_is_quotation=true picture_sample_proc_param_is_quotation=true
@@ -427,7 +427,7 @@ mmFileDigestLog=v1/mmFileDigestLogs
ntcStreamMediaLog=v1/ntcStreamMediaLogs ntcStreamMediaLog=v1/ntcStreamMediaLogs
#\u97f3\u89c6\u9891\u6837\u4f8b\u9650\u5236\u65f6\u957f\uff0c\u5355\u4f4d\u79d2 #\u97f3\u89c6\u9891\u6837\u4f8b\u9650\u5236\u65f6\u957f\uff0c\u5355\u4f4d\u79d2
av_duration_limit=120 av_duration_limit=120
video_to_picture_proc=/home/mesasoft/av_feature_gen/save_video_frame video_to_picture_proc=/home/ceiec/av_feature_gen/save_video_frame
#\u8bc1\u4e66\u6587\u4ef6\u8def\u5f84 #\u8bc1\u4e66\u6587\u4ef6\u8def\u5f84
cert_file_path=/home/cert/ cert_file_path=/home/cert/
#\u8bc1\u4e66\u6821\u9a8c\u5de5\u5177\u540d\u79f0 #\u8bc1\u4e66\u6821\u9a8c\u5de5\u5177\u540d\u79f0
@@ -520,6 +520,4 @@ trafficAppBpsTrend=v1/trafficAppBpsTrend
cgiError=cannot connect to vpnserver,Connection to the server has failed,Specified object can not be found,Too many users,User already exists,Too many created users,The destination server is not a VPN server,The connection has been interrupted, cgiError=cannot connect to vpnserver,Connection to the server has failed,Specified object can not be found,Too many users,User already exists,Too many created users,The destination server is not a VPN server,The connection has been interrupted,
#\u83b7\u53d6\u670d\u52a1\u914d\u7f6e\u603b\u91cf\u63a5\u53e3 #\u83b7\u53d6\u670d\u52a1\u914d\u7f6e\u603b\u91cf\u63a5\u53e3
getConfigByService=v1/getConfigByService getConfigByService=v1/getConfigByService
delAllCfg=v1/delAllConfig delAllCfg=v1/delAllConfig
#\u6587\u4ef6\u626b\u63cf\u63a5\u53e3
ntcHttpObjscanResultLogs=v1/ntcHttpObjscanResultLogs

View File

@@ -1,3 +0,0 @@
# 新增日志检索->流量日志->文件扫描结果
INSERT INTO `sys_menu` (`parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('1217', '0,1,152,1217,', 'http_obj_scan_result', '文件扫描', '200', '/log/ntc/httpObjScanResult', '', '', '1', '', '1', '2019-07-04 10:34:26', '1', '2019-07-04 10:34:26', '', '1', NULL, '0', '0', NULL);

View File

@@ -0,0 +1,612 @@
-- ----------------------------
-- Table structure for help_document
-- ----------------------------
DROP TABLE IF EXISTS `help_document`;
CREATE TABLE `help_document` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` varchar(100) DEFAULT '',
`file_comment` text DEFAULT NULL,
`back_file_comment` text DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `INDEX_FILE_NAME` (`file_name`)
) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of help_document
-- ----------------------------
INSERT INTO `help_document` VALUES ('1', 'cache_policy.md', 'Cache Policy
On National Proxy System, Individual Cache policy rules determine
whether to cache or not based on traffic attributes, such as URL and
Cookies. For cache action, the optimization parameters are:
*A Cache key* - is a unique string that lets the National Proxy System
look for web content when requests hit them. It<49><74>s made up of a hostname,
path, and cookie parts. By default, the Proxy use the entire URL as the
cache key. Selecting the correct cache key will ensure maximum cache
footprint and increase cache hits.
*Ignore Query String in URL* - in case the query strings doesn<73><6E>t
actually indicate that the object need to be different then you could
EXCLUDE them from the cache key. For example, after ignoring <20><>sqp<71><70> and
<EFBFBD><EFBFBD>rs<EFBFBD><EFBFBD> of URL: <20><>https://example.com/pic.jpg?~~sqp=UAAI&rs=AOn4~~<7E><>.
*Include Cookie Values* - in case the server send different content for
the same URL based on the cookie value, you can include that cookie
value as a part of cache key. For example, the server may set a cookie
at the client called "prefLang=ru" to record user preferred language,
you could add "prefLang" to distinguish different web content.
*Disable Revalidate* - is an ON-OFF switch. The pragma-no-cache header
in a client<6E><74>s request causes the proxy to re-fetch the entire object
from the original server, even if the cached copy of the object is
fresh. By default this option is switch OFF, which means a client<6E><74>s
non-conditional request results in a conditional GET request sent to the
original server if the object is already in cache. The conditional
request allows the original server to return the 304 Not Modified
response, if the content in cache is still fresh. Thereby, the
server-side bandwidth and latency consumed are lesser as the full
content is not retrieved again from the original server.
*Cache Dynamic Content* - is an ON-OFF switch. A URL is considered
dynamic if it ends in <20><>.asp(x)<29><> or contains a question mark (?), a
semicolon (;), or <20><>cgi<67><69>. *Ignore Query String* overrides this option
(switch on).
*Cache Cookied Content* - is an ON-OFF switch. By default, the Proxy
does NOT cache cookied content of any type. If this option is switch on,
the system cache all cookied content except HTML.
*Ignore Request no-cache Headers* - is an ON-OFF switch. By default, the
proxy strictly observes client Cache-Control: no-cache directives. As
known as:
i. Authorization
ii. WWW-Authenticate
iii. Cache-Control: no-store
iv. Cache-Control: no-cache
If a requested object contains a no-cache header, then proxy forwards
the request to the origin server even if it has a fresh copy in cache.
You can configure proxy to ignore client no-cache directives such that
it ignores no-cache headers from client requests and serves the object
from its cache.
*Ignore Response no-cache Headers* - is an ON-OFF switch. By default, a
response from an origin server with a no-cache header is not stored in
the cache. As known as:
i. Cache-Control: no-store
ii. Cache-Control: private
iii. Set-Cookie
iv. Cache-Control: no-cache
v. WWW-Authenticate
vi. Expires header with a value of 0 (zero) or a past date.
If you configure proxy to ignore no-cache headers, then proxy also
ignores no-store headers. The default behavior of observing no-cache
directives is appropriate in most cases.
*Forcing Object Caching* - is an ON-OFF switch. You can force Proxy to
cache specific URLs (including dynamic URLs) for a specified duration,
regardless of Cache-Control response headers.
*Minimum Use* - sets the number of times an item must be requested by
clients before Proxy caches it. This is useful if the cache is
constantly filling up, as it ensures that only the most frequently
accessed items are added to the cache. By default, Proxy cache object at
its first appearance. The counter resets in every 30 minutes. Note that
the requests is counted independently on each processing unit.
*Max Cache Object Size* - sets the upper limit of an object size, larger
object will not be cached. By default, Proxy does not cache object
larger than 1 GB.
*Cache Pinning Time* - configures Proxy to keep certain objects in the
cache for a specified time. You can use this option to ensure that the
most popular objects are in cache when needed and to prevent cache
manager from deleting important objects. Proxy observes Cache-Control
headers and pins an object in the cache only if it is indeed cacheable.
*Max Cache Size* - sets the upper limit of the size of storage for a
policy. By default, Proxy uses all available disk space. When the cache
size reaches the limit, the cache manager removes the files that were
least recently used to bring the cache size back under the limit.
*Inactive Time* - specifies how long an item can remain in the cache
without being accessed. A file that has not been requested for this time
is automatically deleted from the cache by the cache manager, regardless
of whether or not it has expired.
', null);
INSERT INTO `help_document` VALUES ('2', 'control_policy.md', 'Control Policy
On National Proxy System, Individual Control policy rules determine
whether to allow, block, redirect or replace a session based on traffic
attributes, such as URL, request header fields, request body keywords,
response header fields, response body keywords, IP address, Subscribe ID
and their combination. You could specify these attributes in the submenu
of *Control Policy*.
The attributes are detailed in following context:
*URL* - From proxy<78><79>s perspective, a HTTP URL consists of a hierarchical
sequence of three components: URL = hostname/path[?query] . The URL path
name can also be specified by the user in the local writing system. If
not already encoded, it is converted to UTF-8, and any characters not
part of the basic URL character set are escaped as hexadecimal using
percent-encoding; for example, search keywords <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܧڧۡ<DAA7> in Google
produces URL<52><4C>
https://www.google.com/search?q=%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9
To perform policy action on above URL, you could input the whole URL in
the input box. Or, you could input original keywords and let the Proxy
do the decoding, e.g. <20><>google.com/search<63><68> & <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܧڧۡ<DAA7>. Note that the
scheme string MUST be excluded from the URL, it<69><74>s <20><>https://<2F><> in this
case.
NOTE Maximum HTTP/HTTPS URL length is 1023 characters
*Request Header* - is used to set conditions on request header fields.
Header fields are colon-separated key-value pairs in clear-text string
format, terminated by a carriage return (CR) and line feed (LF)
character sequence. For example, <20><>user-agent: Mozilla/5.0 (Windows NT
10.0; Win64; x64)<29><> is a header filed in request header. The *Matching
District* is used to configure the field<6C><64>s key, if the key was
presented, the Proxy will search in the value for *Keywords*.
*Response Header* - is used to set conditions on response header fields.
Its configuration is similar to *Request Header*.
*Request Body* - is used to set conditions on request<73><74>s body message.
The Proxy searches the pre-configured *Keywords* in it. You can
configure non-ASCII or non-utf8 keywords by turn on HEX.
*Response Body* - is used to set conditions on response<73><65>s body message.
Its configuration is similar to *Request Body*.
You could select one of the five actions for above attributes, as known
as:
*Monitor* - the Proxy produce a log to record matched HTTP session
information.
*Block* - the Proxy terminate matched HTTP session with an error page
and produce a log. You MUST specify a *Response Code* and a *Response
Content* to generate an error page.
*Redirect*<2A><>the Proxy redirect matched HTTP session to a predefined URL.
Since redirection need to be performed before delivering response to
client, condition of response body is not applicable in this action. You
MUST configure the redirect response via *Response Code* and *Response
URL*. The Response URL MUST start with a scheme (http:// or https://).
You SHOULD NOT select **301** as *Response Code* unless you exactly know
what you are doing. This action produces a log.
*Replace*<2A><>the Proxy *Searches in* a given HTTP part to *Find* a given
string, and *Replace* any matches *with* another given string. If no
match was found, the session remained untouched. For performance
concerns, condition of request body and response body is not available
in this action. For example, you can configure the Proxy to search in
the response body of URL <20><>www.example.com/index.html<6D><6C>, find every
<EFBFBD><EFBFBD>string1<EFBFBD><EFBFBD> and replace with <20><>string2<67><32>. This action produces a log.
*Whitelist*<2A><>the Proxy pass-through the matched sessions and produce no
log.
National Proxy will enforce policy check on traffic attributes, policies
have been created that there will be some that overlap or are subsets of
the parameters that the policies use to determine which policy should be
matched against the traffic. The execute order of policy is <20><>first
match, first served<65><64>. In case of an incoming traffic attribute matches
one more policy, the priority order is *Whitelist \> Block \>
Redirect \> Replace \> Monitor*, action with higher priority overrides
others. If multiple policies of same action are matched, policy with
bigger ID number is precedence.
', null);
INSERT INTO `help_document` VALUES ('3', 'intercept_policy.md', 'Intercept Policy
An Intercept policy rule allows you to define traffic that you want the
National Proxy to decrypt and to define traffic that you choose to
exclude from decryption because the traffic is personal or because of
local regulations. A connection is intercepted/optimized based on
traffic attributes, such as IP address, domain name (via SNI matching)
and Subscribe ID. You could specify these attributes in *IP Intercept*
and *Domain Intercept*.
Both *IP intercept* and *Domain Intercept* are subject two actions:
*Intercept*<2A><>the National Proxy System intercepts network traffic for
further control policy and cache policy checking. Interception requires
certificates to establish the National Proxy as a trusted third party.
National Proxy deployed in transparent mode, which means the users don`t
have any proxy settings in their browser. When a connection is set to
intercept, the proxy terminates the connection and initiates a new
connection between client and server. If the connection is SSL
encrypted, the original certificate is replaced with a substitute one.
*Bypass*<2A><>the Proxy passes through the network connection without apply
an optimization or policy checking. You can also use bypass action when
excluding servers from SSL decryption for technical reasons (the site
breaks decryption for reasons such as certificate pinning, unsupported
ciphers, or mutual authentication). Apple Store, WhatsApp, Telegram,
Microsoft Windows Update are common SSL pinning application. In case of
traffic matches one more policy, bypass overrides intercept.
When *Intercept Related Domains* is enabled, domains that share one
certificates with the specified domain are considered as the same. For
example, if the intercept facebook.com with I*ntercept Related Domain*
option, then \*.xx.fbcdn.net, fb.com, .messenger.com and etc. are also
intercepted. There may be side effects that intercept undesired websites
that share one certificate. For example, two websites hosted in a same
CDN provider (Content Delivery Network) or different products of one
company.
*Key ring* determines which certificate will be used to generate
substitute certificate. You could configure key ring through *Proxy
Policy Object* page. If no key ring is specified, proxy will use the
default one.
Intercept policy produces no log. You can find out if the interception
is successful by checking if the certificate is issued by your
pre-configured Root CA. You need a PC which traffic has already directed
to the Proxy, and a web browser to test the policy. For Chrome and
Microsoft Internet Explorer, you could click the lock icon on the
address bar to view certificate. For Firefox, after you clicking the
lock icon, click <20><>\><3E><> button to show connection details, click <20><>more
information<EFBFBD><EFBFBD>, and then click <20><>view certificate<74><65>. If the browser warning
that the connection is not secure, one possible reason is you haven<65><6E>t
install/trust the root certificate yet.
**Note:** You should exercise caution because web applications may not
cooperate with SSL interception. Reasons that sites break decryption
technically include pinned certificates, mutual authentication,
incomplete certificate chains, unsupported ciphers, and non-standard SSL
implementation. If a site uses an incomplete certificate chain, the
National Proxy doesn<73><6E>t automatically fix the chain as a browser would.
You need to manually download the missing sub-CA certificates and load
and deploy them onto the proxy.', null);
INSERT INTO `help_document` VALUES ('4', 'proxy_policy_object.md', 'Proxy Policy Object
A policy object is a single object or a collective unit that groups
discrete identities such as IP addresses, URLs, applications, or users.
With policy objects that are a collective unit, you can reference the
object in policy instead of manually selecting multiple objects one at a
time. Typically, when creating a policy object, you group objects that
require similar permissions in policy.
1. Key Ring
On National Proxy System, Key Ring is a pair of private key and public
certificate. You can also import a certificate chain containing multiple
certificates. Key Ring is a policy object, you can reference it in
*Intercept Policy*.
There are three *Certificate Type:*
*End-entity Certificate*<2A><> is used for web servers to identify
themselves. The *Public Key File* MUST be .p12 format that contains
entire certificate chain. The Private Key File could be .pem, .key or
.p12 format. This certificate type is not applicable to *Domain
Intercept* for it cannot be used to sign other certificates. *Expire
After* parameter is also not applicable to end-entity certificate for
the same reason.
*Intermedia Certificate* - is used to sign other certificates. An
intermediate certificate must be signed by another intermediate
certificate, or a root certificate. The *Public Key File* MUST be .p12
format that contains entire certificate chain. The *Expire After*
parameter indicates the expiration of the substitute certificate that
was issued by this intermedia certificate.
*Root Certificate* - is used to sign other certificates. The *Public Key
File* could be .der, .cer, .crt or .pem format. The *Expire After*
parameter has the same meaning as Intermedia Certificate.
*CRL* - or Certificate Revocation List, is a list of digital
certificates that have been revoked by the issuing certificate authority
(CA) before their scheduled expiration date and should no longer be
trusted. On Key Ring settings, CRL is an HTTP URL that point to a valid
.crl file. Invalid URL or .crl file may produce certificate warnings on
some browser, i.e. Internet Explorer 11.
Specification of certificate formats:
*.pem* <20>C (Privacy-enhanced Electronic Mail) Base64 encoded DER
certificate, enclosed between "-----BEGIN CERTIFICATE-----" and
"-----END CERTIFICATE-----"
*.cer, .crt, .der* <20>C usually in binary DER form, but Base64-encoded
certificates are common too (see .pem above)
*.p12* <20>C PKCS\#12, may contain certificate(s) (public) and private keys
(without password protected)
1. Trusted Certificate
National Proxy System has a build-in trusted certificate authorities
list. When the original certificate is issued by a certificate authority
that not in the list, the proxy will issued the substitute certificate
with an untrusted root certificate, and so consequently, the browser
could identify unsecure connections.
You can add a custom certificate authority to the trusted certificate
authorities of the system.
The certificate MUST be PEM format.
Following are the National Proxy System<65><6D>s default trusted certificate
authorities:
ACCVRAIZ1
Actalis Authentication Root CA
AddTrust External CA Root
AffirmTrust Commercial
AffirmTrust Networking
AffirmTrust Premium
AffirmTrust Premium ECC
Amazon Root CA 1
Amazon Root CA 2
Amazon Root CA 3
Amazon Root CA 4
Atos TrustedRoot 2011
Autoridad de Certificacion Firmaprofesional CIF A62634068
Baltimore CyberTrust Root
Buypass Class 2 Root CA
Buypass Class 3 Root CA
CA Disig Root R2
CFCA EV ROOT
COMODO Certification Authority
COMODO ECC Certification Authority
COMODO RSA Certification Authority
Certigna
Certinomis - Root CA
Class 2 Primary CA
Certplus Root CA G1
Certplus Root CA G2
Certum Trusted Network CA
Certum Trusted Network CA 2
Chambers of Commerce Root - 2008
AAA Certificate Services
Cybertrust Global Root
D-TRUST Root Class 3 CA 2 2009
D-TRUST Root Class 3 CA 2 EV 2009
DST Root CA X3
Deutsche Telekom Root CA 2
DigiCert Assured ID Root CA
DigiCert Assured ID Root G2
DigiCert Assured ID Root G3
DigiCert Global Root CA
DigiCert Global Root G2
DigiCert Global Root G3
DigiCert High Assurance EV Root CA
DigiCert Trusted Root G4
E-Tugra Certification Authority
EC-ACC
EE Certification Centre Root CA
Entrust.net Certification Authority (2048)
Entrust Root Certification Authority
Entrust Root Certification Authority - EC1
Entrust Root Certification Authority - G2
GDCA TrustAUTH R5 ROOT
GeoTrust Global CA
GeoTrust Primary Certification Authority
GeoTrust Primary Certification Authority - G2
GeoTrust Primary Certification Authority - G3
GeoTrust Universal CA
GeoTrust Universal CA 2
GlobalSign
GlobalSign
GlobalSign Root CA
GlobalSign
GlobalSign
Global Chambersign Root - 2008
Go Daddy Root Certificate Authority - G2
Hellenic Academic and Research Institutions ECC RootCA 2015
Hellenic Academic and Research Institutions RootCA 2011
Hellenic Academic and Research Institutions RootCA 2015
Hongkong Post Root CA 1
ISRG Root X1
IdenTrust Commercial Root CA 1
IdenTrust Public Sector Root CA 1
Izenpe.com
LuxTrust Global Root 2
Microsec e-Szigno Root CA 2009
NetLock Arany (Class Gold) F?tan<61><6E>s<EFBFBD><73>tv<74><76>ny
Network Solutions Certificate Authority
OISTE WISeKey Global Root GA CA
OISTE WISeKey Global Root GB CA
OpenTrust Root CA G1
OpenTrust Root CA G2
OpenTrust Root CA G3
QuoVadis Root Certification Authority
QuoVadis Root CA 1 G3
QuoVadis Root CA 2
QuoVadis Root CA 2 G3
QuoVadis Root CA 3
QuoVadis Root CA 3 G3
SSL.com EV Root Certification Authority ECC
SSL.com EV Root Certification Authority RSA R2
SSL.com Root Certification Authority ECC
SSL.com Root Certification Authority RSA
SZAFIR ROOT CA2
SecureSign RootCA11
SecureTrust CA
Secure Global CA
Sonera Class2 CA
Staat der Nederlanden EV Root CA
Staat der Nederlanden Root CA - G2
Staat der Nederlanden Root CA - G3
Starfield Root Certificate Authority - G2
Starfield Services Root Certificate Authority - G2
SwissSign Gold CA - G2
SwissSign Silver CA - G2
T-TeleSec GlobalRoot Class 2
T-TeleSec GlobalRoot Class 3
TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
TWCA Global Root CA
TWCA Root Certification Authority
TeliaSonera Root CA v1
TrustCor ECA-1
TrustCor RootCert CA-1
TrustCor RootCert CA-2
T<EFBFBD><EFBFBD>RKTRUST Elektronik Sertifika Hizmet Sa?lay?c?s? H5
USERTrust ECC Certification Authority
USERTrust RSA Certification Authority
VeriSign Class 3 Public Primary Certification Authority - G4
VeriSign Class 3 Public Primary Certification Authority - G5
VeriSign Universal Root Certification Authority
VeriSign Class 3 Public Primary Certification Authority - G3
Visa eCommerce Root
XRamp Global Certification Authority
thawte Primary Root CA
thawte Primary Root CA - G2
thawte Primary Root CA - G3
Microsoft Root Authority
Microsoft Root Certificate Authority
Microsoft Root Certificate Authority 2010
Microsoft Root Certificate Authority 2011
Baltimore CyberTrust Root
', null);
commit;

View File

@@ -0,0 +1,191 @@
CREATE TABLE `inner_protection_list` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` varchar(500) NOT NULL COMMENT '<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>',
`target_type` varchar(128) DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`description` varchar(200) DEFAULT '',
`is_valid` int(2) NOT NULL DEFAULT 0 COMMENT '-1ɾ<31><C9BE> 1<><31>Ч',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`editor_id` int(11) DEFAULT NULL,
`creator_id` int(11) NOT NULL,
`edit_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4;
INSERT INTO `inner_protection_list` VALUES ('104', '.com', 'domainCheck', 'protection domain', '1', '2019-03-26 13:54:28', '1', '1', '2019-04-02 11:16:36');
INSERT INTO `inner_protection_list` VALUES ('106', '.com', 'urlCheck', 'protection url', '1', '2019-03-27 11:08:24', '1', '1', '2019-04-02 11:21:52');
commit;
DROP PROCEDURE IF EXISTS `proc_statistics_config`;
delimiter ;;
CREATE DEFINER=`root`@`%` PROCEDURE `proc_statistics_config`()
BEGIN
DECLARE ntime VARCHAR(40);/*<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>*/
DECLARE otime VARCHAR(40);/*<EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>*/
DECLARE nRow VARCHAR(40);/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
DECLARE tabName VARCHAR(500);
DECLARE description VARCHAR(500);
DECLARE deleteSql VARCHAR(500);
DECLARE done INT;/*<EFBFBD>α<EFBFBD><EFBFBD><EFBFBD>ʶ*/
DECLARE flag INT;/*ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ*/
DECLARE t_error INT;/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ*/
DECLARE proc_log_table VARCHAR(100);/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>*/
DECLARE proc_name VARCHAR(100);/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
DECLARE icursor CURSOR FOR SELECT tab_name FROM statistics_tables where is_valid=1;
DECLARE CONTINUE HANDLER FOR NOT found SET done=1;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION set t_error=1;
select max(statistic_time) into otime from cfg_num_statistics;
SET done=0;
SET t_error=0;
SET proc_log_table='proc_exec_log';
SET proc_name='proc_statistics_config';
SET ntime=DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%S');
OPEN icursor;
loop_iloop:LOOP
FETCH icursor INTO tabName;
SET description=tabName;
set @descriptionStart=concat(description,'<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>start');
/*ͳ<EFBFBD>Ƶ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>start*/
set @v_log_sql1 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
PREPARE execs FROM @v_log_sql1;
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionStart;
DEALLOCATE PREPARE execs;
COMMIT;
#20190328 <20><><EFBFBD>Ӷ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>is_audit=1 && (is_valid=1 || is_valid=0) <20><>Ϊapproved <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cfg_state=4[is_valid=0 && is_audit=1],<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>cfg_state=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>չʾ<D5B9><CABE>approvedֵʵ<D6B5>ʰ<EFBFBD><CAB0><EFBFBD>cfg_state=4<><34>cfg_state=1
set @insert_statistics_sql := concat('insert into cfg_num_statistics(statistic_time,audit_time,function_id,service_id,action,compile_id,cfg_state) select ','''',ntime,'''',',','audit_time,function_id,service_id,action,compile_id,if(is_valid=-1,-1,if(is_valid=1,1,if(is_audit=0,0,if(is_audit=1,4,if(is_audit=2,2,if(is_audit=3,3,0)))))) cfg_state from ',tabName);
PREPARE execs FROM @insert_statistics_sql;
EXECUTE execs;
DEALLOCATE PREPARE execs;
COMMIT;
set @descriptionEnd=concat(description,'<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>end');
set @v_log_sql2 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
PREPARE execs FROM @v_log_sql2;
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionEnd;
DEALLOCATE PREPARE execs;
COMMIT;
/*<EFBFBD><EFBFBD>˳<EFBFBD>loop*/
IF t_error=1 THEN
LEAVE loop_iloop;
END IF;
/*ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>loop*/
IF done=1 THEN
LEAVE loop_iloop;
ELSE
SET flag=0;
END IF;
IF flag=0 THEN
SET done=0;
END IF;
END LOOP loop_iloop;
CLOSE icursor;
/*ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
SELECT count(statistic_time) INTO nRow from cfg_num_statistics where statistic_time=ntime;
IF t_error=1 THEN /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
delete from cfg_num_statistics where statistic_time=ntime;
COMMIT;
ELSEIF nRow > 0 THEN /*<EFBFBD>жϱ<EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
delete from cfg_num_statistics where statistic_time=otime;
COMMIT;
END IF;
COMMIT;
END
;;
delimiter ;
<>д洢<D0B4><E6B4A2><EFBFBD><EFBFBD>
call exec_procs();
-- ------------
-- <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>type<70><65><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8><C4A3>޸<EFBFBD>ȫ<EFBFBD><C8AB>ͬ<EFBFBD><CDAC>״̬Ϊ3(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
-- ------------
ALTER TABLE schedule_cfg ADD type int(1) DEFAULT 1 COMMENT '1:<3A><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>ȫ<EFBFBD><C8AB>ͬ<EFBFBD><CDAC>ʱδִ<CEB4>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>';
update schedule_cfg set type=1;
update sys_data_dictionary_item t set t.item_value=3 where t.dictionary_id=142;
-- ------------
-- ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD>Ա<EFBFBD>û<EFBFBD>Ԥ<EFBFBD><D4A4>
-- ------------
INSERT INTO `sys_menu` (`parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('2', '0,1,2,', 'admin_user_warn', 'admin user warn', '5060', '/sys/warn/userWarnList', '', '', '1', 'sys:warnList:view', '1', '2019-03-28 10:06:26', '1', '2019-03-28 11:36:42', '', '1', NULL, '0', '0', NULL);
CREATE TABLE `sys_user_warn` (
`service_id` int(11) NOT NULL COMMENT 'ҵ<EFBFBD><EFBFBD>ID',
`service_desc` varchar(255) DEFAULT '' COMMENT 'ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`interface_cfg_total` int(11) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`system_cfg_total` int(11) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`time` datetime DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>',
`remark` varchar(255) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>ע',
PRIMARY KEY (`service_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>û<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
-- <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INSERT INTO `sys_menu` (`parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('109', '0,1,109,', 'protection_list_manage', 'protection list manage', '5060', '/basics/innerProtectionList/list', '', 'fa fa-sticky-note-o', '1', 'basic:inner_protection_list:list', '1', '2019-03-25 15:28:34', '1', '2019-03-26 15:04:47', '', '1', NULL, '0', '0', NULL);
-- ------------
-- <20><><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ܣ<EFBFBD>ֻ<EFBFBD>н<EFBFBD><D0BD>˲˵<CBB2><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>û<EFBFBD><C3BB>Ľ<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>˽<EFBFBD>ɫ<EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>˰汾ע<E6B1BE><D7A2><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7>˵<EFBFBD>
-- ------------
INSERT INTO `sys_menu`(`parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES (86, '0,1,86,', 'save_and_audit', 'save and audit', 5060, '', '', '', 0, 'save:audit:permission', '1', '2019-04-08 11:30:31', '1', '2019-04-08 11:47:16', 'save_and_audit', 1, NULL, 0, 0, NULL);
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7><EFBFBD>ɫ
INSERT INTO `sys_role`(`NAME`, `DATA_SCOPE`, `REMARK`, `STATUS`, `CREATE_TIME`, `ROLE_TYPE`) VALUES ('saveAndAudit', 1, '', 1, '2019-04-09 11:33:40', 'user');
-- <20><><EFBFBD><EFBFBD>ΪsaveAndAudit<69><74>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>save_and_audit<69>˵<EFBFBD><CBB5><EFBFBD>
insert into sys_privilege (PRIVILEGE_MASTER,PRIVILEGE_MASTER_VALUE,PRIVILEGE_ACCESS,PRIVILEGE_ACCESS_VALUE,PRIVILEGE_OPERATION ) select 'ROLE',r.id,1000,m.id,1 from sys_role r,sys_menu m where r.name='saveAndAudit' and m.code='save_and_audit'

View File

@@ -0,0 +1,104 @@
#function_region_dict 对应ip_patternport_pattern的字段长度拓展一倍使用分号分隔源/目的
ALTER TABLE function_region_dict MODIFY config_ip_pattern VARCHAR(20) COMMENT "ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔,源ip与目的IP使用;分隔";
ALTER TABLE function_region_dict MODIFY config_port_pattern VARCHAR(20) COMMENT "端口的格式1:port;2:port_mask;使用逗号分隔,源端口与目的端口使用;分隔";
#各表修改ip_patternport_pattern
#app_ip_cfg
ALTER TABLE app_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE app_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE app_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE app_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#app_ip_range_cfg
ALTER TABLE app_ip_range_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE app_ip_range_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE app_ip_range_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE app_ip_range_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#area_ip_cfg
ALTER TABLE area_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE area_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE area_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE area_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#asn_ip_cfg
ALTER TABLE asn_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE asn_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE asn_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE asn_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#av_cont_ip_cfg
ALTER TABLE av_cont_ip_cfg change ip_pattern src_ip_pattern int COMMENT '源ip格式';
ALTER TABLE av_cont_ip_cfg add dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE av_cont_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE av_cont_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#av_pic_ip_cfg
ALTER TABLE av_pic_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE av_pic_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE av_pic_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE av_pic_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#av_voip_ip_cfg
ALTER TABLE av_voip_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE av_voip_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE av_voip_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE av_voip_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#ddos_ip_cfg
ALTER TABLE ddos_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE ddos_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE ddos_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE ddos_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#dns_ip_cfg
ALTER TABLE dns_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE dns_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE dns_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE dns_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#ip_port_cfg
ALTER TABLE ip_port_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE ip_port_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE ip_port_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE ip_port_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#ip_reuse_ip_cfg
ALTER TABLE ip_reuse_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE ip_reuse_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
ALTER TABLE ip_reuse_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
ALTER TABLE ip_reuse_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
#ip_reuse_policy_cfg
ALTER TABLE ip_reuse_policy_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
ALTER TABLE ip_reuse_policy_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
#修改字典的值
UPDATE function_region_dict SET config_ip_pattern ="1,2,3;1,2,3" WHERE config_ip_pattern="1,2,3";
UPDATE function_region_dict SET config_ip_pattern ="1;1" WHERE config_ip_pattern="1";
UPDATE function_region_dict SET config_ip_pattern ="3;3" WHERE config_ip_pattern="3";
UPDATE function_region_dict SET config_ip_pattern ="1,3;1,3" WHERE config_ip_pattern="1,3";
UPDATE function_region_dict SET config_port_pattern ="1;1" WHERE config_port_pattern="1";
UPDATE function_region_dict SET config_port_pattern ="1,2;1,2" WHERE config_port_pattern="1,2";
#Spoofing IP修改只显示目的IP
UPDATE function_region_dict SET config_ip_port_show=3 WHERE function_id=401;
#ASN IP修改只显示目的IP
UPDATE function_region_dict SET config_ip_port_show=3 WHERE function_id=600;
#sql 更新字段语句
UPDATE app_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM app_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE app_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM app_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE app_ip_range_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM app_ip_range_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE app_ip_range_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM app_ip_range_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE area_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM area_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE area_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM area_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE asn_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM asn_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE asn_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM asn_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_cont_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_cont_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_cont_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_cont_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_pic_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_pic_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_pic_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_pic_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_voip_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_voip_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE av_voip_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_voip_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE ddos_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM ddos_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE ddos_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM ddos_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE dns_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM dns_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE dns_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM dns_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE ip_port_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM ip_port_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
UPDATE ip_port_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM ip_port_cfg a) b WHERE b.cfg_id=c.`cfg_id`);

View File

@@ -1 +0,0 @@
create database ntc_db default character set utf8mb4 collate utf8mb4_general_ci;

File diff suppressed because one or more lines are too long

View File

@@ -1,163 +1,101 @@
DELETE FROM app_byte_cfg; DELETE FROM app_byte_cfg;
alter table app_byte_cfg auto_increment= 1;
DELETE FROM app_domain_cfg; DELETE FROM app_domain_cfg;
alter table app_domain_cfg auto_increment= 1;
DELETE FROM app_features_index; DELETE FROM app_features_index;
alter table app_features_index auto_increment= 1;
DELETE FROM app_feature_index; DELETE FROM app_feature_index;
alter table app_feature_index auto_increment= 1;
DELETE FROM app_http_cfg; DELETE FROM app_http_cfg;
alter table app_http_cfg auto_increment= 1;
DELETE FROM app_id_cfg; DELETE FROM app_id_cfg;
alter table app_id_cfg auto_increment= 1;
DELETE FROM app_ip_cfg; DELETE FROM app_ip_cfg;
alter table app_ip_cfg auto_increment= 1;
DELETE FROM app_policy_cfg; DELETE FROM app_policy_cfg;
alter table app_policy_cfg auto_increment= 1;
DELETE FROM area_ip_cfg; DELETE FROM area_ip_cfg;
alter table area_ip_cfg auto_increment= 1;
DELETE FROM app_layer_header_cfg; DELETE FROM app_layer_header_cfg;
alter table app_layer_header_cfg auto_increment= 1;
DELETE FROM app_policy_cfg; DELETE FROM app_policy_cfg;
alter table app_policy_cfg auto_increment= 1;
DELETE FROM app_session_cfg; DELETE FROM app_session_cfg;
alter table app_session_cfg auto_increment= 1;
DELETE FROM app_ssl_cert_cfg; DELETE FROM app_ssl_cert_cfg;
alter table app_ssl_cert_cfg auto_increment= 1; DELETE FROM app_topic_domain_cfg;
#DELETE FROM app_topic_domain_cfg where is_valid !=-1;
#update app_topic_domain_cfg set is_valid=0,is_audit=0;
DELETE FROM area_ip_cfg; DELETE FROM area_ip_cfg;
alter table area_ip_cfg auto_increment= 1;
DELETE FROM asn_ip_cfg; DELETE FROM asn_ip_cfg;
alter table asn_ip_cfg auto_increment= 1;
DELETE FROM asn_keyword_cfg; DELETE FROM asn_keyword_cfg;
alter table asn_keyword_cfg auto_increment= 1;
DELETE FROM av_cont_ip_cfg; DELETE FROM av_cont_ip_cfg;
alter table av_cont_ip_cfg auto_increment= 1;
DELETE FROM av_cont_url_cfg; DELETE FROM av_cont_url_cfg;
alter table av_cont_url_cfg auto_increment= 1;
DELETE FROM av_file_sample_cfg; DELETE FROM av_file_sample_cfg;
alter table av_file_sample_cfg auto_increment= 1;
DELETE FROM av_pic_ip_cfg; DELETE FROM av_pic_ip_cfg;
alter table av_pic_ip_cfg auto_increment= 1;
DELETE FROM av_pic_url_cfg; DELETE FROM av_pic_url_cfg;
alter table av_pic_url_cfg auto_increment= 1;
DELETE FROM av_voip_account_cfg; DELETE FROM av_voip_account_cfg;
alter table av_voip_account_cfg auto_increment= 1;
DELETE FROM av_voip_ip_cfg; DELETE FROM av_voip_ip_cfg;
alter table av_voip_ip_cfg auto_increment= 1;
DELETE FROM byte_features_cfg; DELETE FROM byte_features_cfg;
alter table byte_features_cfg auto_increment= 1;
DELETE FROM cfg_index_info; DELETE FROM cfg_index_info;
alter table cfg_index_info auto_increment= 1;
DELETE FROM av_sign_sample_cfg; DELETE FROM av_sign_sample_cfg;
alter table av_sign_sample_cfg auto_increment= 1;
DELETE FROM complex_keyword_cfg; DELETE FROM complex_keyword_cfg;
alter table complex_keyword_cfg auto_increment= 1;
DELETE FROM config_group_info; DELETE FROM config_group_info;
alter table config_group_info auto_increment= 1;
DELETE FROM ddos_ip_cfg; DELETE FROM ddos_ip_cfg;
alter table ddos_ip_cfg auto_increment= 1;
DELETE FROM dns_domain_cfg; DELETE FROM dns_domain_cfg;
alter table dns_domain_cfg auto_increment= 1;
DELETE FROM dns_ip_cfg; DELETE FROM dns_ip_cfg;
alter table dns_ip_cfg auto_increment= 1;
DELETE FROM dns_res_strategy; DELETE FROM dns_res_strategy;
ALTER TABLE dns_res_strategy auto_increment = 101; ALTER TABLE dns_res_strategy auto_increment = 101;
DELETE FROM file_digest_cfg; DELETE FROM file_digest_cfg;
alter table file_digest_cfg auto_increment= 1;
DELETE FROM ftp_keyword_cfg; DELETE FROM ftp_keyword_cfg;
alter table ftp_keyword_cfg auto_increment= 1;
DELETE FROM http_body_cfg; DELETE FROM http_body_cfg;
alter table http_body_cfg auto_increment= 1;
DELETE FROM http_req_head_cfg; DELETE FROM http_req_head_cfg;
alter table http_req_head_cfg auto_increment= 1;
DELETE FROM http_res_head_cfg; DELETE FROM http_res_head_cfg;
alter table http_res_head_cfg auto_increment= 1;
DELETE FROM http_url_cfg; DELETE FROM http_url_cfg;
alter table http_url_cfg auto_increment= 1;
DELETE FROM ip_multiplex_pool_cfg; DELETE FROM ip_multiplex_pool_cfg;
alter table ip_multiplex_pool_cfg auto_increment= 1;
DELETE FROM ip_port_cfg; DELETE FROM ip_port_cfg;
alter table ip_port_cfg auto_increment= 1;
DELETE FROM l2tp_url_cfg; DELETE FROM l2tp_url_cfg;
alter table l2tp_url_cfg auto_increment= 1;
DELETE FROM mail_keyword_cfg; DELETE FROM mail_keyword_cfg;
alter table mail_keyword_cfg auto_increment= 1;
DELETE FROM multiple_cfg_relation; DELETE FROM multiple_cfg_relation;
alter table multiple_cfg_relation auto_increment= 1;
DELETE FROM ntc_bgp_as_cfg; DELETE FROM ntc_bgp_as_cfg;
alter table ntc_bgp_as_cfg auto_increment= 1;
DELETE FROM ntc_subscribe_id_cfg; DELETE FROM ntc_subscribe_id_cfg;
alter table ntc_subscribe_id_cfg auto_increment= 1;
DELETE FROM num_boundary_cfg; DELETE FROM num_boundary_cfg;
alter table num_boundary_cfg auto_increment= 1;
DELETE FROM p2p_hash_cfg; DELETE FROM p2p_hash_cfg;
alter table p2p_hash_cfg auto_increment= 1;
DELETE FROM p2p_keyword_cfg; DELETE FROM p2p_keyword_cfg;
alter table p2p_keyword_cfg auto_increment= 1;
DELETE FROM policy_group_info; DELETE FROM policy_group_info;
ALTER TABLE policy_group_info auto_increment = 101;
DELETE FROM pptp_url_cfg; DELETE FROM pptp_url_cfg;
alter table pptp_url_cfg auto_increment= 1;
DELETE FROM proxy_file_strategy_cfg; DELETE FROM proxy_file_strategy_cfg;
alter table proxy_file_strategy_cfg auto_increment= 1;
DELETE FROM ssl_keyword_cfg; DELETE FROM ssl_keyword_cfg;
alter table ssl_keyword_cfg auto_increment= 1;
DELETE FROM pxy_obj_keyring; DELETE FROM pxy_obj_keyring;
alter table pxy_obj_keyring auto_increment= 1;
DELETE FROM intercept_pkt_bin; DELETE FROM intercept_pkt_bin;
alter table intercept_pkt_bin auto_increment= 1;
DELETE FROM app_feature_index; DELETE FROM app_feature_index;
alter table app_feature_index auto_increment= 1;
DELETE FROM app_complex_feature_cfg; DELETE FROM app_complex_feature_cfg;
alter table app_complex_feature_cfg auto_increment= 1;
DELETE FROM app_ip_range_cfg; DELETE FROM app_ip_range_cfg;
alter table app_ip_range_cfg auto_increment= 1;
DELETE FROM app_string_feature_cfg; DELETE FROM app_string_feature_cfg;
alter table app_string_feature_cfg auto_increment= 1;
DELETE FROM pxy_obj_trusted_ca_crl; DELETE FROM pxy_obj_trusted_ca_crl;
alter table pxy_obj_trusted_ca_crl auto_increment= 1;
DELETE FROM pxy_obj_trusted_ca_cert; DELETE FROM pxy_obj_trusted_ca_cert;
alter table pxy_obj_trusted_ca_cert auto_increment= 1;
UPDATE specific_service_cfg SET group_id=0; UPDATE specific_service_cfg SET group_id=0;
DELETE FROM ip_reuse_addr_pool; DELETE FROM ip_reuse_addr_pool;
alter table ip_reuse_addr_pool auto_increment= 1;
DELETE FROM ip_reuse_ip_cfg; DELETE FROM ip_reuse_ip_cfg;
alter table ip_reuse_ip_cfg auto_increment= 1;
DELETE FROM ip_reuse_policy_cfg; DELETE FROM ip_reuse_policy_cfg;
alter table ip_reuse_policy_cfg auto_increment= 1;
DELETE FROM user_manage; DELETE FROM user_manage;
alter table user_manage auto_increment= 1;
#clear vpn #clear vpn
DELETE FROM service_dict_info where item_type='5'; DELETE FROM service_dict_info where item_type='5';
#<23><><EFBFBD><EFBFBD>DNS<4E><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>100<30><30><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>101<30><31>ʼ
ALTER TABLE policy_group_info auto_increment = 101;
#<23><><EFBFBD>asn<73>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD>
DELETE FROM asn_group_info; DELETE FROM asn_group_info;
alter table asn_group_info auto_increment= 1; <>϶<EFBFBD>̬IP<49><50>ַ<EFBFBD><D6B7>
INSERT INTO `ip_reuse_addr_pool` (`cfg_id`, `addr_pool_name`, `ip_total`, `action`, `is_valid`, `is_audit`, `cfg_region_code`, `cfg_type`, `function_id`, `service_id`, `compile_id`, `is_area_effective`, `area_effective_ids`, `request_id`, `classify`, `attribute`, `lable`, `creator_id`, `create_time`, `editor_id`, `edit_time`, `auditor_id`, `audit_time`, `description`, `cancel_request_id`, `user_region1`, `user_region2`, `user_region3`, `user_region4`, `user_region5`) VALUES ('0', 'dynamic_pool', '1', '96', '1', '1', '1', 'IR_STATIC_NOMINEE_IP', '633', '834', '0', '0', '', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', NULL, '0000-00-00 00:00:00', NULL, '0000-00-00 00:00:00', '', NULL, '', '', '', '', ''); INSERT INTO `ip_reuse_addr_pool` (`cfg_id`, `addr_pool_name`, `ip_total`, `action`, `is_valid`, `is_audit`, `cfg_region_code`, `cfg_type`, `function_id`, `service_id`, `compile_id`, `is_area_effective`, `area_effective_ids`, `request_id`, `classify`, `attribute`, `lable`, `creator_id`, `create_time`, `editor_id`, `edit_time`, `auditor_id`, `audit_time`, `description`, `cancel_request_id`, `user_region1`, `user_region2`, `user_region3`, `user_region4`, `user_region5`) VALUES ('0', 'dynamic_pool', '1', '96', '1', '1', '1', 'IR_STATIC_NOMINEE_IP', '633', '834', '0', '0', '', '0', '0', '0', '0', '0', '0000-00-00 00:00:00', NULL, '0000-00-00 00:00:00', NULL, '0000-00-00 00:00:00', '', NULL, '', '', '', '', '');
UPDATE ip_reuse_addr_pool set cfg_id=0 where addr_pool_name= 'dynamic_pool'; UPDATE ip_reuse_addr_pool set cfg_id=0 where addr_pool_name= 'dynamic_pool';
DELETE FROM sys_log; DELETE FROM sys_log;
alter table sys_log auto_increment= 1;
DELETE FROM sys_cfg_operation_log; DELETE FROM sys_cfg_operation_log;
alter table sys_cfg_operation_log auto_increment= 1; DELETE FROM sys_cfg_operation_log;
DELETE FROM proc_exec_log; DELETE FROM proc_exec_log;
alter table proc_exec_log auto_increment= 1;
DELETE FROM cfg_num_statistics; DELETE FROM cfg_num_statistics;
alter table cfg_num_statistics auto_increment= 1;
DELETE FROM request_num_statistics; DELETE FROM request_num_statistics;
alter table request_num_statistics auto_increment= 1;
DELETE FROM common_keyword_cfg; DELETE FROM common_keyword_cfg;
alter table common_keyword_cfg auto_increment= 1;
DELETE FROM pxy_obj_spoofing_ip_pool; DELETE FROM pxy_obj_spoofing_ip_pool;
alter table pxy_obj_spoofing_ip_pool auto_increment= 1;
DELETE FROM schedule_cfg; DELETE FROM schedule_cfg;
alter table schedule_cfg auto_increment= 1;
DELETE FROM schedule_exce_log; DELETE FROM schedule_exce_log;
alter table schedule_exce_log auto_increment= 1;
DELETE FROM schedule_exce_new; DELETE FROM schedule_exce_new;
alter table schedule_exce_new auto_increment= 1;
#<23><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ؽ<EFBFBD>sql<71><6C><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
# In your Quartz properties file, you'll need to set
# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#
#
# By: Ron Cordell - roncordell
# I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM.
DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;

View File

@@ -59,10 +59,10 @@ $(function(){
submitHandler: function(form){ submitHandler: function(form){
var flag = true; var flag = true;
//代表所有业务都隐藏了,提示必须增加一种业务数据 //代表所有业务都隐藏了,提示必须增加一种业务数据
/* if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){ if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>"); top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return; return;
} */ }
/* /*
if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){ if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){
top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>"); top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>");

View File

@@ -67,10 +67,10 @@ $(function(){
} }
*/ */
//代表所有业务都隐藏了,提示必须增加一种业务数据 //代表所有业务都隐藏了,提示必须增加一种业务数据
/* if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length) { if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length) {
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>"); top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return; return;
} */ }
/* /*
if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){ if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){
top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>"); top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>");

View File

@@ -51,10 +51,10 @@ $(function(){
submitHandler: function(form){ submitHandler: function(form){
var flag = true; var flag = true;
//代表所有业务都隐藏了,提示必须增加一种业务数据 //代表所有业务都隐藏了,提示必须增加一种业务数据
/* if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){ if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>"); top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return; return;
} */ }
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){ $(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
if($(this).val()==''){ if($(this).val()==''){
$(this).parents(".form-group").find( $(this).parents(".form-group").find(

View File

@@ -96,7 +96,7 @@
</head> </head>
<body> <body>
<c:if test="${cfg.functionId eq 214}"> <c:if test="${cfg.functionId eq 214}">
<c:set var="interceptType" value="IpPayload"/> <c:set var="interceptType" value="Ip"/>
</c:if> </c:if>
<c:if test="${cfg.functionId eq 200}"> <c:if test="${cfg.functionId eq 200}">
<c:set var="interceptType" value="Ip"/> <c:set var="interceptType" value="Ip"/>

View File

@@ -177,10 +177,6 @@ function showActionTransChart(xData,series){
credits:{//是否有highcharts水印 credits:{//是否有highcharts水印
enabled:false enabled:false
}, },
legend: {
enabled: false
},
plotOptions: { plotOptions: {
series: { series: {
marker: { marker: {
@@ -218,16 +214,13 @@ function showActionTransChart(xData,series){
total.push( total.push(
d.sum d.sum
) )
var entrance=" "; var entrance="";
if(d!=null&&d.entranceId==1){ if(d!=null&&d.entranceId==1){
entrance="Astana+Almaty";
}
/* if(d!=null&&d.entranceId==1){
entrance="Astana"; entrance="Astana";
} }
if(d!=null&&d.entranceId==2){ if(d!=null&&d.entranceId==2){
entrance="Almaty"; entrance="Almaty";
} */ }
series.push({ series.push({
name: entrance, name: entrance,
data: d.result, data: d.result,

View File

@@ -38,7 +38,7 @@
<!-- 搜索内容与操作按钮栏 --> <!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -61,11 +61,12 @@
<span class="selectpicker form-control" ><spring:message code="isp"/></span> <span class="selectpicker form-control" ><spring:message code="isp"/></span>
</div> </div>
<select id="isp1" name="isp" class="selectpicker form-control input-medium" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="search"> <select id="isp1" name="isp" class="selectpicker form-control input-medium" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="search">
<%-- <option value=""><spring:message code="select"/></option> --%>
<c:forEach items="${fns:getIspDicList('ispCode')}" var="dict" > <c:forEach items="${fns:getIspDicList('ispCode')}" var="dict" >
<option value="${dict.ispKeyCode}"><spring:message code="${dict.ispKeyName}"></spring:message></option> <option value="${dict.ispKeyCode}"><spring:message code="${dict.ispKeyName}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<button type="button" class="btn blue" <button type="button" class="btn blue"
@@ -107,7 +108,7 @@
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -122,19 +123,20 @@
</c:if> </c:if>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="isp"/></span> <span class="selectpicker form-control" ><spring:message code="isp"/></span>
</div> </div>
<select id="isp2" name="isp" class="selectpicker form-control input-medium" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="search"> <select id="isp2" name="isp" class="selectpicker form-control input-medium" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="search">
<%-- <option value=""><spring:message code="select"/></option> --%>
<c:forEach items="${fns:getIspDicList('ispCode')}" var="dict" > <c:forEach items="${fns:getIspDicList('ispCode')}" var="dict" >
<option value="${dict.ispKeyCode}"><spring:message code="${dict.ispKeyName}"></spring:message></option> <option value="${dict.ispKeyCode}"><spring:message code="${dict.ispKeyName}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<button type="button" class="btn blue" <button type="button" class="btn blue"
@@ -240,15 +242,15 @@
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
var appType=$("#appType").val(); var appType=$("#appType").val();
// var entranceId1=$("#entranceId1").val(); var entranceId1=$("#entranceId1").val();
// var entranceId2=$("#entranceId2").val(); var entranceId2=$("#entranceId2").val();
// var isp1=$("#isp1").val(); var isp1=$("#isp1").val();
// var isp2=$("#isp2").val(); var isp2=$("#isp2").val();
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
var searchQuota=$(".searchQuota[class~='active']").val(); var searchQuota=$(".searchQuota[class~='active']").val();
showRealTimeTransChart(appType,unitType);// 实时折线 showRealTimeTransChart(appType,entranceId1,isp1,unitType);// 实时折线
appTransAjax(starth,endh,appType,unitType); appTransAjax(starth,endh,appType,entranceId2,isp2,unitType);
appTop100List(starth,endh,appType,searchQuota,unitType); appTop100List(starth,endh,appType,entranceId2,searchQuota,isp2,unitType);
//筛选功能初始化 //筛选功能初始化
$("#resetBtn1").on("click",function() { $("#resetBtn1").on("click",function() {
$("#searchForm1 select.selectpicker").each(function() { $("#searchForm1 select.selectpicker").each(function() {
@@ -305,18 +307,18 @@
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
var appType=$("#appType").val(); var appType=$("#appType").val();
// var entranceId1=$("#entranceId1").val(); var entranceId1=$("#entranceId1").val();
// var entranceId2=$("#entranceId2").val(); var entranceId2=$("#entranceId2").val();
// var isp1=$("#isp1").val(); var isp1=$("#isp1").val();
// var isp2=$("#isp2").val(); var isp2=$("#isp2").val();
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
var searchQuota=$(".searchQuota[class~='active']").val(); var searchQuota=$(".searchQuota[class~='active']").val();
if($(this).val()==1){ if($(this).val()==1){
showRealTimeTransChart(appType,unitType);// 实时折线 showRealTimeTransChart(appType,entranceId1,isp1,unitType);// 实时折线
$(".chart-realTime").removeClass("hidden"); $(".chart-realTime").removeClass("hidden");
$(".chart-history").addClass("hidden"); $(".chart-history").addClass("hidden");
}else{ }else{
appTransAjax(starth,endh,appType,unitType); appTransAjax(starth,endh,appType,entranceId2,isp2,unitType);
$(".chart-realTime").addClass("hidden"); $(".chart-realTime").addClass("hidden");
$(".chart-history").removeClass("hidden"); $(".chart-history").removeClass("hidden");
} }
@@ -339,14 +341,14 @@
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
var appType=$("#appType").val(); var appType=$("#appType").val();
// var entranceId1=$("#entranceId1").val(); var entranceId1=$("#entranceId1").val();
// var entranceId2=$("#entranceId2").val(); var entranceId2=$("#entranceId2").val();
// var isp1=$("#isp1").val(); var isp1=$("#isp1").val();
// var isp2=$("#isp2").val(); var isp2=$("#isp2").val();
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
var searchQuota=$(".searchQuota[class~='active']").val(); var searchQuota=$(".searchQuota[class~='active']").val();
showRealTimeTransChart(appType,unitType);// 实时折线 showRealTimeTransChart(appType,entranceId1,isp1,unitType);// 实时折线
appTransAjax(starth,endh,appType,unitType); appTransAjax(starth,endh,appType,entranceId2,isp2,unitType);
}); });
}); });
@@ -354,15 +356,15 @@
// 改变排序字段 // 改变排序字段
function changeOrderby(searchQuota) { function changeOrderby(searchQuota) {
loading(); loading();
appTop100List($("#beginDate").val(),$("#endDate").val(),$("#appType").val(),searchQuota,unitType=$("#unitType").val()); appTop100List($("#beginDate").val(),$("#endDate").val(),$("#appType").val(),$("#entranceId2").val(),searchQuota,$("#isp2").val(),unitType=$("#unitType").val());
} }
function searchList1() { function searchList1() {
loading(); loading();
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
var appType=$("#appType").val(); var appType=$("#appType").val();
// var entranceId1=$("#entranceId1").val(); var entranceId1=$("#entranceId1").val();
// var isp1=$("#isp1").val(); var isp1=$("#isp1").val();
showRealTimeTransChart(appType,unitType);// 折线 showRealTimeTransChart(appType,entranceId1,isp1,unitType);// 折线
} }
function searchList2() { function searchList2() {
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
@@ -374,15 +376,15 @@
window.location.reload(); window.location.reload();
} else { } else {
var appType=$("#appType").val(); var appType=$("#appType").val();
// var entranceId2=$("#entranceId2").val(); var entranceId2=$("#entranceId2").val();
// var isp2=$("#isp2").val(); var isp2=$("#isp2").val();
var searchQuota=$(".searchQuota[class~='active']").val(); var searchQuota=$(".searchQuota[class~='active']").val();
appTransAjax(start,end,appType,unitType);// 折线 appTransAjax(start,end,appType,entranceId2,isp2,unitType);// 折线
appTop100List(start,end,appType,searchQuota);// 列表 appTop100List(start,end,appType,entranceId2,searchQuota,isp2);// 列表
} }
} }
// 列表 // 列表
function appTop100List(start,end,appType,searchQuota){ function appTop100List(start,end,appType,entranceId,searchQuota,isp){
$.ajax({ $.ajax({
url : "${ctx}/dashboard/traffic/ajaxAppTopList", url : "${ctx}/dashboard/traffic/ajaxAppTopList",
type : 'get', type : 'get',
@@ -391,9 +393,9 @@
"beginDate" : start, "beginDate" : start,
"endDate" : end, "endDate" : end,
"appType" : appType, "appType" : appType,
// "entranceId" : entranceId, "entranceId" : entranceId,
"searchQuota":searchQuota, "searchQuota":searchQuota,
// "searchIspCode":isp, "searchIspCode":isp,
}, },
async : true, async : true,
timeout : 50000, timeout : 50000,
@@ -478,7 +480,7 @@
} }
// app曲线图 // app曲线图
function appTransAjax(beginDate, endDate,appType,unitType) { function appTransAjax(beginDate, endDate,appType,entranceId,isp,unitType) {
loading(); loading();
$.ajax({ url : "${ctx}/dashboard/traffic/ajaxAppTrend", $.ajax({ url : "${ctx}/dashboard/traffic/ajaxAppTrend",
type : "get", type : "get",
@@ -488,8 +490,8 @@
"beginDate" : beginDate, "beginDate" : beginDate,
"endDate" : endDate, "endDate" : endDate,
"appType" : appType, "appType" : appType,
// "entranceId" : entranceId, "entranceId" : entranceId,
// "searchIspCode":isp, "searchIspCode":isp,
"searchQuotaType":unitType "searchQuotaType":unitType
}, },
traditional:true, traditional:true,
@@ -684,7 +686,7 @@
} }
} }
function realTimeTrendAjax(beginDate, endDate,appType,unitType){ function realTimeTrendAjax(beginDate, endDate,appType,entranceId,isp,unitType){
var result={}; var result={};
$.ajax({ $.ajax({
url : "${ctx}/dashboard/traffic/ajaxAppTrend", url : "${ctx}/dashboard/traffic/ajaxAppTrend",
@@ -694,8 +696,8 @@
"beginDate" : beginDate, "beginDate" : beginDate,
"endDate" : endDate, "endDate" : endDate,
"appType" : appType, "appType" : appType,
// "entranceId" : entranceId, "entranceId" : entranceId,
// "searchIspCode":isp, "searchIspCode":isp,
"searchQuotaType":unitType "searchQuotaType":unitType
}, },
async : false, async : false,
@@ -715,7 +717,7 @@
} }
var timer=null; var timer=null;
// 局点信息 // 局点信息
function showRealTimeTransChart(appType,unitType) { function showRealTimeTransChart(appType,entranceId,isp,unitType) {
var time1=(new Date().getTime())-(1000 * 60 * 10+1000 * 60 * 5); var time1=(new Date().getTime())-(1000 * 60 * 10+1000 * 60 * 5);
var time2=(new Date().getTime())-(1000 * 60 * 5);//推迟五分钟 var time2=(new Date().getTime())-(1000 * 60 * 5);//推迟五分钟
var beginDate=dateFtt("yyyy-MM-dd hh:mm:ss",new Date(time1)); //获取十个点 var beginDate=dateFtt("yyyy-MM-dd hh:mm:ss",new Date(time1)); //获取十个点
@@ -727,7 +729,7 @@
var s2cResult=new Array(); var s2cResult=new Array();
var totalResult=new Array(); var totalResult=new Array();
var unitType=$("#unitType").val(); var unitType=$("#unitType").val();
var intData = realTimeTrendAjax(beginDate, endDate,appType,unitType); //初始化数据 为10个点 var intData = realTimeTrendAjax(beginDate, endDate,appType,entranceId,isp,unitType); //初始化数据 为10个点
var zxchart=null; var zxchart=null;
if(unitType=='Unique Ip'){ if(unitType=='Unique Ip'){
sipResult=intData.sipResult; sipResult=intData.sipResult;
@@ -1060,8 +1062,8 @@
"beginDate" : begin, "beginDate" : begin,
"endDate" : end, "endDate" : end,
"appType" : appType, "appType" : appType,
// "entranceId" : entranceId, "entranceId" : entranceId,
// "searchIspCode":isp, "searchIspCode":isp,
"searchQuotaType":unitType "searchQuotaType":unitType
}, },
async : true, async : true,

View File

@@ -71,7 +71,7 @@
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -81,7 +81,7 @@
<option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option> <option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> <button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
@@ -144,8 +144,8 @@ $(document).ready(function(){
var endh=$("#endDateh").val(); var endh=$("#endDateh").val();
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
ajaxAppList(starth,endh); ajaxAppList(starth,endh,entranceId);
//筛选功能初始化 //筛选功能初始化
$("#resetBtn").on("click",function(){ $("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){ $("select.selectpicker").each(function(){
@@ -167,21 +167,21 @@ function searchList(){
var end=$("#endDate").val(); var end=$("#endDate").val();
$("#beginDateh").val(start); $("#beginDateh").val(start);
$("#endDateh").val(end); $("#endDateh").val(end);
// var entranceId = $("#entranceId").val(); var entranceId = $("#entranceId").val();
if(start==''||end==''||end==null||start==null){ if(start==''||end==''||end==null||start==null){
window.location.reload(); window.location.reload();
}else{ }else{
ajaxAppList(start,end); ajaxAppList(start,end,entranceId);
} }
} }
function ajaxAppList(start,end){ function ajaxAppList(start,end,entranceId){
var appType=$("#appType").val(); var appType=$("#appType").val();
loading(); loading();
$.ajax({ $.ajax({
url: '${ctx}/dashboard/traffic/appList', url: '${ctx}/dashboard/traffic/appList',
type: 'get', type: 'get',
dataType: "json", dataType: "json",
data:{"beginDate":start,"endDate":end,"appType":appType}, data:{"beginDate":start,"endDate":end,"appType":appType,"entranceId":entranceId},
async:true, async:true,
timeout:50000, timeout:50000,
traditional:true, traditional:true,
@@ -381,8 +381,8 @@ function htmlData(fileDataS){
function openAppTrend(appType){ function openAppTrend(appType){
var beginDate=$("#beginDateh").val(); var beginDate=$("#beginDateh").val();
var endDate=$("#endDateh").val(); var endDate=$("#endDateh").val();
// var entranceId = $("#entranceId").val(); var entranceId = $("#entranceId").val();
var url= "${ctx}/dashboard/traffic/appTrendList?beginDate="+beginDate+"&endDate="+endDate+"&appType="+appType; var url= "${ctx}/dashboard/traffic/appTrendList?beginDate="+beginDate+"&endDate="+endDate+"&appType="+appType+"&entranceId="+entranceId;
window.location.href=(url) window.location.href=(url)
} }
/** /**

View File

@@ -93,7 +93,7 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div id="trend" style="height: 500px; position: relative;" > <div id="trend" style="height: 500px; position: relative;" >
<div style="position: relative;"> <div style="position: relative;">
@@ -101,7 +101,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> --> </div>
</div> </div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
@@ -176,19 +176,12 @@ function changeBandwidth(unitType,beginDate,endDate){
var udpdata2=null; var udpdata2=null;
var total=[]; var total=[];
var total2=[]; var total2=[];
/* if(data!=null&&Object.keys(data).length>0){ if(data!=null&&Object.keys(data).length>0){
ipv4data=data.ipv4Type1.result; ipv4data=data.ipv4Type1.result;
ipv6data=data.ipv6Type1.result; ipv6data=data.ipv6Type1.result;
tcpdata=data.trans6Type1.result; tcpdata=data.trans6Type1.result;
udpdata=data.trans17Type1.result; udpdata=data.trans17Type1.result;
total.push(data.ipv4Type1.sum,data.ipv6Type1.sum,data.trans6Type1.sum,data.trans17Type1.sum); total.push(data.ipv4Type1.sum,data.ipv6Type1.sum,data.trans6Type1.sum,data.trans17Type1.sum);
} */
if(data!=null&&Object.keys(data).length>0){
ipv4data=data.ipv4Type.result;
ipv6data=data.ipv6Type.result;
tcpdata=data.trans6Type.result;
udpdata=data.trans17Type.result;
total.push(data.ipv4Type.sum,data.ipv6Type.sum,data.trans6Type.sum,data.trans17Type.sum);
} }
var series=new Array(); var series=new Array();
series.push({ series.push({
@@ -229,9 +222,9 @@ function changeBandwidth(unitType,beginDate,endDate){
} }
}); });
$("#total").val(JSON.stringify(total)); $("#total").val(JSON.stringify(total));
showBandwidthChart("chart1",unitType,xdata,series,""); showBandwidthChart("chart1",unitType,xdata,series,"Astana");
/* if(data!=null&&Object.keys(data).length>0){ if(data!=null&&Object.keys(data).length>0){
ipv4data2=data.ipv4Type2.result; ipv4data2=data.ipv4Type2.result;
ipv6data2=data.ipv6Type2.result; ipv6data2=data.ipv6Type2.result;
tcpdata2=data.trans6Type2.result; tcpdata2=data.trans6Type2.result;
@@ -278,7 +271,7 @@ function changeBandwidth(unitType,beginDate,endDate){
} }
}); });
$("#total2").val(JSON.stringify(total2)); $("#total2").val(JSON.stringify(total2));
showBandwidthChart("chart2",unitType,xdata,series,"Almaty"); */ showBandwidthChart("chart2",unitType,xdata,series,"Almaty");
closeTip(); closeTip();
}, },
error: function(data, textStatus, errorThrown){ error: function(data, textStatus, errorThrown){
@@ -350,7 +343,7 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
rotation: -45, //倾斜的角度 rotation: -45, //倾斜的角度
}, */ }, */
title: { title: {
text: 'time', text: 'time-'+title,
align:'high', align:'high',
}, },
type: 'datetime', type: 'datetime',
@@ -433,15 +426,14 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
var map={}; var map={};
$(rows).each(function(i,d){ $(rows).each(function(i,d){
if(d!=null){ if(d!=null){
total=JSON.parse($("#total").val()); if(i==0){
/* if(i==0){
if(d[0].indexOf("Astana") != -1){ if(d[0].indexOf("Astana") != -1){
total=JSON.parse($("#total").val()); total=JSON.parse($("#total").val());
} }
if(d[0].indexOf("Almaty") != -1){ if(d[0].indexOf("Almaty") != -1){
total=JSON.parse($("#total2").val()); total=JSON.parse($("#total2").val());
} }
} */ }
} }
// 去掉多余属性 // 去掉多余属性
delete d.name; delete d.name;
@@ -523,13 +515,12 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
$(rows).each(function (i,d){ $(rows).each(function (i,d){
if(d!=null){ if(d!=null){
if(i==0){ if(i==0){
total=JSON.parse($("#total").val()); if(d[0].indexOf("Astana") != -1){
/* if(d[0].indexOf("Astana") != -1){
total=JSON.parse($("#total").val()); total=JSON.parse($("#total").val());
} }
if(d[0].indexOf("Almaty") != -1){ if(d[0].indexOf("Almaty") != -1){
total=JSON.parse($("#total2").val()); total=JSON.parse($("#total2").val());
} */ }
} }
if(i>0){ if(i>0){
data.push({ data.push({

View File

@@ -22,7 +22,7 @@
<input id="beginDate" type="hidden" value="${beginDate}"/> <input id="beginDate" type="hidden" value="${beginDate}"/>
<input id="endDate" type="hidden" value="${endDate}"/> <input id="endDate" type="hidden" value="${endDate}"/>
<input id="domain" type="hidden" value="${domain}"/> <input id="domain" type="hidden" value="${domain}"/>
<%-- <input id="entranceId" type="hidden" value="${entranceId}"/> --%> <input id="entranceId" type="hidden" value="${entranceId}"/>
<input id="domainName" type="hidden" value="${domainName}"/> <input id="domainName" type="hidden" value="${domainName}"/>
<input id="total" type="hidden"/> <input id="total" type="hidden"/>
<!-- 搜索内容与操作按钮栏 --> <!-- 搜索内容与操作按钮栏 -->
@@ -51,13 +51,13 @@ $(document).ready(function(){
loading(); loading();
var beginDate=$("#beginDate").val(); var beginDate=$("#beginDate").val();
var endDate=$("#endDate").val(); var endDate=$("#endDate").val();
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
var domain=$("#domain").val(); var domain=$("#domain").val();
$.ajax({ $.ajax({
url: '${ctx}/dashboard/traffic/ajaxDomainTrans', url: '${ctx}/dashboard/traffic/ajaxDomainTrans',
type : "get" , type : "get" ,
dataType:"json", dataType:"json",
data:{"beginDate":beginDate,"endDate":endDate,"domain":domain}, data:{"beginDate":beginDate,"endDate":endDate,"entranceId":entranceId,"domain":domain},
async:true, async:true,
timeout:50000, timeout:50000,
success:function (rs) { success:function (rs) {

View File

@@ -43,7 +43,7 @@
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -53,7 +53,7 @@
<option value="${dict.itemCode}" <c:if test="${dict.itemCode==1}">selected</c:if>><spring:message code="${dict.itemValue}"></spring:message></option> <option value="${dict.itemCode}" <c:if test="${dict.itemCode==1}">selected</c:if>><spring:message code="${dict.itemValue}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> <button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
@@ -91,7 +91,7 @@
<thead> <thead>
<tr> <tr>
<th><spring:message code="ip_addr"/></th> <th><spring:message code="ip_addr"/></th>
<%-- <th><spring:message code="area_id"/></th> --%> <th><spring:message code="area_id"/></th>
<th><spring:message code="c2s_byte_num"/></th> <th><spring:message code="c2s_byte_num"/></th>
<th><spring:message code="s2c_byte_num"/></th> <th><spring:message code="s2c_byte_num"/></th>
<th><spring:message code="bytes"/></th> <th><spring:message code="bytes"/></th>
@@ -136,9 +136,9 @@ $(document).ready(function(){
var endh=$("#endDateh").val(); var endh=$("#endDateh").val();
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
ipActiveMinuteList(starth,endh); ipActiveMinuteList(starth,endh,entranceId);
ipActiveOneHourList(starth,endh); ipActiveOneHourList(starth,endh,entranceId);
//筛选功能初始化 //筛选功能初始化
$("#resetBtn").on("click",function(){ $("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){ $("select.selectpicker").each(function(){
@@ -230,13 +230,13 @@ function searchList(){
var end=$("#endDate").val(); var end=$("#endDate").val();
$("#beginDateh").val(start); $("#beginDateh").val(start);
$("#endDateh").val(end); $("#endDateh").val(end);
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
loading(); loading();
if(start==''||end==''||end==null||start==null){ if(start==''||end==''||end==null||start==null){
window.location.reload(); window.location.reload();
}else{ }else{
ipActiveMinuteList(start,end); ipActiveMinuteList(start,end,entranceId);
ipActiveOneHourList(start,end); ipActiveOneHourList(start,end,entranceId);
} }
} }
@@ -337,13 +337,13 @@ function showIpActiveChart(xData,series){
}); });
} }
//活跃IP一小时间隔五分钟统计 //活跃IP一小时间隔五分钟统计
function ipActiveMinuteList(beginDate,endDate){ function ipActiveMinuteList(beginDate,endDate,entranceId){
loading(); loading();
$.ajax({ $.ajax({
url: '${ctx}/dashboard/ipActiveMinuteList', url: '${ctx}/dashboard/ipActiveMinuteList',
type : "get", type : "get",
dataType:"json", dataType:"json",
data:{"beginDate":beginDate,"endDate":endDate}, data:{"beginDate":beginDate,"endDate":endDate,"entranceId":entranceId},
async:true, async:true,
timeout:50000, timeout:50000,
success:function (rs) { success:function (rs) {
@@ -382,14 +382,14 @@ function showIpActiveChart(xData,series){
}); });
} }
//活跃IP一小时统计 //活跃IP一小时统计
function ipActiveOneHourList(beginDate,endDate){ function ipActiveOneHourList(beginDate,endDate,entranceId){
$("#tbodyData").html(""); $("#tbodyData").html("");
loading(); loading();
$.ajax({ $.ajax({
url: '${ctx}/dashboard/ajaxIpActiveList', url: '${ctx}/dashboard/ajaxIpActiveList',
type : "get" , type : "get" ,
dataType:"json", dataType:"json",
data:{"beginDate":beginDate,"endDate":endDate}, data:{"beginDate":beginDate,"endDate":endDate,"entranceId":entranceId},
async:true, async:true,
timeout:50000, timeout:50000,
success:function (data) { success:function (data) {
@@ -415,7 +415,7 @@ function showIpActiveChart(xData,series){
var html = "<tr>"; var html = "<tr>";
html+= "<td class='tc'>"+rs.ipAddr+"</td>"; html+= "<td class='tc'>"+rs.ipAddr+"</td>";
// html+= "<td class='tc'>"+(rs.areaId==1? "Astana":"Almaty")+"</td>"; html+= "<td class='tc'>"+(rs.areaId==1? "Astana":"Almaty")+"</td>";
html+= "<td class='tc'>"+rs.c2sByteLen+"</td>"; html+= "<td class='tc'>"+rs.c2sByteLen+"</td>";
html+= "<td class='tc'>"+rs.s2cByteLen+"</td>"; html+= "<td class='tc'>"+rs.s2cByteLen+"</td>";
html+= "<td class='tc'>"+byteNum+"</td>"; html+= "<td class='tc'>"+byteNum+"</td>";
@@ -431,7 +431,7 @@ function showIpActiveChart(xData,series){
if(i==data.length-1){ if(i==data.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>"; html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>";
// html+= "<td class='tc'>"+"--"+"</td>"; html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+totalc2sByte+"</td>"; html+= "<td class='tc'>"+totalc2sByte+"</td>";
html+= "<td class='tc'>"+totals2cByte+"</td>"; html+= "<td class='tc'>"+totals2cByte+"</td>";
html+= "<td class='tc'>"+totalByte+"</td>"; html+= "<td class='tc'>"+totalByte+"</td>";

View File

@@ -59,7 +59,7 @@
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -69,7 +69,7 @@
<option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option> <option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
@@ -154,8 +154,8 @@ $(document).ready(function(){
var endh=$("#endDateh").val(); var endh=$("#endDateh").val();
$("#beginDate").val(starth); $("#beginDate").val(starth);
$("#endDate").val(endh); $("#endDate").val(endh);
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
ajaxProtocolList(starth,endh); ajaxProtocolList(starth,endh,entranceId);
//筛选功能初始化 //筛选功能初始化
$("#resetBtn").on("click",function(){ $("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){ $("select.selectpicker").each(function(){
@@ -176,16 +176,16 @@ function searchList(){
loading(); loading();
var start=$("#beginDate").val(); var start=$("#beginDate").val();
var end=$("#endDate").val(); var end=$("#endDate").val();
// var entranceId=$("#entranceId").val(); var entranceId=$("#entranceId").val();
$("#beginDateh").val(start); $("#beginDateh").val(start);
$("#endDateh").val(end); $("#endDateh").val(end);
if(start==''||end==''||end==null||start==null){ if(start==''||end==''||end==null||start==null){
window.location.reload(); window.location.reload();
}else{ }else{
ajaxProtocolList(start,end); ajaxProtocolList(start,end,entranceId);
} }
} }
function ajaxProtocolList(start,end){ function ajaxProtocolList(start,end,entranceId){
var protoType=$("#protoType").val(); var protoType=$("#protoType").val();
var searchDirection=$("#searchDirection").val(); var searchDirection=$("#searchDirection").val();
loading(); loading();
@@ -193,7 +193,7 @@ function ajaxProtocolList(start,end){
url: '${ctx}/dashboard/traffic/protocolList', url: '${ctx}/dashboard/traffic/protocolList',
type: 'get', type: 'get',
dataType: "json", dataType: "json",
data:{"beginDate":start,"endDate":end,"protoType":protoType,"searchDirection":searchDirection}, data:{"beginDate":start,"endDate":end,"protoType":protoType,"entranceId":entranceId,"searchDirection":searchDirection},
async:true, async:true,
timeout:50000, timeout:50000,
traditional:true, traditional:true,

View File

@@ -80,7 +80,7 @@
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<%-- <div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="area_id"/></span> <span class="selectpicker form-control" ><spring:message code="area_id"/></span>
</div> </div>
@@ -90,8 +90,8 @@
<option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option> <option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"></spring:message></option>
</c:forEach> </c:forEach>
</select> </select>
</div> --%> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
<button type="button" class="btn blue" <button type="button" class="btn blue"
onClick="return searchList()"> onClick="return searchList()">
@@ -145,7 +145,7 @@
<th><spring:message code="trend"/></th> <th><spring:message code="trend"/></th>
<th><spring:message code="domain_name"/></th> <th><spring:message code="domain_name"/></th>
<th><spring:message code="client_ip"/></th> <th><spring:message code="client_ip"/></th>
<%-- <th><spring:message code="area_id"/></th> --%> <th><spring:message code="area_id"/></th>
<th><spring:message code="packets"/></th> <th><spring:message code="packets"/></th>
<th><spring:message code="pps"/> </th> <th><spring:message code="pps"/> </th>
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
@@ -212,7 +212,7 @@
function ajaxWebTypeList(start, end) { function ajaxWebTypeList(start, end) {
loading(); loading();
var domain = $("#domain").val(); var domain = $("#domain").val();
// var entranceId = $("#entranceId").val(); var entranceId = $("#entranceId").val();
$.ajax({ $.ajax({
url : '${ctx}/dashboard/traffic/websiteList', url : '${ctx}/dashboard/traffic/websiteList',
type : 'get', type : 'get',
@@ -220,8 +220,8 @@
data : { data : {
"beginDate" : start, "beginDate" : start,
"endDate" : end, "endDate" : end,
"domain" : domain/* , "domain" : domain,
"entranceId" : entranceId */ "entranceId" : entranceId
}, },
async : true, async : true,
timeout : 50000, timeout : 50000,
@@ -395,7 +395,7 @@
html += '<td class="tc"><a onclick="searchByDomain(\''+data.webId+'\',\''+data.website+'\')"><i class="fa fa-line-chart"></i></a></td>'; html += '<td class="tc"><a onclick="searchByDomain(\''+data.webId+'\',\''+data.website+'\')"><i class="fa fa-line-chart"></i></a></td>';
html += "<td class='tc'>" + data.website + "</td>"; html += "<td class='tc'>" + data.website + "</td>";
html += "<td class='tc'>" + data.uniqueNum + "</td>"; html += "<td class='tc'>" + data.uniqueNum + "</td>";
/* html += "<td class='tc'>" + (((data.entranceId)==1) ? "Astana":"Almaty") + "</td>"; */ html += "<td class='tc'>" + (((data.entranceId)==1) ? "Astana":"Almaty") + "</td>";
html += "<td class='tc'>" + Math.round(data.pktCount*100)/100 + "</td>"; html += "<td class='tc'>" + Math.round(data.pktCount*100)/100 + "</td>";
html += "<td class='tc'>" + data.pps + "</td>"; html += "<td class='tc'>" + data.pps + "</td>";
html += "<td class='tc'>" + packper + " %</td>"; html += "<td class='tc'>" + packper + " %</td>";
@@ -408,7 +408,7 @@
html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>"; html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>";
html+= "<td class='tc'>" +"--"+"</td>" html+= "<td class='tc'>" +"--"+"</td>"
html+= "<td class='tc'>"+totalunique+"</td>"; html+= "<td class='tc'>"+totalunique+"</td>";
/* html+= "<td class='tc'>" +"--"+"</td>"; */ html+= "<td class='tc'>" +"--"+"</td>";
html+= "<td class='tc'>"+parseInt(totalPackets).toFixed(2)+"</td>"; html+= "<td class='tc'>"+parseInt(totalPackets).toFixed(2)+"</td>";
html+= "<td class='tc'>"+"--"+"</td>"; html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
@@ -426,8 +426,8 @@
function searchByDomain(domain,domainName){ function searchByDomain(domain,domainName){
var beginDate = $("#beginDateh").val(); var beginDate = $("#beginDateh").val();
var endDate = $("#endDateh").val(); var endDate = $("#endDateh").val();
// var entranceId = $("#entranceId").val(); var entranceId = $("#entranceId").val();
var url= "${ctx}/dashboard/traffic/domainTrans?beginDate="+beginDate+"&endDate="+endDate+"&domain="+domain+"&domainName="+domainName; var url= "${ctx}/dashboard/traffic/domainTrans?beginDate="+beginDate+"&endDate="+endDate+"&domain="+domain+"&domainName="+domainName+"&entranceId="+entranceId;
openPicWindow(url); openPicWindow(url);
} }
function openPicWindow(url){ function openPicWindow(url){

View File

@@ -5,7 +5,7 @@
<html> <html>
<head> <head>
<link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo-N.ico" /> <link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo-K.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${fns:getStringProperty('productName','NIS')}</title> <title>${fns:getStringProperty('productName','NIS')}</title>
@@ -317,7 +317,7 @@ background:#3d3d3d;
<!-- BEGIN LOGO --> <!-- BEGIN LOGO -->
<div class="page-logo"> <div class="page-logo">
<a href="index.html"> <img <a href="index.html"> <img
src="${pageContext.request.contextPath}/static/layouts/layout/img/logo2-N.png" src="${pageContext.request.contextPath}/static/layouts/layout/img/logo2-K.png"
alt="logo" class="logo-default" /> alt="logo" class="logo-default" />
</a> </a>
<!-- <button type="button" onclick="javascript:fullScreen();">a</button> --> <!-- <button type="button" onclick="javascript:fullScreen();">a</button> -->
@@ -424,7 +424,7 @@ background:#3d3d3d;
</a> </a>
</li> </li>
</c:if> </c:if>
<li class="dropdown dropdown-user nav hidden"> <li class="dropdown dropdown-user nav">
<a href="${pageContext.request.contextPath}/static/PotPlayerSetup64.exe" id="helpHref" target="_self" > <a href="${pageContext.request.contextPath}/static/PotPlayerSetup64.exe" id="helpHref" target="_self" >
<i class="fa fa-cloud-download"></i> <i class="fa fa-cloud-download"></i>
<span class="username username-hide-on-mobile" id="help"> <span class="username username-hide-on-mobile" id="help">
@@ -433,7 +433,7 @@ background:#3d3d3d;
</a> </a>
</li> </li>
<!-- 在线帮助 --> <!-- 在线帮助 -->
<li class="dropdown dropdown-user nav hidden"> <li class="dropdown dropdown-user nav">
<a href="${ctx}/sys/help" id="helpHref" target="mainFrame" > <a href="${ctx}/sys/help" id="helpHref" target="mainFrame" >
<i class="icon-question font-sharp"></i> <i class="icon-question font-sharp"></i>
<span class="username username-hide-on-mobile" id="help"> <span class="username username-hide-on-mobile" id="help">

View File

@@ -173,7 +173,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -183,7 +183,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -317,10 +317,11 @@ $(document).ready(function(){
<spring:message code="block_drop"/> <spring:message code="block_drop"/>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<c:set var="actions">${dict.itemValue}</c:set>
<spring:message code="${actions}"/> <spring:message code="${actions}"/>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
<c:set var="actions">${dict.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
</td> </td>
@@ -328,14 +329,13 @@ $(document).ready(function(){
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<td> <td>
<c:set var="labelProtoIds">${log.labelProtoId }</c:set> <c:set var="labelProtoIds">${log.labelProtoId }</c:set>

View File

@@ -152,7 +152,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -162,7 +162,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -291,14 +291,13 @@
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<td >${log.capIp}</td> <td >${log.capIp}</td>
<td> <td>

View File

@@ -207,7 +207,7 @@
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -217,7 +217,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -272,7 +272,7 @@
</div> --%> </div> --%>
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label class="control-label"><spring:message code='isp'/></label> <label class="control-label"><spring:message code='isp'/></label>
<select id="ispSelect" name="ispCode" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>"> <select id="ispSelect" name="ispCode" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
@@ -282,7 +282,7 @@
</c:forEach> </c:forEach>
</select> </select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
@@ -432,14 +432,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -157,7 +157,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -167,7 +167,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -288,14 +288,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -153,7 +153,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -163,7 +163,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -300,14 +300,13 @@
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<td> <td>

View File

@@ -155,7 +155,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -165,7 +165,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -283,13 +283,13 @@ $(document).ready(function(){
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -182,7 +182,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -192,7 +192,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">

View File

@@ -164,7 +164,7 @@
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -174,7 +174,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -327,14 +327,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -1,451 +0,0 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
<spring:message code="http_obj_scan_result"></spring:message>
</title>
<script>
$(document).ready(function() {
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
//筛选功能
filterActionInit();
//异步获取voip相关信息
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
var compileId=$(this).attr("compileId");
// var cfgId=$(this).attr("cfgId");
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/website/ajaxHttpSubList',
data:{"compileId":compileId,"index":index},
dataType:"html",
success:function(data){
var subTab="<tr class='child'>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
html = html+data;
subTab=subTab+html;
subTab+="</td>";
subTab+="</tr>";
$("#"+openId).parent().parent().after(subTab);
$("div[name='tabTitle"+index+"']").get(0).click();
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
<spring:message code="http_obj_scan_result"/>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/httpObjScanResult/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<input id="jboxtCustomValue" type="hidden" value="true"/>
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<%-- <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/> --%>
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<%-- <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'searchFoundStartTime\')}',maxDate:'#F{$dp.$D(\'searchFoundStartTime\',{d:1})}'});"/> --%>
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/log/ntc/httpObjScanResult/exportHttpObjScanResult?type=excel" searchUrl="${ctx}/log/ntc/httpObjScanResult/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/log/ntc/httpObjScanResult/exportHttpObjScanResult?type=csv" searchUrl="${ctx}/log/ntc/httpObjScanResult/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<%-- <div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div> --%>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"></spring:message></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="control-label"><spring:message code='transport_layer_protocol'/></label>
<form:select path="transProto" class="selectpicker form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"></spring:message></label>
<input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"></spring:message></label>
<input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="server_port"></spring:message></label>
<input name="dPort" type="text" class="form-control logCfgId number" value="${log.dPort }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="client_port"></spring:message></label>
<input name="sPort" type="text" class="form-control logCfgId number" value="${log.sPort }"/>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>URL</label>
<input name="url" type="text" class="form-control" value="${log.url }"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</form:form>
</div>
<sys:message content="${message}"/>
<div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
<thead>
<tr>
<th><spring:message code="log"/></th>
<%-- <th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th> --%>
<%-- <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th> --%>
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
<th class="sort-column url" column="URL"> URL </th>
<th class="sort-column req_hdr_key" isVisible="false" column="req_hdr_key"><spring:message code="req_hdr_key"/></th>
<th class="sort-column req_hdr_file" column="req_hdr_file"><spring:message code="req_hdr_file"/></th>
<th class="sort-column req_body_key" isVisible="false" column="req_body_key"><spring:message code="req_body_key"/></th>
<th class="sort-column req_body_file" column="req_body_file"><spring:message code="req_body_file"/></th>
<th class="sort-column res_hdr_key" isVisible="false" column="res_hdr_key"><spring:message code="res_hdr_key"/></th>
<th class="sort-column res_hdr_file" column="res_hdr_file"><spring:message code="res_hdr_file"/></th>
<th class="sort-column res_body_key" isVisible="false" column="res_body_key"><spring:message code="res_body_key"/></th>
<th class="sort-column res_body_file" column="res_body_file"><spring:message code="res_body_file"/></th>
<th class="sort-column topic_name" isVisible="false" column="topic_name"><spring:message code="topic_name"/></th>
<th class="sort-column malware_id" isVisible="false" column="malware_id"><spring:message code="malware_id"/></th>
<th class="sort-column malware_type" column="malware_type"><spring:message code="malware_type"/></th>
<th class="sort-column malware_name" column="malware_name"><spring:message code="malware_name"/></th>
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
<%-- <th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th> --%>
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
</tr>
</thead>
<tbody>
<c:forEach var="log" items="${page.list }" varStatus="status">
<tr>
<td>
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
<a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
<!-- </td> -->
<%-- <td>${log.cfgId }</td> --%>
<td>${log.foundTime }</td>
<td>${log.recvTime}</td>
<td>
<%-- <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${entrances}"/> --%>
${log.entranceId }
</td>
<td>${log.url}</td>
<td>${log.reqHdrKey }</td>
<td>
<c:if test="${fn:startsWith(log.reqHdrFile, 'http')}">
<a href="${log.reqHdrFile}" data-original-title="${log.reqHdrFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.reqHdrFile,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.reqHdrFile, 'http') and !empty log.reqHdrFile}">
<a href="http://${log.reqHdrFile}" data-original-title="http://${log.reqHdrFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.reqHdrFile,0,20) }
</a>
</c:if>
</td>
<td>${log.reqBodyKey }</td>
<td>
<c:if test="${fn:startsWith(log.reqBodyFile, 'http')}">
<a href="${log.reqBodyFile}" data-original-title="${log.reqBodyFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.reqBodyFile,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.reqBodyFile, 'http') and !empty log.reqBodyFile}">
<a href="http://${log.reqBodyFile}" data-original-title="http://${log.reqBodyFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.reqBodyFile,0,20) }
</a>
</c:if>
</td>
<td>${log.resHdrKey }</td>
<td>
<c:if test="${fn:startsWith(log.resHdrFile, 'http')}">
<a href="${log.resHdrFile}" data-original-title="${log.resHdrFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.resHdrFile,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.resHdrFile, 'http') and !empty log.resHdrFile}">
<a href="http://${log.resHdrFile}" data-original-title="http://${log.resHdrFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.resHdrFile,0,20) }
</a>
</c:if>
</td>
<td>${log.resBodyKey }</td>
<td>
<c:if test="${fn:startsWith(log.resBodyFile, 'http')}">
<a href="${log.resBodyFile}" data-original-title="${log.resBodyFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.resBodyFile,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.resBodyFile, 'http') and !empty log.resBodyFile}">
<a href="http://${log.resBodyFile}" data-original-title="http://${log.resBodyFile}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.resBodyFile,0,20) }
</a>
</c:if>
</td>
<td >${log.topicName}</td>
<td >${log.malwareId}</td>
<td >${log.malwareType}</td>
<td >${log.malwareName}</td>
<td >${log.capIp}</td>
<td>
<c:set var="transProtos">${log.transProto }</c:set>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
<c:if test="${dic.itemCode eq log.transProto}">
<c:set var="transProtos">${dic.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${transProtos}"/>
</td>
<td>
<c:set var="addrTypes">${log.addrType }</c:set>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
<c:if test="${log.addrType==dic.itemCode}">
<c:set var="addrTypes">${dic.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${addrTypes}"/>
</td>
<td>${log.dIp}</td>
<td>${log.sIp}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<td>
<c:set var="deviceIds">${log.deviceId }</c:set>
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
<c:if test="${device.itemCode eq log.deviceId}">
<c:set var="deviceIds">${device.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${deviceIds}"/>
</td>
<td>
<c:set var="linkIds">${log.linkId }</c:set>
<c:forEach items="${fns:getDictList('LINK')}" var="link">
<c:if test="${link.itemCode eq log.linkId}">
<c:set var="linkIds">${link.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${linkIds}"/>
</td>
<td>
<c:set var="encapTypes">${log.encapType }</c:set>
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
<c:if test="${encapType.itemCode eq log.encapType}">
<c:set var="encapTypes">${encapType.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${encapTypes}"/>
</td>
<td>
<c:set var="directions">${log.direction }</c:set>
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
<c:if test="${direction.itemCode eq log.direction}">
<c:set var="directions">${direction.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${directions}"/>
</td>
<td>${log.innerSmac }</td>
<td>${log.innerDmac }</td>
<td>
<c:set var="streamDirs">${log.streamDir }</c:set>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
<c:if test="${streamType.itemCode eq log.streamDir}">
<c:set var="streamDirs">${streamType.itemValue}</c:set>
</c:if>
</c:forEach>
<spring:message code="${streamDirs}"/>
</td>
<td>${log.addrList }</td>
<td>${log.serverLocate}</td>
<td>${log.clientLocate}</td>
<td>${log.sAsn}</td>
<td>${log.dAsn}</td>
<td>${log.sSubscribeId}</td>
<td>${log.dSubscribeId}</td>
<%-- <td>${log.userRegion}</td> --%>
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -164,7 +164,7 @@
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -174,7 +174,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<!-- <div class="col-md-2"> --> <!-- <div class="col-md-2"> -->
<!-- <div class="form-group"> --> <!-- <div class="form-group"> -->
@@ -370,14 +370,14 @@
<td>${log.referer}</td> <td>${log.referer}</td>
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.dIp}</td> <td>${log.dIp}</td>
<td>${log.sIp}</td> <td>${log.sIp}</td>

View File

@@ -156,7 +156,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -166,7 +166,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -284,14 +284,13 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<td >${log.capIp}</td> <td >${log.capIp}</td>
<td> <td>

View File

@@ -152,7 +152,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -162,7 +162,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -280,14 +280,13 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<td >${log.capIp}</td> <td >${log.capIp}</td>
<td> <td>

View File

@@ -119,7 +119,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -129,7 +129,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -251,14 +251,14 @@
</td> </td>
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.natIp }</td> <td>${log.natIp }</td>

View File

@@ -120,7 +120,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -130,7 +130,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"></spring:message></label> <label><spring:message code="clj_ip"></spring:message></label>
@@ -250,14 +250,14 @@
</td> </td>
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.natIp }</td> <td>${log.natIp }</td>

View File

@@ -162,7 +162,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -172,7 +172,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">

View File

@@ -152,7 +152,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -162,7 +162,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -297,14 +297,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.mailProto }</td> <td>${log.mailProto }</td>

View File

@@ -165,7 +165,7 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> --%> </div> --%>
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -175,7 +175,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -286,14 +286,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -156,7 +156,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -166,7 +166,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -288,14 +288,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -200,7 +200,7 @@
</form:select> </form:select>
</div> </div>
</div> --%> </div> --%>
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance" /></label> <label><spring:message code="entrance" /></label>
<form:select path="entranceId" <form:select path="entranceId"
@@ -217,7 +217,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip" /></label> <input <label><spring:message code="clj_ip" /></label> <input
@@ -339,14 +339,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -145,7 +145,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -155,7 +155,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -280,14 +280,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -145,7 +145,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -155,7 +155,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -280,14 +280,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>
<td> <td>

View File

@@ -166,7 +166,7 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> --%> </div> --%>
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -176,7 +176,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -287,14 +287,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -145,7 +145,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -155,7 +155,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -281,14 +281,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -167,7 +167,7 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> --%> </div> --%>
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -177,7 +177,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -287,14 +287,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.pid}</td> <td>${log.pid}</td>

View File

@@ -155,7 +155,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -165,7 +165,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -293,14 +293,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.duation}</td> <td>${log.duation}</td>
<td>${log.voipProtocol}</td> <td>${log.voipProtocol}</td>

View File

@@ -156,7 +156,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -166,7 +166,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -315,14 +315,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<c:if test="${fns:getUser().isAdmin()}"><td>${log.duation}</td></c:if> <c:if test="${fns:getUser().isAdmin()}"><td>${log.duation}</td></c:if>
<td>${log.voipProtocol}</td> <td>${log.voipProtocol}</td>

View File

@@ -155,7 +155,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -165,7 +165,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -292,14 +292,14 @@ $(document).ready(function(){
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>
<c:if test="${fn:startsWith(log.url, 'http://')}"> <c:if test="${fn:startsWith(log.url, 'http://')}">

View File

@@ -128,7 +128,7 @@ $(document).ready(function(){
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -138,7 +138,7 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
@@ -264,14 +264,13 @@ $(document).ready(function(){
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td> <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
${log.entranceId }
</td> </td>
<%-- <td>${log.version}</td> <%-- <td>${log.version}</td>

View File

@@ -152,7 +152,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -162,7 +162,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -286,14 +286,14 @@
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.p2pProto}</td> <td>${log.p2pProto}</td>

View File

@@ -123,7 +123,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -133,7 +133,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -272,14 +272,14 @@
</td> --%> </td> --%>
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -169,7 +169,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -179,7 +179,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -304,14 +304,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.version }</td> <td>${log.version }</td>

View File

@@ -169,7 +169,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -179,7 +179,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -304,14 +304,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td>${log.version }</td> <td>${log.version }</td>

View File

@@ -138,7 +138,7 @@
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<%-- <div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
@@ -148,7 +148,7 @@
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div> --%> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -294,14 +294,14 @@
<td>${log.foundTime }</td> <td>${log.foundTime }</td>
<td>${log.recvTime }</td> <td>${log.recvTime }</td>
<td>${log.entranceId } <td>
<%-- <c:set var="entrances">${log.entranceId }</c:set> <c:set var="entrances">${log.entranceId }</c:set>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
<c:if test="${dic.itemCode eq log.entranceId}"> <c:if test="${dic.itemCode eq log.entranceId}">
<c:set var="entrances">${dic.itemValue}</c:set> <c:set var="entrances">${dic.itemValue}</c:set>
</c:if> </c:if>
</c:forEach> </c:forEach>
<spring:message code="${entrances}"/> --%> <spring:message code="${entrances}"/>
</td> </td>
<td> <td>

View File

@@ -8,7 +8,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>NTC</title> <title>NTC</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo-N.ico" /> <link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo-K.ico" />
<link href="${pageContext.request.contextPath}/static/login/assets/css/bootstrap.min.css" rel="stylesheet" /> <link href="${pageContext.request.contextPath}/static/login/assets/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/font-awesome.min.css" /> <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/font-awesome.min.css" />
@@ -79,7 +79,7 @@
} }
.main_right{ .main_right{
background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/login_06-N.png"); background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/login_06-K.png");
background-repeat:no-repeat; background-repeat:no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
max-height: 501px; max-height: 501px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

View File

@@ -87,20 +87,10 @@
var data=new Array(); var data=new Array();
var drillData=new Array(); var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
// var inoctetsNum=d.count; var inoctetsNum=d.count;
// unit=changeUnit(inoctetsNum); unit=changeUnit(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
var mapNum=getUnit(minCount,d.count);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
// var pktNum=new Array(); // var pktNum=new Array();
// var byteLen=new Array(); // var byteLen=new Array();
//协议图-操作系统 //协议图-操作系统
@@ -550,20 +540,10 @@
var xData=new Array(); var xData=new Array();
var drillData=new Array(); var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
var mapNum=getUnit(minCount,d.count); var inoctetsNum=d.count;
// var inoctetsNum=d.count; unit=changeUnit(inoctetsNum);
// unit=changeUnit(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
var pktNum=new Array(); var pktNum=new Array();
var byteLen=new Array(); var byteLen=new Array();
xData.push(d.appType); xData.push(d.appType);
@@ -701,7 +681,7 @@
tooltip: { tooltip: {
enabled: true, enabled: true,
headerFormat: '<span style="font-size:10px"><b>{point.key}</span><br>', headerFormat: '<span style="font-size:10px"><b>{point.key}</span><br>',
pointFormat: '{point.y:.2f} <b> '+unit, pointFormat: '{point.y:.1f} <b> '+unit,
shared: true, shared: true,
useHTML: true useHTML: true
}, },
@@ -752,20 +732,10 @@ function echart_2(rs){
var data=new Array(); var data=new Array();
var drillData=new Array(); var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
// var inoctetsNum=d.count; var inoctetsNum=d.count;
// unit=changeUnit(inoctetsNum); unit=changeUnit(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
var mapNum=getUnit(minCount,d.count);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
// var pktNum=new Array(); // var pktNum=new Array();
// var byteLen=new Array(); // var byteLen=new Array();
data.push({ data.push({
@@ -912,20 +882,10 @@ function echart_5(rs){
var data=new Array(); var data=new Array();
var drillData=new Array(); var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
// var inoctetsNum=d.count; var inoctetsNum=d.count;
// unit=changeUnit(inoctetsNum); unit=changeUnit(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
var mapNum=getUnit(minCount,d.count);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
// var pktNum=new Array(); // var pktNum=new Array();
// var byteLen=new Array(); // var byteLen=new Array();
//协议图-操作系统 //协议图-操作系统
@@ -1079,20 +1039,10 @@ function echart_4(rs){
var data=new Array(); var data=new Array();
// var drillData=new Array(); // var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
// var inoctetsNum=d.count; var inoctetsNum=d.count;
// unit=changeUnit(inoctetsNum); unit=changeUnit(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
var mapNum=getUnit(minCount,d.count);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
// var pktNum=new Array(); // var pktNum=new Array();
// var byteLen=new Array(); // var byteLen=new Array();
data.push({ data.push({
@@ -1232,20 +1182,10 @@ function echart_6(rs){
var data=new Array(); var data=new Array();
// var drillData=new Array(); // var drillData=new Array();
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i, d) { $(rs).each(function(i, d) {
// var inoctetsNum=d.count; var inoctetsNum=d.count;
// unit=changeUnit(inoctetsNum); unit=changeUnit(inoctetsNum);
// inoctetsNum=changeNum(inoctetsNum); inoctetsNum=changeNum(inoctetsNum);
var mapNum=getUnit(minCount,d.count);
var inoctetsNum=mapNum.sum;
unit=mapNum.unit;
// var pktNum=new Array(); // var pktNum=new Array();
// var byteLen=new Array(); // var byteLen=new Array();
//协议图-操作系统 //协议图-操作系统
@@ -1391,36 +1331,26 @@ function echart_topic_domain(rs){
color:'#265197' color:'#265197'
}]; }];
var unit="bytes"; var unit="bytes";
var minCount = 0;
for (var int = rs.length-1; int >= 0; int--) {
if(rs[int].count>0){
minCount=rs[int].count;
break;
}
}
$(rs).each(function(i,d){ $(rs).each(function(i,d){
var inoctetsNum=d.count; var inoctetsNum=d.count;
// var inoctetsNumK=inoctetsNum/1024; var inoctetsNumK=inoctetsNum/1024;
// var inoctetsNumM=inoctetsNumK/1024; var inoctetsNumM=inoctetsNumK/1024;
// var inoctetsNumG=inoctetsNumM/1024; var inoctetsNumG=inoctetsNumM/1024;
// inoctetsNum=inoctetsNumG; inoctetsNum=inoctetsNumG;
// inoctetsNum=Math.round(inoctetsNum*100)/100; inoctetsNum=Math.round(inoctetsNum*100)/100;
unit="GB"; unit="GB";
if(inoctetsNum>0){ if(inoctetsNum>0){
/****主题中的子域名*******/ /****主题中的子域名*******/
var topicData=0; var topicData=0;
$(d.domainData).each(function(j,t){ $(d.domainData).each(function(j,t){
// var domainNum=t.byteCount; var domainNum=t.byteCount;
// var domainNumK=domainNum/1024; var domainNumK=domainNum/1024;
// var domainNumM=domainNumK/1024; var domainNumM=domainNumK/1024;
// var domainNumG=domainNumM/1024; var domainNumG=domainNumM/1024;
// domainNum=domainNumG; domainNum=domainNumG;
// domainNum=Math.round(domainNum*100)/100; domainNum=Math.round(domainNum*100)/100;
var mapNum=getUnit(minCount,t.byteCount);
var domainNum=mapNum.sum;
unit=mapNum.unit;
topicData=topicData+domainNum; topicData=topicData+domainNum;
data.push({ data.push({
'id': '2.'+t.webId, 'id': '2.'+t.webId,
@@ -1652,82 +1582,3 @@ function addDateName(){
var now=year+""+month+""+date+""+h+""+m+""+s; var now=year+""+month+""+date+""+h+""+m+""+s;
return now; return now;
} }
// minCount Topic 最小的count值
function getUnit(minCount,count){
var unit="bytes";
if(minCount >0){
var countk1=minCount/1024;
var sumk1=Math.round(countk1*100)/100;
if(sumk1>0){
var countm1=countk1/1024;
var summ1=Math.round(countm1*100)/100;
if(summ1>0){
var countg1=countm1/1024;
var sumg1=Math.round(countg1*100)/100;
if(sumg1>0){
unit="GB";
}else{
unit="MB";
}
}else{
unit="KB";
}
}else{
unit="bytes";
}
}
var map={};
if(count >=0){
if(unit =="bytes"){
map.unit=unit;
map.sum=count;
}else if(unit =="KB"){
var countk=count/1024;
var sumk=Math.round(countk*100)/100;
map.unit=unit;
map.sum=sumk;
}else if(unit =="MB"){
var countk=count/1024;
var countm=countk/1024;
var summ=Math.round(countm*100)/100;
map.unit=unit;
map.sum=summ;
}else if(unit =="GB"){
var countk=count/1024;
var countm=countk/1024;
var countg=countm/1024;
var sumg=Math.round(countg*100)/100;
map.unit=unit;
map.sum=sumg;
}
}
return map;
// if(count >=0){
// var countk=count/1024;
// var sumk=Math.round(countk*100)/100;
// if(sumk>0){
// var countm=countk/1024;
// var summ=Math.round(countm*100)/100;
// if(summ>0){
// var countg=countm/1024;
// var sumg=Math.round(countg*100)/100;
// if(sumg>0){
// map.unit="GB";
// map.sum=sumg;
// }else{
// map.unit="MB";
// map.sum=summ;
// }
// }else{
// map.unit="KB";
// map.sum=sumk;
// }
// }else{
// map.unit="bytes";
// map.sum=count;
// }
// }else{
// map.unit="bytes";
// map.sum=0;
// }
}