Hola
Al intentar crear un nuevo usuario en preinscripcion 3.12 nos aparece un “error de seguridad”
Adjunto captura de pantalla y el log.
Alguna idea para resolverlo?
Emilio
20210608_183929___1344.zip (1.53 KB)
Hola
Al intentar crear un nuevo usuario en preinscripcion 3.12 nos aparece un “error de seguridad”
Adjunto captura de pantalla y el log.
Alguna idea para resolverlo?
Emilio
20210608_183929___1344.zip (1.53 KB)
hola
¿Ese error sucede siempre ? ¿Hay alguna personalización en la operación ?
Es CSRF que esta dando este error de seguridad
Muchas gracias
Saludos
Hola
No hay ninguna personalización en esa operación.
Siempre ocurre.
Inclusive en una máquina virtual.
Emilio
Hola!
Unas consultas mas. Están usando ‘produccion’ => true, o están en desarrollo?
y es una instalación nueva desde cero?
Para adelantarnos y descartar algún error. Podrías enviarnos el composer.lock y composer json?
muchas gracias
saludos
4
Hola Emilio, agrego a lo de Jessica:
En Preinscripción 3.12.0 y Autogestión 3.19.0 hubo cambios en el framework Chulupí. Revisa tener los archivos composer.json y composer.lock actualizados y sin cambios locales (svn status), luego correr el comando composer install para que se actualicen las dependencias.
¿En el formulario de Crear nuevo usuario tiene algún valor el input con name=“__csrf” (dejo captura)?
saludos.
2
Hola
Es produccion
produccion=true
los archivos composer.json y composer.lock son los mismos que estan en colab. Lo controlé por las dudas.
No hay cambios locales
No hay ningun campo __cs…
pueden verlo en preinscripcion.unca.edu.ar está publico.
ejecuto composer install nuevamente y les comento.
Nothing to install or update
la instalacion de producción se actualiza con svn switch.
macro_csrf.twig
no existe. Debería?
Hola Emilio,
En el archivo src/siu/operaciones/alta_usuario/crear_usuario/default.twig se hace uso de dicho macro:
{% import "kernel/macro_csrf.twig" as input_csrf %}
{{ input_csrf.mostrar(this.data.csrf) }}
El cual se encuentra acá: vendor/siu/chulupi-framework/src/SIU/Chulupi/interfaz/templates/kernel/macro_csrf.twig.
¿vos decís que en modo desarrollo funciona y en producción no?
Si es así se puede deber a la cache de TWIG que se almacena en instalacion/temp/ cuando se usa en modo producción.
Fíjate tener bien los permisos de las carpetas.
¿tenes personalizaciones?
Probé acá (http://preinscripcion.unca.edu.ar/alta_usuario) y ni siquiera esta en input del CSRF.
saludos.
2
Hola
Revisé los permisos y están bien
Tenemos personalizaciones pero no sobre esa operacion. Dias atras le pasé a Hernan las mismas.
Producción y desarrollo funcionan igual. O sea no anda esto.
Si borro la carpeta vendor, composer me la crea de nuevo? Puede ir por ahi el inconveniente?
Emilio
Hola Emilio,
Si, podes borrar la carpeta vendor, luego corres composer install y te la vuelve a descargar.
saludos.
2
Hola
Seguimos en la misma
El cual se encuentra acá: vendor/siu/chulupi-framework/src/SIU/Chulupi/interfaz/templates/kernel/macro_csrf.twig.
donde se referencia este archivo? o por donde lo busca el chulupi?
hay alguna referencia que no está quedando bien.
Emilio
Hola Emilio,
En Preinscripción se referencia en dos lugares:
src/siu/operaciones/alta_usuario/crear_usuario/default.twig
src/siu/operaciones/ayuda_menu/contacto/default.twig
La definición se encuentra acá: vendor/siu/chulupi-framework/src/SIU/Chulupi/interfaz/templates/kernel/macro_csrf.twig
¿en modo desarrollo funciona bien? ¿que pasa si volves a correr el comando bin/preinscripcion compilar_recursos?
saludos.
2
Hola
produccion=false
funciona. Al menos aparece el campo en cuestion.
Emilio
Hola Emilio, gracias por el dato!!!
Si buscas dentro de la carpeta instalacion/temp/ el siguiente texto return “kernel/macro_csrf.twig”; ¿te encuentra algún archivo?
En mi caso encuentra el archivo instalacion/temp/alumno_id_trunk/34/92/4eff407d6d59fa8009f5a65a7d02.php.
Lo que ocurre es que cuando la aplicación esta en producción los Twigs se compilan a archivos PHP por cuestiones de eficiencia, deberías tener el compilado.
saludos.
2
No esta. Y compilar_recursos no lo genera (con produccion=true).
Genera otros. pero no ese.
Hola Emilio,
Hay que ver porque el comando bin/preinscripcion compilar_recursos --verbose no lo genera, ¿te da algún error cuando lo ejecutas? ¿tenes permisos en la carpeta instalacion/temp?
saludos.
2
Hola Emilio,
Te explique mal, los Twigs no se compilan con el comando bin/preinscripcion compilar_recursos, sino que cuando estas en modo producción se van compilando “on demand” cada vez que se usan.
Esto se puede ver en la función load_template de vendor/siu/chulupi-framework/src/SIU/Chulupi/kernel.php:
if (kernel::proyecto()->get_produccion()) {
$cache = kernel::proyecto()->get_dir_temp();
} else {
$cache = false;
}
$loader = self::template_loader();
$env = new \Twig_Environment($loader, array(
'debug' => false,
'cache' => $cache,
'charset' => kernel::proyecto()->get_encoding()
));
....................
La carpeta de cache es lo que se define en el parámetro dir_temp de instalacion/config.php, sino se define toma instalacion/temp.
Preguntas:
¿tenes definido el parámetro dir_temp en instalacion/config.php? Podes no tenerlo y todo ok.
¿Apache tiene permisos de escritura en dir_temp o instalacion/temp en su defecto?
Referencia: https://twig.symfony.com/doc/1.x/api.html#compilation-cache
saludos.
2
Hola
Borré el directorio de compilacion de los twig y salió andando.
Si vuelve a ocurrir trataré de ver porque andaba mal, o se armó mal.
Emilio
Hola Emilio,
Quizás se compilo mal la primera vez, y luego quedo mal compilado para el resto de los usos.
Perfecto, cualquier cosa nos avisas.
saludos.
2