From db28bf001a328c70dfc55c0e109ff598962f665a Mon Sep 17 00:00:00 2001 From: samwaf Date: Mon, 10 Oct 2022 17:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=A2=9E=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- localdb.go | 3 + localserver.go | 26 +- .../src/pages/waf-host/rule/add/index.less | 106 ----- .../src/pages/waf-host/rule/add/index.vue | 363 ---------------- .../src/pages/waf-host/rule/detail/index.less | 106 ----- .../src/pages/waf-host/rule/detail/index.vue | 153 ------- .../src/pages/waf-host/rule/edit/index.vue | 389 ++++++++++++++---- localwaf/src/pages/waf-host/rule/index.vue | 39 +- localwaf/src/router/modules/wafhost.ts | 20 +- main.go | 3 +- model/request/waf_rule_edit_req.go | 2 +- model/rules.go | 2 +- 12 files changed, 352 insertions(+), 860 deletions(-) delete mode 100644 localwaf/src/pages/waf-host/rule/add/index.less delete mode 100644 localwaf/src/pages/waf-host/rule/add/index.vue delete mode 100644 localwaf/src/pages/waf-host/rule/detail/index.less delete mode 100644 localwaf/src/pages/waf-host/rule/detail/index.vue diff --git a/localdb.go b/localdb.go index 183a406..fd68291 100644 --- a/localdb.go +++ b/localdb.go @@ -19,5 +19,8 @@ func InitDb() { db.AutoMigrate(&innerbean.WebLog{}) db.AutoMigrate(&model.Hosts{}) db.AutoMigrate(&model.Rules{}) + //重启需要删除无效规则 + db.Where("user_code = ? and rule_status = 999", global.GWAF_USER_CODE).Delete(model.Rules{}) + } } diff --git a/localserver.go b/localserver.go index f3de5ca..1e1ff1d 100644 --- a/localserver.go +++ b/localserver.go @@ -315,7 +315,7 @@ func StartLocalServer() { var total int64 = 0 var rules []model.Rules - global.GWAF_LOCAL_DB.Debug().Limit(waf_rule_search_req.PageSize).Offset(waf_rule_search_req.PageSize * (waf_rule_search_req.PageIndex - 1)).Find(&rules) + global.GWAF_LOCAL_DB.Debug().Where("user_code=? and rule_status= 1", global.GWAF_USER_CODE).Limit(waf_rule_search_req.PageSize).Offset(waf_rule_search_req.PageSize * (waf_rule_search_req.PageIndex - 1)).Find(&rules) global.GWAF_LOCAL_DB.Debug().Model(&model.Rules{}).Count(&total) c.JSON(http.StatusOK, response.Response{ @@ -404,17 +404,11 @@ func StartLocalServer() { }) return } - var rulename = rule_info.RuleBase.RuleName //中文名 - if waf_rule_edit_req.CODE != rule_info.RuleBase.RuleDomainCode { - c.JSON(http.StatusOK, response.Response{ - Code: -1, - Msg: "网站识别码不匹配", - }) - return - } + var rule_name = rule_info.RuleBase.RuleName //中文名 + var rule model.Rules - global.GWAF_LOCAL_DB.Debug().Where("rulename = ? and code= ?", - rulename, rule_info.RuleBase.RuleDomainCode).Find(&rule) + global.GWAF_LOCAL_DB.Debug().Where("rule_name = ? and host_code= ?", + rule_name, rule_info.RuleBase.RuleDomainCode).Find(&rule) if rule.Id != 0 && rule.RuleCode != waf_rule_edit_req.CODE { c.JSON(http.StatusOK, response.Response{ @@ -424,13 +418,13 @@ func StartLocalServer() { return } - global.GWAF_LOCAL_DB.Debug().Where("rule_code=?", waf_rule_edit_req.CODE).Find(rule) + global.GWAF_LOCAL_DB.Debug().Where("rule_code=?", waf_rule_edit_req.CODE).Find(&rule) rule_info.RuleBase.RuleName = strings.Replace(rule.RuleCode, "-", "", -1) ruleMap := map[string]interface{}{ "HostCode": rule_info.RuleBase.RuleDomainCode, //TODO 注意字典名称 - "RuleName": rulename, + "RuleName": rule_name, "RuleContent": rule_tool.GenRuleInfo(rule_info), "RuleContentJSON": waf_rule_edit_req.RuleJson, //TODO 后续考虑是否应该再从结构转一次 "RuleVersionName": "初版", @@ -490,7 +484,11 @@ func StartLocalServer() { }) return } - err = global.GWAF_LOCAL_DB.Where("rule_code = ?", waf_rule_del_req.CODE).Delete(model.Rules{}).Error + rule_map := map[string]interface{}{ + "RuleStatus": "999", + "RuleVersion": 999999, + } + err = global.GWAF_LOCAL_DB.Model(model.Rules{}).Where("rule_code = ?", waf_rule_del_req.CODE).Updates(rule_map).Error if err != nil { c.JSON(http.StatusOK, response.Response{ diff --git a/localwaf/src/pages/waf-host/rule/add/index.less b/localwaf/src/pages/waf-host/rule/add/index.less deleted file mode 100644 index d599763..0000000 --- a/localwaf/src/pages/waf-host/rule/add/index.less +++ /dev/null @@ -1,106 +0,0 @@ -@import '@/style/variables.less'; - -.detail-base { - /deep/ .t-card { - padding: 8px; - } - - /deep/ .t-card__title { - font-size: 20px; - font-weight: 500; - } - - &-info-steps { - padding-top: 12px; - } -} - -.info-block { - column-count: 2; - - .info-item { - padding: 12px 0; - display: flex; - color: var(--td-text-color-primary); - - h1 { - width: 200px; - font-weight: normal; - font-size: @font-size-base; - color: var(--td-text-color-secondary); - text-align: left; - line-height: 22px; - - @media (max-width: @screen-sm-max) { - width: 100px; - } - - @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { - width: 120px; - } - } - - span { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - margin-left: 24px; - } - - i { - display: inline-block; - width: 8px; - height: 8px; - border-radius: @border-radius-50; - background: var(--td-success-color-5); - } - - .inProgress { - color: var(--td-success-color-5); - } - - .pdf { - color: var(--td-brand-color); - - &:hover { - cursor: pointer; - } - } - } -} - -.dialog-info-block { - .info-item { - padding: 12px 0; - display: flex; - - h1 { - width: 84px; - font-family: PingFangSC-Regular; - font-size: 14px; - color: var(--td-text-color-secondary); - text-align: left; - line-height: 22px; - } - - span { - margin-left: 24px; - } - - i { - display: inline-block; - width: 8px; - height: 8px; - border-radius: @border-radius-50; - background: var(--td-success-color-5); - } - - .green { - color: var(--td-success-color-5); - } - - .blue { - color: var(--td-brand-color-8); - } - } -} diff --git a/localwaf/src/pages/waf-host/rule/add/index.vue b/localwaf/src/pages/waf-host/rule/add/index.vue deleted file mode 100644 index 7939b77..0000000 --- a/localwaf/src/pages/waf-host/rule/add/index.vue +++ /dev/null @@ -1,363 +0,0 @@ - - - diff --git a/localwaf/src/pages/waf-host/rule/detail/index.less b/localwaf/src/pages/waf-host/rule/detail/index.less deleted file mode 100644 index d599763..0000000 --- a/localwaf/src/pages/waf-host/rule/detail/index.less +++ /dev/null @@ -1,106 +0,0 @@ -@import '@/style/variables.less'; - -.detail-base { - /deep/ .t-card { - padding: 8px; - } - - /deep/ .t-card__title { - font-size: 20px; - font-weight: 500; - } - - &-info-steps { - padding-top: 12px; - } -} - -.info-block { - column-count: 2; - - .info-item { - padding: 12px 0; - display: flex; - color: var(--td-text-color-primary); - - h1 { - width: 200px; - font-weight: normal; - font-size: @font-size-base; - color: var(--td-text-color-secondary); - text-align: left; - line-height: 22px; - - @media (max-width: @screen-sm-max) { - width: 100px; - } - - @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { - width: 120px; - } - } - - span { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - margin-left: 24px; - } - - i { - display: inline-block; - width: 8px; - height: 8px; - border-radius: @border-radius-50; - background: var(--td-success-color-5); - } - - .inProgress { - color: var(--td-success-color-5); - } - - .pdf { - color: var(--td-brand-color); - - &:hover { - cursor: pointer; - } - } - } -} - -.dialog-info-block { - .info-item { - padding: 12px 0; - display: flex; - - h1 { - width: 84px; - font-family: PingFangSC-Regular; - font-size: 14px; - color: var(--td-text-color-secondary); - text-align: left; - line-height: 22px; - } - - span { - margin-left: 24px; - } - - i { - display: inline-block; - width: 8px; - height: 8px; - border-radius: @border-radius-50; - background: var(--td-success-color-5); - } - - .green { - color: var(--td-success-color-5); - } - - .blue { - color: var(--td-brand-color-8); - } - } -} diff --git a/localwaf/src/pages/waf-host/rule/detail/index.vue b/localwaf/src/pages/waf-host/rule/detail/index.vue deleted file mode 100644 index 0465fc8..0000000 --- a/localwaf/src/pages/waf-host/rule/detail/index.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - diff --git a/localwaf/src/pages/waf-host/rule/edit/index.vue b/localwaf/src/pages/waf-host/rule/edit/index.vue index 0465fc8..9412684 100644 --- a/localwaf/src/pages/waf-host/rule/edit/index.vue +++ b/localwaf/src/pages/waf-host/rule/edit/index.vue @@ -1,75 +1,203 @@ -