如何解决Modsecurity - 阻止 request_uri 但返回代码 200
我对 modsecurity 真的很陌生,我在理解规则编辑方面遇到了一些问题。
我需要向从以 /myendpoint/
开头的特定端点到达的请求返回 200,但我仍然想拒绝端点执行任何其他操作。
我在网上查过,但找不到适合我的解决方案。
# ModSec Rule Exclusion: 930100
SecRule REQUEST_URI "@beginsWith \/myendpoint\/" "phase:2,log,block,status:200,id:10000,ctl:ruleRemoveById=930100"
上面的规则看起来根本不起作用,请求仍然被阻止,但没有返回状态 200。
我需要这个,因为我已将端点集成到 Telegram 机器人,但如果它收到 403,机器人将在 24 小时内持续发送相同的消息。 我认为返回 200 但阻止请求进一步处理可以解决问题。
解决方法
明确一点:您想阻止请求但仍返回 HTTP 代码 200?
顺便说一句,不要转义 URI: "@beginsWith /myendpoint/"
,这是一个非常特殊的需求。但无论如何,阿祖里特已经指出了斜线的问题。我认为另一个问题是 block
的使用。我会做一个 deny
结合状态。令我惊讶的是,这是有效的。
SecRule REQUEST_URI "@beginsWith /myendpoint/" "id:1000,phase:1,deny,status:200"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。