textual tabla lista especiales ejemplos codigo codificacion caracteres html textbox standards passwords character

html - tabla - ¿Cuáles son los estándares para los caracteres permitidos en campos de texto?



lista de caracteres especiales (10)

¿Cuáles son los caracteres típicos permitidos en los campos de texto en un nuevo registro de usuario? ¿Hay estándares de www? Especialmente interesado en los tipos de caracteres de nombre de usuario y contraseña permitidos.


¡POR FAVOR, permite apóstrofes para todos los O''Briens, O''Malleys, O''Reillys y otros nombres apóstrofos!


¿Qué razón tendrías para negar algún personaje? Deberías permitir todo, con la posible excepción del carácter nulo. Tendrá que codificar los nombres de usuario cuando los imprima en su sitio para evitar problemas de secuencias de comandos entre sitios, pero es probable que deba hacerlo de todos modos, incluso si está filtrando los caracteres "peligrosos" solo para estar seguro. Permitir todos los caracteres, especialmente para las contraseñas, aumenta enormemente la usabilidad (y la seguridad, en el caso de las contraseñas). Además, tenga en cuenta que algunos usuarios pueden querer ingresar caracteres UTF8 si tienen acentos en sus nombres (o si usan un alfabeto que no sea latino, como chino o ruso).


¿Su aplicación será utilizada por usuarios que no sean ingleses?

Por lo menos, permite personajes europeos como á à é è ì.

Por supuesto, si tiene que ser realmente internacionalizado, debes permitir que haya caracteres en idiomas como el chino y el árabe.

Me parece que no puedes hacer una lista de personajes permitidos si no quieres enojar a nadie.

Si desea hacer esto por razones de seguridad, le recomendaría que escape los caracteres necesarios antes de intentar usar la cadena en lugar de filtrar desde el principio.


Las contraseñas deben, como mínimo absoluto, permitir que todos los caracteres estén disponibles desde el teclado en la (s) configuración (es) de destino.


No restrinja los caracteres de contraseña. Cuantos más caracteres estén disponibles, más seguras pueden ser las contraseñas. No hay una buena razón para prohibir espacios, por ejemplo, en una contraseña.

Para los nombres de usuario, depende de dónde se mostrarán. Si planea dar a los usuarios su propia URL de perfil, querrá limitar los caracteres mucho más que si no fuera así.

No olvides escaparte de las entradas del usuario cuando las muestres de nuevo.


Prefiero poder usar caracteres alfabéticos, numéricos y especiales para crear mis contraseñas. Realmente lo odio cuando los sitios me niegan el uso de caracteres especiales, particularmente! @ $ *.


Si restringe los caracteres, no debería ser por seguridad (por ejemplo, evitando comillas para que las personas no puedan insertar SQL). Su código debería ser capaz de manejar cualquier carácter en una cadena de entrada, escapándolos adecuadamente cada vez que se envían a algún lugar. Pero está bien restringirlos por razones comerciales o por otros motivos prácticos (por ejemplo, el ejemplo de URL de Zach).


también agregue lo que otros han dicho: contraseña: cualquier cosa y todo, pero hágalo (por supuesto)

nombre de usuario: todo, excepto, posiblemente un espacio ... o múltiples espacios (es decir, el espacio individual está bien, más de un espacio = 1 espacio)


  • Los campos de contraseña deben permitir cualquier carácter (de todos modos, lo va a hacer hash, ¿verdad?)
  • Los campos de texto no deben limitarse a caracteres específicos (por ejemplo, [A-Za-z]). De lo contrario, se les impedirá a las personas que necesitan (o desean) utilizar caracteres de acento. Desde un lado de la base de datos / procesamiento, escapará o usará el enlace para guardar sus datos.
  • Si tiene un campo específico que sabe , solo puede aceptar un juego de caracteres específico (motivos comerciales, etc., como menciona JW). Por ejemplo, los formularios que están destinados a un público exclusivo de los EE. UU. Pueden restringir los números y un guion para los códigos postales.

No restrinja nada y si desea darles a los usuarios sus propias URL, use una ID numérica o solicite al usuario que haga el nombre de la URL. Nunca muestre el nombre de usuario del usuario, muestre su nombre para mostrar (que debe limitarse a nada excepto los peligrosos caracteres Unicode) y solicítelo después de registrarse.