Diferencia entre revisiones de «Token para ingreso»

De MoodleDocs
({{EnTraduccion}})
(tidy up)
 
(No se muestran 12 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
{{EnTraduccion}}
{{Moodle 3.1}}{{Moodle 3.3}}{{Moodle 3.4}}{{Moodle 3.5}}{{Moodle 3.6}}
'''Login token''' is a security related feature introduced in Moodle versions  3.1.15, 3.3.9, 3.4.6, 3.5.3 and 3.6.0. It helps to protect against a range of vulnerabilities, such as stealing other user's session, via the login form.
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.


Starting from the said versions, all the login forms must include a new login token field and submit it together with the user's username and password. The value for the field must be obtained via the <tt>\core\session\manager::get_login_token()</tt> call. All attempts to log in without the login token provided will be rejected.
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 <tt>\core\session\manager::get_login_token()</tt>. Todos los intentos de ingresar al sitio sin el token proporcionado para ingreso serán rechazados.


=== Required changes in custom login forms ===
=== Cambios requeridos en los formatos (formularios) de ingreso personalizados ===


==== Themes ====
==== Temas ====


If you use a custom theme, chances are that it uses its own customized template / renderer method to generate the login form. Such themes must be updated to support the new logintoken feature.
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.


Most modern themes - such as those based on Boost or Clean - render the login form via a Mustache template from the given templatable <tt>\core_auth\output\login</tt> form instance. When the form is exported for the template, it returns the login token as a property of the rendering context and can be used directly in the theme. You just need to modify your theme's <tt>core/loginform</tt> template (Moodle 3.4 and later) or <tt>core/login</tt> (Moodle 3.3 and earlier) template and render the hidden field logintoken in the login form:
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 <tt>\core_auth\output\login</tt>. 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  <tt>core/loginform</tt> del tema (Moodle 3.4 y más recientes) o la plantilla <tt>core/login</tt> (Moodle 3.3 y más antiguos) y renderizar el logintoken del campo oculto en el formato (formulario) de ingreso:
<code>
<code>
<input type="hidden" name="logintoken" value="{{logintoken}}">
<input type="hidden" name="logintoken" value="{{logintoken}}">
</code>
</code>


==== Custom HTML login forms ====
==== Formatos de ingreso con HTML personalizado ====


If your plugin generates the HTML for the login form itself, you need to add the logintoken field to the form submitted back to Moodle.
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.
<code>
<code>
<input type="hidden" name="logintoken" value="<?php echo s(\core\session\manager::get_login_token()); ?>" />
<input type="hidden" name="logintoken" value="<?php echo s(\core\session\manager::get_login_token()); ?>" />
</code>
</code>


=== Sites with alternate login URL set ===
=== Sitios con URL de ingreso alterno configurado ===


If the site has Alternate login URL (<tt>$CFG->alternateloginurl</tt>) set, the login token feature is implicitly disabled and no token validation happens. There is no general way to pass the expected token value to the external system that provides the login form.
Si el sitio tiene URL Alterno para ingreso (<tt>$CFG->alternateloginurl</tt>) 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.


=== Switching the login token protection off ===
=== Desactivación de la protección del token para ingreso ===


The login token feature can be explicitly disabled by the administrator by setting a flag in the main config.php file.
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.


'''This is strongly discouraged. Make sure you understand what your are doing and that you have a real reason to do that. The login token feature has been implemented for good reasons and there are known ways to exploit unprotected login forms.'''
'''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.'''


<code>
<code>
// Do not do this unless you understand all the consequences.
// No haga esto a menos que realmente entienda todas las consecuencias.
$CFG->disablelogintoken = true;
$CFG->disablelogintoken = true;
</code>
</code>


 
[[en:development:Login token]]
[[en:Login token]]

Revisión actual - 16:24 13 nov 2018

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="Plantilla: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;