Je souhaite interdire les adresses IP qui provoquent des erreurs multiples 404 sur mon site Web. J'ai beaucoup googlé et trouvé quelques scripts qui m'ont donné des idées pour commencer. Et je les ai combinés. Voici mon script:script mod_secure pour bloquer les adresses IP qui provoquent plusieurs 404
# Determining temp data dir
SecDataDir "C:\logs\datastore"
#
# Loading previous data for the IP request
SecAction "phase:1,initcol:ip=%{REMOTE_ADDR},id:'1006'"
#
# Incrementing block_script counter if client caused status #404
SecRule RESPONSE_STATUS "@streq 404" "phase:2,pass,setvar:ip.block_script=+1,expirevar:ip.block_script=30,id:'1007'"
#
# Denying the request if the block_script counter is greater than 3
SecRule IP:BLOCK_SCRIPT "@gt 3" "phase:2,deny,status:403,id:'1008'"
Pour une raison quelconque, cela ne fonctionne pas. Je crois qu'il y a une erreur. Je suis vraiment désolé, je ne suis pas codeur gourou ou même programmeur. Je suis juste en train de jouer avec mon projet homebrewed quand j'ai le temps. J'espère que quelqu'un m'aidera et que mon erreur est facile à trouver et à corriger.
Merci d'avance!
Le répertoire 'datastore' est créé, accessible et j'y vois 2 fichiers de 0 octets.
Merci!
Cela peut-il être dû à la limitation de l'erreur d'analyse 404? "Notez que certains codes d'état de réponse (tels que 404) sont traités plus tôt dans le cycle de requête par Apache et que mon code ne peut pas être déclenché comme prévu." " ** SecAuditEngine ** ModSecurity peut actuellement enregistrer la plupart des transactions, mais pas toutes. Les transactions impliquant des erreurs (par exemple 400 et 404 transactions) utilisent un chemin d'exécution différent, que ModSecurity ne prend pas en charge. " – EIKA