Aqui lo mejor es guardar en la base de datos ademas del IP el tiempo en segundos en el que fue hecho el clik
Luego cuando hace nuevamente click, se fija en el IP y si existe se fija en los sergundos y los compara con el tiempo actual=
Código PHP:
if (time() - $registro_ultimo_click > 86400) {
....
El clik sale con exito y actualizas en la base de datos el nuevo time.
....
}
else {
.....
No permitido, ya hizo un click hace poco
.....
}
Y luego para que no se acumulen muchos registros en la base de datos haces un script que al ejecutarlo busca todos los tiempos mayores a 86400 y los borras.
Es mi idea.
Saludos