A maneira mais fácil é desativar a regra para o URL que recebe o POST:
<LocationMatch /URL/path/to/application>
SecRuleRemoveById 960024
</LocationMatch>
Eu tenho algumas áreas de texto em um formulário que são postadas de volta e armazenadas usando PHP / MySQL. No entanto, se um usuário pressionar retornar para uma nova linha na área de texto, o mod_security estará bloqueando-o com a entrada de log abaixo:
Pattern match "\W{4,}" at ARGS:notes. [file "/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_40_generic_attacks.conf"] [line "37"] [id "960024"] [rev "2"] [msg "Meta-Character Anomaly Detection Alert - Repetative Non-Word Characters"] [data "Matched Data: \x0d\x0a\x0d\x0a found within ARGS:notes: This is Test Request #5\x0d\x0a\x0d\x0aThanks"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "8"]
A minha pergunta é esta .... existe mais alguma coisa que eu possa fazer no meu código ou uma pequena exceção que eu possa fazer no mod_security? Não quero desativar essa regra inteira porque é importante, mas, ao mesmo tempo, preciso que os usuários possam inserir dados em áreas de texto com devoluções, se quiserem.
Obrigado.
A maneira mais fácil é desativar a regra para o URL que recebe o POST:
<LocationMatch /URL/path/to/application>
SecRuleRemoveById 960024
</LocationMatch>
Bem atrasado, mas ....
Você deve ter um conjunto de regras personalizadas que precedam ou sigam os conjuntos de regras, geralmente, se estiver removendo regras ou rotas, faça isso em um arquivo com um número CRS baixo. Modificações nos conjuntos de regras ocorrem após os arquivos CRS.
Usamos 10 e 65 respectivamente.
O que você deve tentar fazer é criar uma exclusão para o ARG específico em vez de desativar a regra, pois isso remove a proteção.
eg SecRuleUpdateTargetById 960024! ARGS: notas
Gotcha: Um único campo não precisa de aspas duplas, mas vários campos fazem - "! ARGS: notas,! ARGS: q"
Tags php apache-2.2 mod-security