Hola cometton,
Desde PHP se podría hacer algo pero sería más lento que tocar el iptables/firewall directamente.
Es decir, si el control lo pones en PHP, éste tiene que ejecutarse (apache + php), mientras que si lo pones en el firewall del servidor, ni siquiera apache llega a ejecutarse.
Si están intentando tumbar tu servidor, la segunda opción es lo que deberías hacer, quizás habla con los de tu hosting y trazar un plan conjunto.
¿Podrías enviarme los logs completos (php + apache + mysql)? (por mensaje privado), simplemente por ver con qué tipo de url y de queries están intentando entrar.
Saludos