diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/index.go b/internal/web/actions/default/servers/components/waf/ipadmin/index.go index d525da66..750d39a8 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/index.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/index.go @@ -40,10 +40,13 @@ func (this *IndexAction) RunGet(params struct { var deniedCountryIds = []int64{} var allowedCountryIds = []int64{} + var countryHTML string if policyConfig.Inbound != nil && policyConfig.Inbound.Region != nil { deniedCountryIds = policyConfig.Inbound.Region.DenyCountryIds allowedCountryIds = policyConfig.Inbound.Region.AllowCountryIds + countryHTML = policyConfig.Inbound.Region.CountryHTML } + this.Data["countryHTML"] = countryHTML countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{}) if err != nil { @@ -91,6 +94,8 @@ func (this *IndexAction) RunPost(params struct { ExceptURLPatternsJSON []byte OnlyURLPatternsJSON []byte + CountryHTML string + Must *actions.Must }) { // 日志 @@ -128,6 +133,13 @@ func (this *IndexAction) RunPost(params struct { } policyConfig.Inbound.Region.CountryExceptURLPatterns = exceptURLPatterns + // 自定义提示 + if len(params.CountryHTML) > 32<<10 { + this.Fail("提示内容长度不能超出32K") + return + } + policyConfig.Inbound.Region.CountryHTML = params.CountryHTML + // 限制URL var onlyURLPatterns = []*shared.URLPattern{} if len(params.OnlyURLPatternsJSON) > 0 { diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go b/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go index 16454110..4165dd3a 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go @@ -40,10 +40,13 @@ func (this *ProvincesAction) RunGet(params struct { var deniedProvinceIds = []int64{} var allowedProvinceIds = []int64{} + var provinceHTML string if policyConfig.Inbound != nil && policyConfig.Inbound.Region != nil { deniedProvinceIds = policyConfig.Inbound.Region.DenyProvinceIds allowedProvinceIds = policyConfig.Inbound.Region.AllowProvinceIds + provinceHTML = policyConfig.Inbound.Region.ProvinceHTML } + this.Data["provinceHTML"] = provinceHTML provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithRegionCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithRegionCountryIdRequest{ RegionCountryId: regionconfigs.RegionChinaId, @@ -92,6 +95,8 @@ func (this *ProvincesAction) RunPost(params struct { ExceptURLPatternsJSON []byte OnlyURLPatternsJSON []byte + ProvinceHTML string + Must *actions.Must }) { // 日志 @@ -140,6 +145,13 @@ func (this *ProvincesAction) RunPost(params struct { } policyConfig.Inbound.Region.ProvinceOnlyURLPatterns = onlyURLPatterns + // 自定义提示 + if len(params.ProvinceHTML) > 32<<10 { + this.Fail("提示内容长度不能超出32K") + return + } + policyConfig.Inbound.Region.ProvinceHTML = params.ProvinceHTML + inboundJSON, err := json.Marshal(policyConfig.Inbound) if err != nil { this.ErrorPage(err) 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 069dc9e7..b9eb9a3a 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 @@ -158,11 +158,11 @@ func (this *ProvincesAction) RunPost(params struct { } policyConfig.Inbound.Region.ProvinceOnlyURLPatterns = onlyURLPatterns + // 自定义提示 if len(params.ProvinceHTML) > 32<<10 { this.Fail("提示内容长度不能超出32K") return } - policyConfig.Inbound.Region.ProvinceHTML = params.ProvinceHTML err = policyConfig.Init() diff --git a/web/views/@default/servers/components/waf/ipadmin/index.html b/web/views/@default/servers/components/waf/ipadmin/index.html index 633bda52..2ee15dcf 100644 --- a/web/views/@default/servers/components/waf/ipadmin/index.html +++ b/web/views/@default/servers/components/waf/ipadmin/index.html @@ -33,6 +33,13 @@
当客户端所在区域被封禁时提示页面的HTML内容;不填则表示使用默认的提示内容。
+当客户端所在省份被封禁时提示页面的HTML内容;不填则表示使用默认的提示内容。
+