¿Hay alguna buena razón de seguridad para que una aplicación web limite la longitud de un nombre de usuario?
Si la hay, ¿cuál debería ser la longitud mínima y máxima permitida?
No hay una buena razón de seguridad para limitar la longitud de un nombre de usuario. La única razón para limitar la longitud del nombre de usuario es que no se extienda a partes del sitio web cuando se muestra, pero incluso eso se puede resolver de manera diferente.
Si se trata de correo electrónico, deben manejarse hasta 254 caracteres para estar en línea con el resto. Si es un nombre de usuario, PCI limita a 16, pero creo que 32 estaría bien.
El límite es para evitar errores reales, por ejemplo, insertar una clave demasiado grande (más que el índice SQL), lo que hace que la página se muestre de manera diferente, así como puede haber límites impuestos por los dispositivos de hardware / otros sistemas donde la longitud no puede ser más larga, por lo tanto, 32 caracteres como en Linux deberían estar bien, al menos para mí.
Es importante recordar que en algunos entornos, restringir un nombre de usuario también puede conllevar su propio riesgo de seguridad.
Cuando se forza bruscamente el inicio de sesión de una aplicación web, donde no se conocen los nombres de usuario ni las contraseñas, a menudo tiene más sentido tomar una cantidad de contraseñas comunes e intentar adivinar los nombres de usuario. La teoría es que dado el número X de usuarios de una aplicación web, es más que probable que algunos de esos usuarios tengan contraseñas de semana. Este tipo de fuerza bruta también ayuda a evitar las políticas de bloqueo de contraseña.
Ahora, por supuesto, hay una compensación entre la seguridad y la facilidad de uso, lo último que usted desea si le permite a cada personaje y encuentra que dedica la mayor parte de su tiempo a responder las solicitudes de asistencia al cliente por nombres de usuario perdidos, pero al considerar las restricciones, Encuentra lo mejor para ser lo más restrictivo posible.
Lea otras preguntas en las etiquetas web-application