Algo sencillo... cookies, busca en JavaScript... pero no es seguro, tan simple como borrar las cookies acabado de votar y listo (quién querrá darse tantas molestias?).
Algo seguro... create una table donde guardes la IP de tu visitante y en un campo DATETIME el momentó en el que votó, entonces antes de efectuar el voto borra todos los registros que hayan sobrepasado tu "tiempo reservado", para ello te servirá la función DATE_SUB() de SQL... entonces como ya borraste los registros que han pasado ese tiempo solo los que estén en la tabla no tienen permiso para votar, entonces busca la IP de tu visita y si se encuentra.. le niegas el voto; para ello te servirá la función mysql_num_rows() de PHP --después de realizar la busqueda--.
Contras de esta última forma? ... si usan PROXY tendrás una misma IP para varias computadoras... la mayoría de los usuarios cuentan con IP dinámica, bastaría con que se desconectaran para cambiar de IP y pueden volver a votar...

más molestías aún ¿quién hace eso??.
www.php.net/mysql_num_rows www.mysql-hispano.org
Suerte!