WAF策略可以自定义默认的区域/省份封禁提示

This commit is contained in:
GoEdgeLab
2023-08-10 10:30:38 +08:00
parent 04ae7d86b3
commit b3939083c0
8 changed files with 41 additions and 5 deletions

View File

@@ -30,7 +30,7 @@ func (this *PolicyAction) RunGet(params struct {
return return
} }
internalGroups := []maps.Map{} var internalGroups = []maps.Map{}
if firewallPolicy.Inbound != nil { if firewallPolicy.Inbound != nil {
for _, group := range firewallPolicy.Inbound.Groups { for _, group := range firewallPolicy.Inbound.Groups {
internalGroups = append(internalGroups, maps.Map{ internalGroups = append(internalGroups, maps.Map{
@@ -101,6 +101,8 @@ func (this *PolicyAction) RunGet(params struct {
"log": firewallPolicy.Log, "log": firewallPolicy.Log,
"maxRequestBodySize": firewallPolicy.MaxRequestBodySize, "maxRequestBodySize": firewallPolicy.MaxRequestBodySize,
"maxRequestBodySizeFormat": numberutils.FormatBytes(firewallPolicy.MaxRequestBodySize), "maxRequestBodySizeFormat": numberutils.FormatBytes(firewallPolicy.MaxRequestBodySize),
"denyCountryHTML": firewallPolicy.DenyCountryHTML,
"denyProvinceHTML": firewallPolicy.DenyProvinceHTML,
} }
// 正在使用此策略的集群 // 正在使用此策略的集群

View File

@@ -76,6 +76,8 @@ func (this *UpdateAction) RunGet(params struct {
"synFloodConfig": firewallPolicy.SYNFlood, "synFloodConfig": firewallPolicy.SYNFlood,
"log": firewallPolicy.Log, "log": firewallPolicy.Log,
"maxRequestBodySize": types.String(firewallPolicy.MaxRequestBodySize), "maxRequestBodySize": types.String(firewallPolicy.MaxRequestBodySize),
"denyCountryHTML": firewallPolicy.DenyCountryHTML,
"denyProvinceHTML": firewallPolicy.DenyProvinceHTML,
} }
// 预置分组 // 预置分组
@@ -113,6 +115,8 @@ func (this *UpdateAction) RunPost(params struct {
SynFloodJSON []byte SynFloodJSON []byte
LogJSON []byte LogJSON []byte
MaxRequestBodySize int64 MaxRequestBodySize int64
DenyCountryHTML string
DenyProvinceHTML string
Must *actions.Must Must *actions.Must
}) { }) {
@@ -155,6 +159,8 @@ func (this *UpdateAction) RunPost(params struct {
SynFloodJSON: params.SynFloodJSON, SynFloodJSON: params.SynFloodJSON,
LogJSON: params.LogJSON, LogJSON: params.LogJSON,
MaxRequestBodySize: params.MaxRequestBodySize, MaxRequestBodySize: params.MaxRequestBodySize,
DenyCountryHTML: params.DenyCountryHTML,
DenyProvinceHTML: params.DenyProvinceHTML,
}) })
if err != nil { if err != nil {
this.ErrorPage(err) this.ErrorPage(err)

View File

@@ -37,7 +37,7 @@
<td>提示内容</td> <td>提示内容</td>
<td> <td>
<textarea v-model="countryHTML" name="countryHTML" rows="3"></textarea> <textarea v-model="countryHTML" name="countryHTML" rows="3"></textarea>
<p class="comment">当客户端所在区域被封禁时提示页面的HTML内容不填则表示使用默认的提示内容。</p> <p class="comment">当客户端所在区域被封禁时提示页面的HTML内容不填则表示使用默认的提示内容;支持请求变量</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@@ -37,7 +37,7 @@
<td>提示内容</td> <td>提示内容</td>
<td> <td>
<textarea v-model="provinceHTML" name="provinceHTML" rows="3"></textarea> <textarea v-model="provinceHTML" name="provinceHTML" rows="3"></textarea>
<p class="comment">当客户端所在省份被封禁时提示页面的HTML内容不填则表示使用默认的提示内容。</p> <p class="comment">当客户端所在省份被封禁时提示页面的HTML内容不填则表示使用默认的提示内容;支持请求变量</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@@ -81,6 +81,20 @@
<span v-else>{{firewallPolicy.maxRequestBodySizeFormat}}</span> <span v-else>{{firewallPolicy.maxRequestBodySizeFormat}}</span>
</td> </td>
</tr> </tr>
<tr>
<td>区域封禁默认提示内容</td>
<td>
<span v-if="firewallPolicy.denyCountryHTML != null && firewallPolicy.denyCountryHTML.length > 0">自定义</span>
<span v-else class="disabled">使用默认</span>
</td>
</tr>
<tr>
<td>省份封禁默认提示内容</td>
<td>
<span v-if="firewallPolicy.denyProvinceHTML != null && firewallPolicy.denyProvinceHTML.length > 0">自定义</span>
<span v-else class="disabled">使用默认</span>
</td>
</tr>
<tr> <tr>
<td>描述</td> <td>描述</td>
<td> <td>

View File

@@ -93,6 +93,20 @@
<p class="comment"><span v-if="maxRequestBodySize > 0">当前:{{maxRequestBodySizeFormat}}。</span>WAF能够分析的最大文件内容尺寸0表示默认默认为512K此值越大对应使用的系统内存越多除非特殊情况否则请谨慎修改。</p> <p class="comment"><span v-if="maxRequestBodySize > 0">当前:{{maxRequestBodySizeFormat}}。</span>WAF能够分析的最大文件内容尺寸0表示默认默认为512K此值越大对应使用的系统内存越多除非特殊情况否则请谨慎修改。</p>
</td> </td>
</tr> </tr>
<tr>
<td>区域封禁默认提示内容</td>
<td>
<textarea v-model="firewallPolicy.denyCountryHTML" name="denyCountryHTML" rows="3"></textarea>
<p class="comment">当客户端所在区域被封禁时提示页面的HTML内容不填则表示使用默认的提示内容支持请求变量。</p>
</td>
</tr>
<tr>
<td>省份封禁默认提示内容</td>
<td>
<textarea v-model="firewallPolicy.denyProvinceHTML" name="denyProvinceHTML" rows="3"></textarea>
<p class="comment">当客户端所在省份被封禁时提示页面的HTML内容不填则表示使用默认的提示内容支持请求变量。</p>
</td>
</tr>
<tr> <tr>
<td>描述</td> <td>描述</td>
<td> <td>

View File

@@ -44,7 +44,7 @@
<td>提示内容</td> <td>提示内容</td>
<td> <td>
<textarea v-model="countryHTML" name="countryHTML" rows="3"></textarea> <textarea v-model="countryHTML" name="countryHTML" rows="3"></textarea>
<p class="comment">当客户端所在区域被封禁时提示页面的HTML内容不填则表示使用默认的提示内容。</p> <p class="comment">当客户端所在区域被封禁时提示页面的HTML内容不填则表示使用默认的提示内容;支持请求变量</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@@ -44,7 +44,7 @@
<td>提示内容</td> <td>提示内容</td>
<td> <td>
<textarea v-model="provinceHTML" name="provinceHTML" rows="3"></textarea> <textarea v-model="provinceHTML" name="provinceHTML" rows="3"></textarea>
<p class="comment">当客户端所在省份被封禁时提示页面的HTML内容不填则表示使用默认的提示内容。</p> <p class="comment">当客户端所在省份被封禁时提示页面的HTML内容不填则表示使用默认的提示内容;支持请求变量</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>