From 4f0fc791b1a7b5f1f850626d90e161616506e1d6 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 18 Nov 2023 15:25:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E7=BE=A4WAF=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E5=A4=84=E4=BA=8E=E9=9D=9E=E9=98=B2=E5=BE=A1=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=97=B6=E5=9C=A8=E5=9C=B0=E5=8C=BA=E5=B0=81=E7=A6=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=8F=90=E7=A4=BA=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/settings/waf/ipadmin/countries.go | 19 +++++++++++++++++++ .../server/settings/waf/ipadmin/provinces.go | 18 ++++++++++++++++++ .../settings/waf/ipadmin/countries.html | 4 ++++ .../settings/waf/ipadmin/provinces.html | 4 ++++ 4 files changed, 45 insertions(+) diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go index 3454cba5..17672f29 100644 --- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go +++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go @@ -42,6 +42,7 @@ func (this *CountriesAction) RunGet(params struct { this.NotFound("firewallPolicy", params.FirewallPolicyId) return } + var deniedCountryIds = []int64{} var allowedCountryIds = []int64{} var countryHTML = "" @@ -95,6 +96,24 @@ func (this *CountriesAction) RunGet(params struct { } this.Data["wafIsOn"] = webConfig.FirewallRef != nil && webConfig.FirewallRef.IsOn + // 获取当前服务所在集群的WAF设置 + clusterFirewallPolicy, err := dao.SharedHTTPFirewallPolicyDAO.FindEnabledHTTPFirewallPolicyWithServerId(this.AdminContext(), params.ServerId) + if err != nil { + this.ErrorPage(err) + return + } + if clusterFirewallPolicy != nil { + this.Data["clusterFirewallPolicy"] = maps.Map{ + "id": clusterFirewallPolicy.Id, + "name": clusterFirewallPolicy.Name, + "isOn": clusterFirewallPolicy.IsOn, + "mode": clusterFirewallPolicy.Mode, + "modeInfo": firewallconfigs.FindFirewallMode(clusterFirewallPolicy.Mode), + } + } else { + this.Data["clusterFirewallPolicy"] = nil + } + this.Show() } diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go index b9eb9a3a..d9f8ac5b 100644 --- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go +++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go @@ -96,6 +96,24 @@ func (this *ProvincesAction) RunGet(params struct { } this.Data["wafIsOn"] = webConfig.FirewallRef != nil && webConfig.FirewallRef.IsOn + // 获取当前服务所在集群的WAF设置 + clusterFirewallPolicy, err := dao.SharedHTTPFirewallPolicyDAO.FindEnabledHTTPFirewallPolicyWithServerId(this.AdminContext(), params.ServerId) + if err != nil { + this.ErrorPage(err) + return + } + if clusterFirewallPolicy != nil { + this.Data["clusterFirewallPolicy"] = maps.Map{ + "id": clusterFirewallPolicy.Id, + "name": clusterFirewallPolicy.Name, + "isOn": clusterFirewallPolicy.IsOn, + "mode": clusterFirewallPolicy.Mode, + "modeInfo": firewallconfigs.FindFirewallMode(clusterFirewallPolicy.Mode), + } + } else { + this.Data["clusterFirewallPolicy"] = nil + } + this.Show() } diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html index dd407a6b..8ce43a29 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html @@ -9,6 +9,10 @@ {$ if .featureIsOn} 当前WAF未启用,设置将在[启用]后生效。 + 当前网站所在集群的WAF策略模式为 + {{clusterFirewallPolicy.modeInfo.name}} + 非防御模式,当前设置将不会生效。 +
diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html b/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html index e9954c6e..c4ae5043 100644 --- a/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html +++ b/web/views/@default/servers/server/settings/waf/ipadmin/provinces.html @@ -9,6 +9,10 @@ {$ if .featureIsOn} 当前WAF未启用,设置将在[启用]后生效。 + 当前网站所在集群的WAF策略模式为 + {{clusterFirewallPolicy.modeInfo.name}} + 非防御模式,当前设置将不会生效。 +