Creo que todo lo que hace Quora en este momento es enviar una solicitud POST XHR que contiene su dirección de correo electrónico después de haberla ingresado en sus servidores. Si coincide con un correo electrónico en su base de datos, devolverán tanto el nombre del usuario con esa dirección de correo electrónico como un enlace al avatar del usuario.
Hay dos posibles problemas con esto que debe tener en cuenta:
1) Es perfectamente seguro enviar credenciales de usuario a su servidor usando JavaScript siempre que la solicitud sea una solicitud POST, e idealmente a través de SSL. Nunca debe enviar credenciales de usuario como una solicitud GET, ya que es probable que se almacenen en todo tipo de registros en los que no desee. Mientras mantiene la solicitud como una solicitud POST XHR, está haciendo efectivamente lo que el navegador estaría haciendo. cuando haces clic en el botón enviar. Tampoco use nunca JSONP para devolver datos personales, ya que esto se puede usar en un ataque XSS.
2) Si bien esto no se refiere a la seguridad, es algo que debe considerar seriamente al usar una técnica como la que usa Quora. Si realiza búsquedas en su base de datos y devuelve resultados basados solo en una dirección de correo electrónico, existe un problema de protección de datos bastante desagradable. Si yo, como spammer, tengo una lista de direcciones de correo electrónico ‘y quiero validar que son reales y obtener el nombre real de la persona que posee esa dirección de correo electrónico, podría crear fácilmente un pequeño script para disparar cientos de solicitudes para validar los correos electrónicos y recuperar los nombres completos de los usuarios. Esto puede parecer inocente al principio, pero si alguien que intenta realizar una estafa de phishing con nombres completos del usuario es masivo.
- ¿Qué distingue una herramienta de gestión financiera en línea de otra?
- ¿Cuáles son todos los sitios web de "búsqueda instantánea" que se han creado?
- ¿Cuáles son algunos buenos marcos JavaScript para construir aplicaciones web HTML5?
- ¿Cuál es la mejor manera de crear una aplicación alojada en la nube desde cero?
- ¿Reemplazarán las herramientas de creación de aplicaciones en línea la aplicación / desarrollo web en el futuro?
Entonces, en términos de seguridad: siempre aténgase a las solicitudes POST y nunca use JSONP para datos confidenciales del usuario. Sin embargo, siempre piense en los problemas morales y personales al revelar mucha información sobre sus usuarios.