PDA

Ver la Versión Completa : Las contraseñas con acentos las carga el diablo


mocelet
09/06/17, 11:14:54
Si tienes una app que permita registro de usuarios y además una interfaz web de consulta, toca madera para que los usuarios no usen acentos en sus contraseñas.

El problema es un bug precioso sin resolver desde 2014 en Chromium (https://bugs.chromium.org/p/chromium/issues/detail?id=373082) que heredan tanto Chrome como Safari, vamos, casi nada en cuota de mercado :aplausos: El bug consiste en que los campos de contraseña de un formulario no envían lo que escribes y cambian porque sí algunos acentos por la letra sin acento :oh:


En una de mis apps Android registro usuarios desde la propia app, ahí la contraseña es un EditText, pongamos por ejemplo "camión". La extraigo y la envío codificada en UTF-8 por HTTPS donde luego en el servidor se hacen las perrerías pertinentes de hash y salt para almacenarla en la base de datos.

Ahora nos vamos a la interfaz web de consulta donde tenemos un form con el típico username y password y codificación UTF-8. Si nos vamos a Chrome o Safari y escribes en el campo de la contraseña "camión", al servidor le llega "camion" (sin acento) y, evidentemente, la comprobación falla. En Firefox va perfectamente. Lo curioso es que si pones áéíóú sí se envía bien. Es muy raro...

¿Bug, chapuza o característica avanzada no documentada? :loco:

mystgun01
19/06/17, 19:13:25
Vaya, no tenia ni idea. Pero es bueno saberlo :ok:
Pues nada prohibido contraseñas con acentos, a escurrir el coco :D

mocelet
19/06/17, 20:34:37
El bug probablemente pase desapercibido para muchos si siempre usan el mismo navegador mystgun01, y esa debe ser la razón de que no vayan a arreglarlo nunca.

Lo normal es registrarse vía web y acceder vía web con el mismo navegador. El usuario escribe lo mismo y entra bien, si por dentro se envió con acentos o sin ellos al usuario le da igual. Sin embargo, si en Chrome lo arreglan, puede que a muchos usuarios les diga contraseña incorrecta cuando ellos están escribiendo exactamente lo mismo de siempre.

LEAJIM_454
21/06/17, 15:33:26
Si tienes una app que permita registro de usuarios y además una interfaz web de consulta, toca madera para que los usuarios no usen acentos en sus contraseñas. El problema es un bug precioso sin resolver desde 2014 en Chromium que heredan tanto Chrome como Safari, vamos, casi nada en cuota de mercado El bug consiste en que los campos de contraseña de un formulario no envían lo que escribes y cambian porque sí algunos acentos por la letra sin acento En una de mis apps Android registro usuarios desde la propia app, ahí la contraseña es un EditText, pongamos por ejemplo "camión". La extraigo y la envío codificada en UTF-8 por HTTPS donde luego en el servidor se hacen las perrerías pertinentes de hash y salt para almacenarla en la base de datos. Ahora nos vamos a la interfaz web de consulta donde tenemos un form con el típico username y password y codificación UTF-8. Si nos vamos a Chrome o Safari y escribes en el campo de la contraseña "camión", al servidor le llega "camion" (sin acento) y, evidentemente, la comprobación falla. En Firefox va perfectamente. Lo curioso es que si pones áéíóú sí se envía bien. Es muy raro...
Es bueno saberlo pero tambien desearia saber si se puede poner restrcciones al EditText haciendo uso de los escuchadores que tiene.

mocelet
22/06/17, 12:38:02
desearia saber si se puede poner restrcciones al EditText haciendo uso de los escuchadores que tiene.

Sí, claro, y sin los escuchadores también, cuando el usuario le dé a enviar compruebas que todo cumple y marcas los errores en su caso.