REQUEST_URI 精确匹配 modsecurity

REQUEST_URI 精确匹配 modsecurity

我需要使用 modsecurity 拒绝部分 url,例如:

index.php?page_num=用户

我已经实施了这条规则:

SecRule REQUEST_URI "/index\.php\?page_num=users" "id:10000100,phase:1,t:lowercase,deny,msg:'UsersDeny'"

它适用于 URI“index.php?page_num=users”,但它也拒绝用户字符串之后的任何字符,例如:

index.php?page_num=userssadasd

我怎样才能拒绝确切的 URI“*index.php?page_num=users”?

答案1

如果没有显式运算符,引擎将使用@rx。有两种可能的方法来解决这个问题:

  • 使用正则表达式的锚定模式,例如REQUEST_URI "^/index\.php\?page_num=users$"
  • 使用@streq运算符:REQUEST_URI "@streq /index.php?page_num=users"

相关内容