uso son resguardo recomendaciones prácticas procedimiento politicas politica para manejo las gestion custodia contraseñas claves buenas asignación algunas passwords

passwords - son - ¿Se debería permitir a los usuarios ingresar una contraseña con un espacio al principio o al final?



resguardo de claves (11)

Debes validar la contraseña con un campo de confirmación de todos modos. Si hacen el error tipográfico dos veces, es de esperar que tenga una contraseña olvidada o una función de restablecimiento en su lugar.

El espacio no debería importar, ya que no debería almacenarlo en texto sin formato.

¿Deben los usuarios ingresar una contraseña como "12345" o "12345", un espacio al principio o al final? O bien, recortaría la contraseña para eliminar los espacios iniciales o finales, ya que puede ser simplemente un error de escritura.


Dejame contarte una historia.

Necesitaba crear una cuenta en un sitio de comercio electrónico, así que ejecuté mi generador de contraseñas aleatorias para hacer una contraseña superior / inferior / número / puntuación de 8 caracteres, la pegué dos veces para confirmarla, terminé de registrarme con toda mi información personal y guardó la contraseña aleatoria en un archivo local cifrado con PGP para su uso posterior.

Más tarde, intenté iniciar sesión, pero volver a pegar la contraseña no funcionó. Después de un poco de pruebas, me horrorizó descubrir que el sitio había eliminado todos los signos de puntuación de la contraseña original, en un intento equivocado de desinfección, reduciendo mi contraseña a tres letras fáciles de forzar.

NO recorte ni desinfecte las contraseñas de los usuarios.


El espacio es un carácter de contraseña normal, y no debe eliminarlo.

Como probablemente hash la contraseña antes de almacenarla en la base de datos, el espacio se tratará como cualquier otro carácter.


El momento en que toma esa decisión es el momento en que comienza a caminar por el camino de la microgestión (sobre sus usuarios en este caso).

¿Una contraseña que contiene un espacio rompe tu sistema? ¿O es un riesgo de seguridad? Entonces no te preocupes. Deje que sus usuarios lidien con sus propios errores, incluso si eso significa que tienen que frustrarse. Su error tipográfico nunca debería ser tu problema.


Está bien que la contraseña la contenga como ya se mencionó, sin embargo, agregaría que al generar nuevas contraseñas aleatorias (por ejemplo, para un sistema de contraseña perdida con restablecimiento razonable), debe evitar generar las que contienen tales caracteres difíciles.

Si la contraseña es lo suficientemente larga y aleatoria, esto compensará la restricción de unos pocos caracteres complicados que facilitará considerablemente la vida del usuario final ...


Estoy votando por: No , no deberían:

Hay un gran beneficio por no permitir que los usuarios utilicen espacios al principio y al final de las contraseñas y eso es simplemente que elimina el problema que a menudo surge cuando un usuario copia y pega su contraseña (por ejemplo, de un correo electrónico) e incluye espacios en blanco que no son No forma parte de la contraseña.

Luego, el usuario se siente frustrado, piensa que el sistema está dañado y los contactos son compatibles. Un desarrollador es rápidamente puesto en el proyecto para verificar el proceso de inicio de sesión "defectuoso" solo para pasar un día sacando su cabello hasta que él / ella se da cuenta del problema.

Creo que aplicar esta política al crear una contraseña resuelve más problemas de los que crea.


He estado en una conferencia más de una vez en la que alguien inició sesión en su cuenta para una demostración después de que la pantalla de la computadora ya estaba en la pantalla grande, no cambió el enfoque al campo de contraseña correctamente y, por lo tanto, se reveló su contraseña. toda la audiencia

Cualquier persona que tenga que ingresar credenciales frente a otros debe considerar mantener un espacio final o tres en su contraseña, por si acaso. Y al construir sistemas de autenticación, nunca debe recortar esos espacios.


No me importa Siempre que lo que le haga a la contraseña cuando se está configurando también se le hará cuando se ingrese más adelante. Recortar, truncar, cambiar el caso, la sal, el hachís, lo que sea, simplemente hacerlo de manera consistente

Presumiblemente no estás guardando la contraseña real de todos modos, así que ...


Nunca "limpie" una contraseña simplemente para tener en cuenta los "errores de escritura". Esto confundirá a los usuarios y en algunos casos les hará imposible iniciar sesión. De hecho, nunca cambie una contraseña detrás de la espalda de un usuario ... siempre adviértale que una contraseña no es válida y permítales probar una nueva.

Un buen ejemplo que encontré recientemente fue con un conmutador 3Com. La interfaz web me permitió cambiar la contraseña de administrador, pero no me advirtió que la contraseña estaba limitada a ocho caracteres. Ingresé una contraseña que tenía más de ocho caracteres. Cuando intenté iniciar sesión después del cambio, simplemente rechazó mi contraseña. Sin embargo, si solo usé los primeros ocho caracteres, pude iniciar sesión (prueba y error por mi parte, no es divertido).

Las contraseñas en estos días ya no se ven como antes. Por ejemplo, mis contraseñas a menudo se ven así:

Man, this program is really ticking me off!


Sí, deberían.

  • No me molesta en absoluto que la gente decida cómo debe comportarse mi contraseña, especialmente cuando no tiene sentido. Me gustaría más de 8 caracteres por favor.
  • Debería estar codificado con la contraseña, de modo que la longitud máxima de los caracteres y los espacios al final no importan.

No, no debes recortarlo.

  • Necesita que un usuario ingrese la contraseña dos veces (al crearla) para eliminar los errores de escritura. Por lo tanto, un espacio no importa.

Ya que es malo juju almacenar la contraseña como texto, no hay necesidad de recortar () la contraseña, ya que se marcará de inmediato.

... en una nota similar, ¿estoy en lo cierto al creer que las contraseñas no deberían tener que ser regex validadas para la inyección de SQL ya que se marcarán y no se insertarán como texto sin formato en la base de datos?