1
1
Question information
- Language:
- Spanish Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Last query:
- 2015-10-21
- Last reply:
- 2015-10-21
Eugenia Bahit (eugeniabahit) said : | #1 |
> En app_engine.php, al cargar el plugin securitylayer se sanean por defecto los datos de POST.
Su afirmación es incorrecta.
SecurityLayer solo se activa si la directiva SECURITY_
Cualquier otro valor, produce que SecurityLayer no sea activado.
> En userController, el metodo guardar llama a __validar_pwd que entre otras cosas verifica que la longitud de la contraseña no sea menor a 6, sin embargo, como los datos de POST ya fueron saneados y hasheados esta verificacion siempre pasa, permitiendo escribir contraseñas de menos de 6 caracteres.
Nuevamente, usted hace una afirmación incorrecta.
Suponiendo que SECURITY_
Cuando SECURITY_
> No si si lo que propongo sea una solucion y si lo es no se que tan buena sea. ¿Podria modificarse el plugin para que guarde en POST el pass saneado y deje intacto el pass original?
EuropioEngine es Software Libre. Esto significa que usted tiene (entre otras libertadas concedidas por la versión 3 de la licencia GPL), la libertad de estudiar el código fuente y efectuar las modificaciones que considere necesarias.
> Gracias por cualquier ayuda o aclaracion :)
Tenga en cuenta que el módulo de Usuarios por defecto que acompaña a EuropioEngine, codifica el campo de contraseña mediante EuropioCode, generando que las contraseñas se envíen en texto plano alfanumérico, para evitar así, las inyecciones de código y/o la ejecución de código malicioso.
Por otra parte, como principio básico de la seguridad informática, las contraseñas solo deben ser validadas contra una política de contraseña, pero no deben ser "saneadas" como cadenas de texto, puesto que restan seguridad a la misma.
Gracias por las respuestas, pero aun me quedan dudas.
Gracias por la aclaracion con respecto a las constantes usadas en security layer, la verdad ya lo habia revisado y me habia dado cuenta. No me di cuenta de que a los campos de contraseña que coinciden con los contemplados en europio no se les aplica saneamieno.
Mi problema es el siguiente:
Entiendo que al modificar el valor de las constantes evito que se aplique el hash al pass. Por defecto en config.ini los valores de estas constantes permiten que se aplique md5 y esto no permite realizar la comprobacion de la longitud de la contraseña, y ese es mi punto, es el "problemilla" con el que me tope, lo veo como un problema en la logica de la aplicacion por que al activar security layer y setear a true la encriptacion del pass se hace "imposible" (ya se que no es imposible) verificar la longitud.
Entiendo que puedo modificar el codigo si lo necesito y es lo que hare con la mejor logica que encuentre, lo que necesito es un consejo que me ayude a hacerlo mejor.
Eugenia Bahit (eugeniabahit) said : | #3 |
> Entiendo que al modificar el valor de las constantes evito que se
aplique el hash al pass. Por defecto en config.ini los valores de estas
constantes permiten que se aplique md5 y esto no permite realizar la
comprobacion de la longitud de la contraseña, y ese es mi punto, es el
"problemilla" con el que me tope, lo veo como un problema en la logica
de la aplicacion por que al activar security layer y setear a true la
encriptacion del pass se hace "imposible" (ya se que no es imposible)
verificar la longitud.
Aprovechando que no existe un archivo de configuración por defecto, usted simplemente podría establecer en False el valor de la directiva SECURITY_
> Entiendo que puedo modificar el codigo si lo necesito y es lo que hare
con la mejor logica que encuentre, lo que necesito es un consejo que me
ayude a hacerlo mejor.
Supongo que está empleando el término de lógica para referirse al flujo de la información del requerimiento específico. En ese caso, usted debe plantearse qué es lo que desea hacer y resolverlo como habitualmente lo haría sin dejar que EuropioEngine interfiera en su análisis. El objetivo de la aplicaciones basadas en núcleo, justamente, es que el núcleo no interfiera en los requerimientos del programador.
- Si siente que SecurityLayer interfiere en su trabajo, desactívelo ya que no forma parte del núcleo y es un complemento opcional.
- Si siente que el problema es obtener una contraseña cifrada pero prefiere mantener activo SecurityLayer, establezca en False la directiva SECURITY_
- Si desea mantener SECURITY_
- Si cree que el problema es que el módulo de usuarios no satisface sus requerimientos, desarrolle uno nuevo empleando sus propio flujo de datos y no olvide quitar el actual para que no interfiera con su trabajo. Si esta fuese su alternativa, por favor, considere en su desarrollo, los 3 puntos anteriores.
Muchas gracias por las respuestas Eugenia, llevo poco tiempo estudiando el codigo de europio y poco a poco aprendo un poco mas, hay una especie de brecha entre saber lenguajes de programacion y ser capaz de programar un sistema con una logica interna consistente y bella, leyendo tu codigo se encuentra una buena guia para desarrollar esas habilidades.