2010-06-19 763 views
9

Estoy intentando escribir un sitio web que tenga cuentas de usuario. No hay mucha información confidencial que no sea la contraseña y la dirección de correo electrónico. Pero realmente no entiendo lo que estoy haciendo; Lo estoy pirateando mientras voy. ¿Hay algo que deba tener en cuenta con respecto a la seguridad o cualquier otro detalle importante?Crear una página web con cuentas de usuario, ¿qué debo tener en cuenta?

Respuesta

1

Debe utilizar la función MD5 php para las contraseñas. Manera simple de asegurarlo. También asegúrese de usar strip_tags en php para que alguien no pueda ejecutar comandos en sus cuadros de entrada. Como no hay datos sensibles, no creo que deba encriptar nada. Sólo asegúrese de que el sistema de inicio de sesión es perfecta y el usuario no tiene otra manera de acceder a los datos sin necesidad de acceder ..

Shud suficiente para una secuencia de comandos de inicio de sesión básica ..

+4

"DEBE usar la función MD5 php" => mientras que es recomendable hacer una contraseña, md5() no es la única manera ... – Wrikken

+1

de hecho, NO DEBE usar MD5 para el hash de contraseñas, sino más bien algo más lento y diseñado para contraseñas, como BCRYPT o incluso SCRYPT. – Ethan

3

Uso JanRain Engage (formerly rpxnow.com) para la autenticación. Su solución permite a las personas usar sus credenciales existentes de Google, Yahoo, Microsoft, Facebook y otros para iniciar sesión en su sitio. Muchos de estos proveedores proporcionarán un OpenID válido y, a menudo, una dirección de correo electrónico válida como parte del proceso de autenticación.

Si usa JanRain, solo tiene que almacenar la dirección de correo electrónico o el OpenID para un usuario, y no tiene que almacenar contraseñas o contraseñas de contraseña. Además, no tiene que implementar ninguna funcionalidad de restablecimiento de contraseña, o "olvidó mi contraseña". Además, la funcionalidad de registro de usuario puede ser mucho más pequeña porque la inicia con una dirección de correo electrónico válida o OpenID proporcionada por su propietario.

La comunicación entre su aplicación y JanRain está autenticada y encriptada, por lo que es muy bueno & seguro.

+1

Es cierto, pero también recuerde que OpenID también puede tener desventajas. Consulte http://stackoverflow.com/questions/410085/what-reasons-are-there-not-to-use-openid para obtener una conversación interesante al respecto. – nico

+1

Cuando digo OpenID, me refiero a la versión de JanRain Engage. Usan OpenID bajo las sábanas, y el usuario nunca tiene que verlo. El usuario solo ve el ID de usuario y las contraseñas que conocen de Goog/Yahoo/MS/FB et al. Y nunca tendrá que escribir su identificación de usuario y contraseña en ninguna página, excepto en la página de inicio de sesión del proveedor de identidad. –

+0

Esto podría ser lo que terminaré usando. Gracias por mostrarme esto. – DavidR

4

Sarfraz Ahmed trajo algunos buenos recursos para leer. También puede usar una clase PHP para autenticación de usuario, hay muchas. Yo mismo he puesto un proyecto llamado userFlex en sourceForge http://uflex.sourceforge.net

userFlex tiene una documentación decente y hace más que simplemente iniciar sesión en los usuarios; realiza registro y validaciones de campo, restablecimiento de contraseñas, códigos de confirmación para registros, maneja sesiones y más como autologin.

Otra vez estoy poniendo userFlex como ejemplo, también puede mirar en http://www.phpclasses.org/browse/file/5269.html o muchas otras buenas clases en PHPclasses.org.

Cuestiones relacionadas