Manual:$wgRateLimits

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgRateLimits and the translation is 97% complete.
Outdated translations are marked like this.
Other languages:
English • ‎español • ‎français • ‎magyar • ‎polski • ‎русский • ‎中文 • ‎日本語
Rate limiter: $wgRateLimits
Opciones sencillas para limitar la frecuencia de ediciones en oleadas masivas.
Introducido en la versión:1.4.5
Eliminado en la versión:aún se usa
Valores permitidos:no especificado
Valor predeterminado:ver a continuación

Detalles

Esta configuración proporciona un sencillo limitador de frecuencia para limitar las oleadas masivas de ediciones y otros comportamientos potencialmente destructivos, como enviar correos a otros usuarios. Establece un número máximo de acciones permitidas en una franja de tiempo de tantos segundos. Más allá de ello, el cliente infractor recibirá páginas de error HTTP 429 hasta que haya pasado el plazo. Para comprobar si se ha excedido un límite de frecuencia, usa la función User::pingLimiter() .

Por ejemplo, para establecer un máximo de 4 ediciones cada 60 segundos para usuarios «newbie» (novatos, es decir, no autoconfirmados), añade esto:

$wgRateLimits['edit']['newbie'] = array( 4, 60 );
El límite ip se aplica tanto a usuarios no registrados como a usuarios novatos. El límite newbie se aplica por acción y usuario, y el límite ip por acción e IP. Por lo que, si tienes muchos novatos que usen la misma dirección IP, todos ellos se incluyen en el mismo recuento para el límite ip. Esto puede tener efectos deseados o no deseados. Si tienes por ejemplo un hackatón con un gran número de usuarios nuevos (legítimos), es posible que alcancen rápidamente el límite de acciones por IP, lo cual puede ser indeseado. Por otra parte, los spammers que usan distintas cuentas desde la misma dirección IP también pueden alcanzar el límite, lo cual sería deseado.

By setting $wgRateLimits['anAction']['&can-bypass'] = false; the limitations for a specific action can be marked as not skippable. If that is set, neither the noratelimit user right nor the $wgRateLimitsExcludedIPs setting have any effect for that action.

Para que esta configuración funcione, $wgMainCacheType debe tener fijado un valor distinto de CACHE_NONE.

Valor predeterminado

$wgRateLimits = [
  // Ediciones de páginas
  'edit' => [
    'ip' => [ 8, 60 ],
    'newbie' => [ 8, 60 ],
    'user' => [ 90, 60 ],
  ],
  // Traslados de páginas
  'move' => [
    'newbie' => [ 2, 120 ],
    'user' => [ 8, 60 ],
  ],
  // Subidas de archivos
  'upload' => [
    'ip' => [ 8, 60 ],
    'newbie' => [ 8, 60 ],
  ],
  // Reversiones de páginas
  'rollback' => [
    'user' => [ 10, 60 ],
    'newbie' => [ 5, 120 ]
  ],
  // Peticiones de correos de reactivación de contraseña
  'mailpassword' => [
    'ip' => [ 5, 3600 ],
  ],
  // Envíos de correos electrónicos a otros usuarios mediante MediaWiki
  'emailuser' => [
    'ip' => [ 5, 86400 ],
    'newbie' => [ 5, 86400 ],
    'user' => [ 20, 86400 ],
  ],
  // Purgas de páginas
  'purge' => [
    'ip' => [ 30, 60 ],
    'user' => [ 30, 60 ],
  ],
  // Purgas de tablas de enlaces
  'linkpurge' => [
    'ip' => [ 30, 60 ],
    'user' => [ 30, 60 ],
  ],
  // Archivos generados mediante thumb.php o thumb_handler.php
  'renderfile' => [
    'ip' => [ 700, 30 ],
    'user' => [ 700, 30 ],
  ],
  // Igual que lo anterior, pero para miniaturas no estándar
  'renderfile-nonstandard' => [
    'ip' => [ 70, 30 ],
    'user' => [ 70, 30 ],
  ],
  // Almacenamientos de ediciones en la antememoria antes de su guardado
  'stashedit' => [
    'ip' => [ 30, 60 ],
    'newbie' => [ 30, 60 ],
  ],
  // Adición o borrado de etiquetas de cambio
  'changetag' => [
    'ip' => [ 8, 60 ],
    'newbie' => [ 8, 60 ],
  ],
  // Changing the content model of a page
  'editcontentmodel' => [
    'newbie' => [ 2, 120 ],
    'user' => [ 8, 60 ],
  ],
];

Las extensiones pueden proporcionar claves adicionales para $wgRateLimit. Por ejemplo, Extension:ConfirmEdit proporciona una clave «badcaptcha» que permite ralentizar a los usuarios según el número de respuestas incorrectas que hayan dado a un captcha. Un ejemplo sería:

$wgRateLimits['badcaptcha']['newbie'] = array( 100, 86400 );

Esto permitiría a los usuarios no más de 100 respuestas incorrectas cada día (86400 segundos).

Historial de versiones

  • Se añadió el array «mailpassword» en MediaWiki 1.7.0.
  • Se añadió el array «emailuser» en MediaWiki 1.10.0.
  • Se añadió el array «linkpurge» en MediaWiki 1.22.0.
  • Se añadió el array «renderfile» en MediaWiki 1.22.0.

Véase también