PHP: Identificado único PC

Hola,
Necesito algún modo de identificar cada uno de los PCs que acceden a la web.
Quiero hacer un sistema de votacions en el que pueda votar quien quiera, pero solo una vez al día.
Las cookies no sirven, ya que muchos usuarios las tienen 'capadas' y sería muy fácil borrar las cookies y volver a votar.
Obtener la IP tampoco me soluciona nada, ya que el proxy cache de telefónica hace que muchos usuarios tengan la misma IP.
¿Hay algún modo de conseguir la IP real? ¿Algún otro sistema con el que se pueda tener la seguridad de un único voto diario?
Gracias!

1 respuesta

Respuesta
1
Puedes guardar el numero de ip en una base de datos. Obtienes el numero de IP usando un array global y predefinido del servidor, en este caso el array server $_SERVER. La posición que tiene la ip que se conectó a tu host es $SERVER[REMOTE_ADDR]. En el caso de existir conexión desde un servidor proxy u otro redireccionador, este array te devolverá la dirección de este, pero no la del cliente. En este caso, podemos condicionar a la existencia de variables dentro del array. Con este código obtienes el numero de ip real, almacenado en una variable llamada $ip:
<?php
if($_SERVER[HTTP_X_FORWARDED_FOR])
{ //en caso que exista proxy
$ip = $_SERVER[HTTP_X_FORWARDED_FOR];
}
elseif($_SERVER[HTTP_CLIENT_IP])
{//no existe proxy, tampoco cliente
$ip = $_SERVER[HTTP_CLIENT_IP];
}
else
{ //conexion 'directa'
$ip = $_SERVER[REMOTE_ADDR];
}
echo $ip;
?>
Luego haces lo querys correspondientes a la base de datos y listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas