¿Cómo hago un sistema de autenticación de números de teléfono para mi sitio web? [cerrado]

-5

Realmente necesito evitar que los usuarios creen varias cuentas. Así que estaba pensando en hacer un sistema de autenticación de número de teléfono. Cuando, cuando un usuario se registra, se envía un código de 4 dígitos a su teléfono, lo escriben en mi sitio web y se crea su cuenta.

Es muy difícil no soy un experto en código de computadora. Si es así, ¿hay alguna forma más fácil de evitar que las personas creen varias cuentas?

    
pregunta p511 07.07.2015 - 19:29
fuente

2 respuestas

1

Como mínimo, puede generar un código aleatorio de 4 dígitos (1000-9999) y almacenarlo en una base de datos, luego usar las pasarelas de SMS a correo electrónico para enviar SMS a teléfonos móviles de forma gratuita. La mayoría de los operadores lo admiten, sin embargo, tendrá que preguntar a su usuario final qué operador tienen y deberá mantener una base de datos de todos los dominios de puerta de enlace de los operadores.

Por ejemplo, puede generar el código y luego usar un controlador de correo dentro de su sitio web (en PHP sería mail() )

Enviar un correo electrónico a phonenumber@carriergatewayurl

Por ejemplo, para un cliente T-Mobile con el número (322) 999-9999, funcionaría lo siguiente:

[email protected]

Nuevamente, cada operador tiene un nombre de dominio completamente calificado y diferente a la puerta de enlace. No todos los operadores serán compatibles, aunque la mayoría de los nacionales (EE. UU.) Sí lo harán.

Sin embargo, esto tiene ramificaciones, el número de teléfono "de" se asignará al azar (lo más probable es que su operador) y, por lo tanto, los mensajes múltiples no provendrán del mismo "contacto" y pueden terminar en varios hilos. Tampoco podrá verificar si el mensaje se envió correctamente o incluso si el número de teléfono existe (a menos que se devuelva una respuesta de correo electrónico como "no hay tal usuario aquí" más adelante). El formato del mensaje también deberá modificarse, ya que el uso de "asunto" y "cuerpo" en su correo electrónico generalmente no se ve como un mensaje de texto normal, como en una sola línea cuando se envía a SMS.

En esta nota, es mucho mejor ir con un servicio como Twilio, a bajo costo.

Otra alternativa gratuita que he usado con éxito (en el pasado) es enviar SMS a través de Google POST a través de solicitudes POST (PHP curl + sitio móvil de Google Voice) - ver PHP API de Google Voice en github - y utilizar IMAP cliente para leer los SMS que Google Voice reenvió a GMail, analizando correos electrónicos basados en el patrón del sujeto / cuerpo / encabezados de la voz de Google en un intervalo regular que se ejecuta en un trabajo cron para leer los SMS entrantes (responde al servicio de SMS). Tenga en cuenta que se trata de una configuración bastante complicada y que le lleva un tiempo comenzar a trabajar a la perfección. Podría ser mejor pagar la masa. Además, esta es una forma rápida de eliminar su cuenta de Google Voice y quitarle el número de teléfono personalizado. .

Recomendaría Twilio, pero se sorprendería de la cantidad de sitios web que se salen con las pasarelas de correo electrónico SMS. Parece barato, incluso cuando está bien hecho. Pero funciona.

    
respondido por el Joseph Orlando 07.07.2015 - 20:45
fuente
0

Hay varias empresas que ofrecen SMS como un servicio, y (generalmente) tienen bibliotecas y documentación de API bastante decentes para todos los lenguajes de programación populares (que es PHP). Estos sitios no son gratuitos y cobran una pequeña cantidad por cada texto enviado.

Tienen la capacidad de activar el "modo de prueba", por lo que puedes desarrollar tu sitio sin temor a que envíes cientos de dólares en SMS a personas al azar. Cuando haya terminado, simplemente desactive el modo de prueba, ¡y debería funcionar globalmente!

Algunos ejemplos son:

Twilio - documentos API

Plivo - documentos API

Nexmo - documentos API

Estas API le permiten enviar una solicitud CURL simple a un punto final en su servidor, con la clave API, el texto y el número de teléfono que desea enviar.

Tenga en cuenta que los SMS internacionales pueden no ser compatibles con todas las partes, o pueden tener un costo adicional.

Yo solo he usado Twilio, pero debería haber suficiente documentación para que puedas comenzar, independientemente. También sugeriría navegar por la web para ver si puede encontrar algunos tutoriales sobre la implementación de SMS. Debería haber un montón de esos.

Una pequeña nota, sin embargo, ¿qué pasa si alguien tiene varios números de teléfono? Le sugeriría, a menos que sea crítico para el negocio para su aplicación, que no se preocupe mucho por los múltiples usuarios de su sitio web.

Ocurrirá, así que prepárate para eso.

la mejor de las suertes!

    
respondido por el Mrtn 08.07.2015 - 13:27
fuente

Lea otras preguntas en las etiquetas