Token para ingreso

Saltar a: navegación, buscar

Moodle 3.1

Moodle 3.3

Moodle 3.4

Moodle 3.5

Moodle 3.6

El Token para ingreso (Login token) es una característica relacionada con seguridad introducida en las versiones de Moodle 3.1.15, 3.3.9, 3.4.6, 3.5.3 y 3.6.0. Ayuda a proteger en contra de un rango de vulnerabilidades, tales como el robo de la sesión de otro usuario, vía el formato para ingresar al sitio.

A partir de las versiones mencionadas, todos los formatos (formularios) para ingreso al sitio deben incluir un nuevo campo de token para ingreso y enviarlo junto con el nombre_de_usuario y la contraseña. El valor para el campo debe ser obtenido vía la llamada a \core\session\manager::get_login_token(). Todos los intentos de ingresar al sitio sin el token proporcionado para ingreso serán rechazados.

Cambios requeridos en los formatos (formularios) de ingreso personalizados

Temas

Si Usted usa un tema personalizado, hay riesgo de que dicho tema use su propia plantilla personalizada o método para renderizar personalizado para generar el formato para ingreso. Dichos temas deben de ser actualizados para soportar la nueva característica del logintoken.

La mayoría d elos temas modernos, como los basados en Tema Boost o Tema Clean - renderizan el formato para ingreso vía una plantilla de Mustache desde la tabla_de_plantilla (templatable) dada de la instancia del formato \core_auth\output\login. Cuando el formato es exportado para la plantilla, retorna el token de ingreso como una propiedad del contexto del renderizado y puede ser usado directamente en el tema. Usted solamente necesita modificar su plantilla core/loginform del tema (Moodle 3.4 y más recientes) o la plantilla core/login (Moodle 3.3 y más antiguos) y renderizar el logintoken del campo oculto en el formato (formulario) de ingreso:

<input type="hidden" name="logintoken" value="{{logintoken}}">

Formatos de ingreso con HTML personalizado

Si su plugin genera el HTML para el formato de ingreso por sí mismo, Usted necesita añadir el campo logintoken al formato (formulario) enviado de vuelta a Moodle.

<input type="hidden" name="logintoken" value="<?php echo s(\core\session\manager::get_login_token()); ?>" />

Sitios con URL de ingreso alterno configurado

Si el sitio tiene URL Alterno para ingreso ($CFG->alternateloginurl) configurado, la característica del token para ingreso está implícitamente deshabilitada y no ocurre validación del token. No hay una forma general para pasar el valor del token esperado al sistema externo que proporciona el formato para ingreso.

Desactivación de la protección del token para ingreso

La característica del token para ingreso puede ser deshabilitada explícitamente por el administrador al configurar una señalización en el archivo principal config.php.

Esto está fuertemente desaconsejado. Asegúrese de que comprende perfectamente lo que Usted está haciendo y que tiene una razón real para hacerlo. La característica del token para ingreso ha sido implementada por buenas razones y hay formas conocidas de explotar los formatos para ingreso desprotegidos.

// No haga esto a menos que realmente entienda todas las consecuencias.
$CFG->disablelogintoken = true;