Como te mencionan debes agregar un campo con la fecha y hora del voto y la IP (para tu caso); con esto creas una función que te permita saber si el usuario puede emitir otro voto, te paso esta que hice para algo similar:
Código PHP:
function puedeComentar($user_id=false,$profile_id=false){
if($user_id && $profile_id){
$fecha = date('Y-m-d H:i:s');
$action = $this->query("SELECT * FROM comments WHERE user_id = $user_id AND profile_id = $profile_id ORDER BY fecha DESC LIMIT 1"); //selecciona el último comentario del usuario
if(isset($action[0]['comments']['fecha'])){
$tiempo1 = strtotime($action[0]['comments']['fecha']);
$tiempo2 = strtotime($fecha);
$tiempo = $tiempo2 - $tiempo1; // tiempo en segundos
if($tiempo < 180) //espera 3m para grabar nuevos comentarios
return false;
return true;
}else{
return true;
}
}else{
return false;
}
}