podrias añadir un campo de texto extra y ocultarlo con css, los usuarios no lo veran ni rellenaran pero un bot si y habra caido en la trampa , despues verificamos si el campo extra esta vacio o rellenado si esta rellenado es un bot.
tambien se deberia poner un mensaje en caso de que algun usuario vea el campo algo como !SI VES ESTO NO RELLENES ESTE CAMPO !
Haber si te sirve
podrias hacer esta deteccion en el primer intento y ya en el segundo lanzar el captcha
para identificar al usuario creas una session digamos para guardar intentos
Código PHP:
Ver originalif(empty($_SESSION['intentos'])){
$_SESSION['intentos']=1;
}else{
// recomendaria regenerar el id cada peticion
if($_SESSION['intentos'] >= 3){
exit('maximo de intentos superados');
}
$_SESSION['intentos']++;
}