Basicamente você apenas muda o HTTP_FORBIDDEN para o HTTP_TOO_MANY_REQUESTS no mod_evasive20.c e compila novamente.
Alguns spiders do mecanismo de pesquisa, como o Bingbot, rastreiam muito rapidamente e não parecem obedecer à diretiva robots.txt crawl-delay
. Isso aciona o mecanismo de defesa do DOS em mod_evasive
para gerar erros proibidos HTTP 403. Mas mostrar 403 erros para bots para páginas perfeitamente válidas não é o ideal e pode afetar a classificação da página. Existe uma maneira de configurar o mod_evasive
para mostrar o status HTTP 429 em vez de 403?
429 Too Many Requests
The 429 status code indicates that the user has sent too many requests in a given amount of time ("rate limiting").
The response representations SHOULD include details explaining the condition, and MAY include a Retry-After header indicating how long to wait before making a new request.
Eu bifurquei o mod_evasive e tornei o status da resposta configurável (junto com alguns outros recursos), confira: link
Para configurar isso, instale a nova versão e adicione DOSHTTPStatus 429
à sua configuração (globalmente ou no virtualhost que você deseja proteger).