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:
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: