Ignorando el hecho de que usas mysql y no alguna otra api:
Lo que pasa es que en ningún momento estás limitando que la ip solo la cuenta una vez cada cierto tiempo, antes de insertar los valores verifica que no exista la ip dentro de cierto rango de fechas. Algo así:
La query: SELECT ip FROM tabla WHERE fecha = '$hoy' AND ip = '$ip'
Código PHP:
Ver originalif( $num < 1 ){
//insertar
}else{
//no se inserta porque ya hay un registro con la ip
echo 'Visitado hoy';
}
Y shalala.