Hi,

Ik ben bezig met het opzetten van rate limiting, omdat we last hebben van veel slechte bots die te veel aanvragen doen en daardoor zoveel resources vragen dat de performance van de site daar last van heeft. De rate limiting op zich werkt, alleen geldt dat nu voor alle aanvragen die door de server afgehandeld worden.

Waar ik naar toe wil is dat er op de statische content geen rate limiting zit (zoals CSS, JS en afbeeldingen), maar dat dat alleen zit op alle requests die door PHP heen gaan. Alle requests die niet direct een file teruggeven gaan door PHP heen, dat is ingesteld in de .htaccess zodat alles door index.php wordt afgehandeld.

Nu dacht ik eerst een <FilesMatch> te doen op de bestands extensies. Alleen kan het zijn dat die statische bestanden niet meer aanwezig zijn en dus door PHP afgehandeld worden en een 404 melding geven. Ook die requests zouden dan meegenomen moeten worden met de rate limit.

Vervolgens heb ik een de rate limit op een <Files "index.php"> toegepast. Maar dat werkt alleen als direct in de URL de index.php wordt opgevraagd. Op het moment dat het via de .htaccess doorgesluisd wordt naar de index.php wordt dit niet meegenomen.

Wat is de juiste oplossing om het geen wat ik voor ogen heb in te stellen in Apache?