lo de usar sumas de digitos, en mi opinion no es una buena proteccion anti-spam, a menos que no utilizes texto sino que imagenes con las operaciones bien distorsionadas.
puedes usar una de las mejores erramientas anti-spam,
reCaptcha, ahi puedes leer la documentacion para que sepas como utilizarlo.
Con lo de bloquear la IP de un usuario, necesitas capturar la IP de cada usuario que te visita y buscar en alguna tabla "Banned" la ip del cliente y si la encuentra restringir el acceso, aunque debes de tomar en cuenta que a los usuario con IP dinamica no los podras "bannear" permanentemente.
La ip la puedes capturar con
$_SERVER['REMOTE_ADDR']