Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Hostarting

Vie09Oct2009

Consejos para realizar un login seguro

11:30 H (CET)| Temas: Desarrollo web

Buena serie de consejos a tener en cuenta cuando desarrollamos nuestro sistema de login. Algunos son ya conocidos, pero no está mal recordarlos:

  • Logitud de la contraseña y nombre de usuario: tiene que tener mínimo 6-8 caracteres.
  • Encriptar la contraseña: aunque casi todo el mundo usa MD5 o SHA-1, no está mal del todo usar SHA-2 (disponible en PHP5), ya que las anteriores ya no son tan seguras como hace tiempo.
  • Añade una semilla a la contraseña: cuando encriptes la contraseña es recomendable añadirle un texto para que el hash sea mas seguro.
  • No uses nombres sencillos para el administrador: evita usar nombres como "admin", "root", ...
  • Registra los intentos de login: así se podrá detectar cuando estamos siendo atacados.
  • Maneja los errores: cuando se produce un login fallido, o evita que se produzca un error, o muestra un error personalizado, no muestres errores de código que puedan dar pistas al atacante.
  • Filtra la entrada: filtra lo que el usuario meta en su usuario para evitar inyecciones de código y no compruebes si la contraseña es correcta mediante SQL.
  • Usa LIMIT o WHERE 1: es importante para evitar comprometer muchas cuentas si sufrimos un ataque.
  • Usa nonce: nonce es un número único para la sesión, así nos aseguramos de que no se realicen ataques de fuerza bruta usando diccionario.
  • Usa sólo $_POST: $_GET es más sencillo de usar que $_POST, aunque no quita que usando $_POST no nos encontremos con problemas.
  • Cuentas MySQL: utiliza un usuario con permiso de select para realizar el login, así, si rompen tu seguridad, no podrán hacer deletes, updates o inserts.
  • Auto logout: Si quieres darle mayor seguridad, desconecta al usuario automáticamente pasado un cierto tiempo de inactividad. Aunque desde el punto de vista de la usabilidad no es muy recomendable.
  • Bloque la cuenta: si se han intentado varios logins consecutivos y han sido fallidos, se debería bloquear la cuenta.

PHP Secure Login Tips And Tricks

Vía / DZone

Relacionados

Feedback (1) » Formulario

1. Vicent González i Castells ~ Martes, 13 Oct 2009 | 10:03H:

Añado mi granito: bloquear el acceso desde la IP si se detectan varios logins malintencionados.

Buen post.

Conversación

Nombre:

Email:

(no aparecerá)

URL:

(opcional)
¿Recordar datos?

↓ Comentarios (XHTML permitido)