Añadir nuevo comentario

Poner un captcha en mediawiki

Recaptcha en mediawiki

Si tenemos la wiki abierta a la edición de cualquiera, podemos tener problemas de spam. Para evitarlo podremos usar un servicio de captcha (imagenes con numeros y letras) llamado recaptcha que nos suministrará de la imagen para que la gente que edite nuestra mediawiki tenga que introducir el codigo dibujado en la imagen y asi demuestre que es una persona y no un robot.

Para instalarlo tendrémos que bajarnos de esta web http://code.google.com/p/recaptcha/downloads/list?q=MW-Latest la extensión de este servicio para la mediawiki:

>> wget http://recaptcha.googlecode.com/files/recaptcha-mediawiki-1.7.zip
>> unzip recaptcha-mediawiki-1.7.zip

Ahora tendremos que crear las keys para acceder al servicio recaptcha a través de esta web https://admin.recaptcha.net/recaptcha/createsite/?app=mediawiki. Necesitaremos tener una cuenta, si no la tenemos podemos crearnosla gratuitamente.

Una vez tengamos las keys tendrémso que modificar el fichero LocalSettings.php que se encuentra en la raiz de nuestra mediawiki y añadiremos las siguientes líneas (poniendo nuestras keys publicas y privadas en vez de las del ejemplo):

##################################################
##### Recaptcha
##################################################
require_once( "$IP/extensions/recaptcha/ReCaptcha.php" );
// Sign up for these at http://recaptcha.net/api/getkey
$recaptcha_public_key = '6Lfh-QQAAAAGtzjyFUNXpdgdgMIx7KFHxwMereNEKcpN';
$recaptcha_private_key = '6Lfh-QQAArAAAIzBrrfhdfgfgsU7MvrwQ5cnerrasLzl3J';

Por defecto el captcha saldrá cuando un nuevo usuario se registra, cuando un usuario edita un contenido con links externos o cuando hay un ataque de fuerza bruta para sacar un password.

Pero podemos, por ejemplo forzar a que todas las ediciones tengan que pasar por un captcha (sean con linkks externos o sin ellos). Añadiremos también la siguiente línea al fichero LocalSettings.php:

$wgCaptchaTriggers['edit'] = true;

Para que a los usuarios registrados no les salga nunca, tendremos que añadir también la siguiente línea al fichero LocalSettings.php':'

$wgGroupPermissions['user' ]['skipcaptcha'] = false;

Como siempre el artículo actualizado en mi wiki.