La dirección IP puede cambiar en el caso de clientes móviles o clientes que cambian entre redes cableadas e inalámbricas. Su mejor apuesta probablemente sería proporcionar un UID generado aleatoriamente a cada cliente cuando se conecta por primera vez (si aún no tiene la cookie). Luego, puede verificar que el mismo nombre de usuario no se conecte con dos UID diferentes.
El truco es que debe asegurarse de desconectar este UID, de modo que si el usuario va a otra computadora, no se bloquee. ¿Quizás un cambio en el UID está bien, pero no pueden volver a un UID que ya se usó?