¿Qué técnicas puedo usar en mi aplicación web para evitar que un usuario abra varias cuentas desde la misma máquina?

El mecanismo más básico para esto que cada sitio ha adoptado es requerir y validar, a través de un correo electrónico enviado al usuario, una dirección de correo electrónico.

Más allá de esto, el siguiente nivel de validación requiere un número de teléfono celular y el uso de SMS para enviar al usuario un código de confirmación que debe ingresar.

Enviar una cookie única y permanente a los dispositivos del usuario también ayuda a realizar una validación básica. Más allá de eso, puedes intentar tomar huellas digitales, como señala Adrian Oprea.

Las técnicas anteriores no son demasiado difíciles de eludir. Puedo obtener números de teléfono temporales, direcciones de correo electrónico adicionales y puedo navegar en modo incógnito.

Entonces, más allá de estos conceptos básicos, tiene mucha ingeniería social / gestión de productos que puede hacer.

Por ejemplo, puede evitar que una cuenta califique otra cuenta si las dos no tienen una interacción registrada, idealmente de naturaleza financiera. Puede utilizar técnicas simples de aprendizaje automático para detectar cuentas que participan en lo que parecen ser patrones de votación falsos. Se pueden aplicar algoritmos más complejos para formar gráficos sociales e identificar los sospechosos, como un gráfico desconectado de usuarios que solo han revisado un solo usuario o solo entre sí.

Puede establecer mecanismos específicos para su propio negocio que eviten que los usuarios creen cuentas falsas / duplicadas. Un enfoque pesado, por ejemplo, requeriría que los usuarios le den su SSN. Esto ciertamente se hace en casos donde el sitio está apoyando operaciones financieras / fiscales. Puede proporcionar mecanismos simples para que los usuarios de su sitio se auto-controlen. Solo necesita mirar las técnicas que Quora, Facebook y otros han implementado para esto. Por ejemplo, vea esta interacción: un hombre no distribuye opiniones, sino consejos médicos, vendiendo medicamentos falsos marcados por su compañía. ¿Está bien con Quora? ¿Por qué?

La respuesta corta es: no hay formas fáciles. Olvídalo. Solo si el sistema de calificación es el núcleo de su aplicación, entonces comience a pensar en implementar su propio sistema de calificación de usuario.

La única forma de evitar que uno cree una cuenta falsa es identificar a esta persona. Podría ser la integración con las API de servicios gubernamentales, bancarios o de tarjetas de crédito.

Supongo que estamos hablando de una aplicación web “gratuita” y que no tiene ningún sistema de identificación serio. Comience con la integración de redes sociales. Las redes sociales también están luchando con sus propios robots, al menos algo de ayuda.

Tome estadísticas del uso de la web y toda la información posible que pueda encontrar, lea todos los artículos, libros y tutoriales sobre cómo medir el comportamiento del usuario y contarlo todo. De esa manera, comienzas a diferenciar a los usuarios reales de los falsificadores. Y en función de su medida, puede comenzar a penalizar a los falsos.

  1. Cookies, sesiones y almacenamiento / verificación de IP
  2. Dispositivos de huellas digitales
  3. Tiempo entre cada conexión
  4. Verifique si el usuario aún no está conectado. En caso afirmativo, realice algunas operaciones como invalidar sesiones anteriores o bloquear la nueva. Esto último es solo cuando el usuario usa la misma cuenta para múltiples conexiones en la misma PC.

Si desea evitar que abran varias cuentas desde la misma máquina, observe las huellas digitales del dispositivo.

También puede mantener registros de acceso y ver el inicio de sesión de varias cuentas desde la misma máquina. Para esto también necesita un selector público / privado. Deje que el usuario especifique desde qué tipo de dispositivo está iniciando sesión.

Identifique cada sesión con la dirección IP de origen (del cliente) y una cookie de sesión.

Si la IP o la cookie ya votaron, no permita una nueva votación. Puede agotar el tiempo de espera de la sesión después de un tiempo o no, según sus requisitos.

Gracias por A2A.

Desde mi punto de vista, el mejor y más fácil sistema para ambas partes es usar cosas físicas. Por ejemplo, requerir una confirmación por SMS única para la activación de la cuenta. Puede usar la plataforma sin ella, pero no puede hacer clasificaciones antes de activar por SMS. No impedirá la creación de cuentas dobles (nada lo hace, excepto tal vez la confirmación de documentos personales), pero hará que sea mucho menos probable, lo que debería ser lo suficientemente bueno.

  • Galletas
  • Almacenamiento local
  • SessionStorage> LocalStorage
  • IP / Gelocation (tipo de hardcore para poca ganancia)
  • Autenticación o registro forzado de 2 pasos con un número de teléfono válido y confirmado.

Por lo general, utiliza la detección de dirección IP.