宝塔面板开启Nginx免费防火墙后网站发文提示GET渗透拦截解决办法

iT日记 建站运维 992

宝塔面板开启Nginx免费防火墙后网站发文提示GET渗透拦截解决办法-第1张图片-iT日记以ZBlogPHP发布文章时出现“GET渗透”拦截提示为例,可通过以下步骤排查和解决:

一、临时解决方案(快速恢复发布功能)

关闭GET参数过滤‌

进入宝塔面板 → Nginx防火墙 → 对应站点设置 → 关闭GET参数过滤功能(临时禁用后测试发布是否正常)。

添加URL白名单‌

将ZBlog文章发布接口路径加入白名单(通常为以下规则):

^/zb_system/admin/edit\.php
^/zb_system/cmd\.php\?act=ArticlePst

此操作可绕过防火墙对特定路径的检测。

二、根本原因分析与精准修复

拦截原因定位‌

检查拦截日志(路径:/www/wwwlogs/waf/),找到触发“GET渗透”的具体参数和值。

常见触发点:文章内容含特殊符号(如<、>)、URL参数含敏感关键词(如select、union)。

调整防火墙规则‌

保留防护但降低敏感度‌:

在GET参数过滤中移除或修改误判规则(如关闭SQL关键词检测或XSS过滤)。

将ZBlog常用参数(如content、title)加入参数白名单。

自定义规则‌(推荐):

在防火墙的规则管理中添加以下例外规则:

if ($query_string ~* "act=ArticlePst") {
    set $rule_0 0;
}

此规则针对文章发布接口禁用过滤。

三、验证与优化

测试发布功能‌

发布含特殊字符的测试文章(如<test>、'test'),确认是否仍被拦截。

若问题依旧,需结合日志进一步细化规则。

安全与功能平衡建议‌

保持POST过滤和Cookie过滤开启以防护其他攻击。

定期检查防火墙日志,动态调整规则(如屏蔽高频攻击IP)。

常见误拦截场景处理

富文本编辑器内容‌:关闭HTML标签过滤或将<img>、<a>等标签加入白名单。

多语言符号‌:在URL参数过滤中排除非ASCII字符检测(如中文内容)。

通过以上调整,既可解决发布拦截问题,又能维持基础安全防护。若需彻底兼容,建议升级Nginx防火墙至最新版(部分旧版存在误判缺陷)。

标签: 宝塔面板 Nginx 防火墙 GET渗透

上一篇如何检测网站是否被挂马或感染恶意软件

下一篇当前分类已是最新一篇

发布评论 0条评论)

您需要 登录账户 后才能发表评论
  • Refresh code

还木有评论哦,快来抢沙发吧~