Antes que nada te advierto que no encontrarás una solución con PHP... PHP se ejecuta una vez que un usuario entra a la página, por lo que es imposible evitar que entren con tal. En pocas palabras: tienes que defender desde el servidor.
Existen muchos scripts que hacen una defensa contra ataques de denegación de servicio, una de ellas es el módulo para apache llamado mod_evasive, que lo que hace básicamente es, si se detecta ataque DDoS, redireccionar a un error 403.
La página es:
http://www.zdziarski.com/blog/?page_id=442
Si no te funciona, puedes consultar en Google
GIYF
Saludos!