Podrías registrar la IP también y complicarte con tiempos de expiración .. e incluso mezclarlo con cookies y hasta sesiones .. Pero, si la votación va a ser púbica: que no requiera al usuario registrarse en el sistema para votar .. siempre habrá algún modo de eludir esas restricciones que hagas.
Sinceramente .. para votaciones públicas no me caliento y como mucho uso cookies (si no las tiene activas o no las acepta mala suerte) y ya tengo asumido que esas votaciones van a tener un margen de error.
Si quieres fiabilidad .. necesitarias que tus votantes se registraran en tu sistema para llevar el control de quien vota y en consecuencia soltar un mensajito tipo "ya votastes" .. (y de paso sabes que votó xDDD ¬¬)
Si buscas por el foro PHP verás algún que otro ejemplo de votaciones así .. y si quieres hechas ya visita sitios como:
www.hotscripts.com
Un saludo,