Agrega reCAPTCHA a tu Joomla!

Atención, abrir en una nueva ventana. PDFImprimirE-mail

Guías - Diseño y administración Web con Joomla!

Usar puntuación: / 7
MaloBueno 

Lamentablemente, las versiones actuales estables de Joomla! (1.5.x) no tienen protección de formularios ante el envío automatizado de robots que normalmente utilizan spammers, o cierto tipo de hackers con diferentes propósitos.

Esta es una importante omisión de seguridad del sistema, que seguramente será tenida en cuenta en la próxima versión 1.6.x

Pero mientras tanto, hay que buscar soluciones para cuando ciertos spammers o hackers están vulnerando los formularios de nuestro sitio web Joomla!

Integrando reCaptcha en el formulario de registro

Voy a continuación a explicar cómo se integra un CAPTCHA (ver http://es.wikipedia.org/wiki/Captcha) dentro del formulario de registro en Joomla!, utilizado por el componente que administra usuarios (com_users).

Aplicando los mismos principios, bien podría implementarse un CAPTCHA, en el formulario de consultas, en el de login, etc.

Utilizaré para ello el servicio de reCAPCHA, el cual es un servicio web que provee el código y sus reglas de validación.

Así se ve un formulario con CAPTCHA

recaptcha en el registro de joomla

Los pasos:

1- es necesario instalar un plugin que inserte el CAPTCHA las vistas de Joomla, para ello, yo utilicé jez Recaptcha (ingresa en esa web, descarga el plugin, instalalo en tu joomla y configuralo).

Vas a necesitar registrarte en http://recaptcha.net/ para obtener una clave de acceso a su API. (en realidad son dos, una pública y una privada), con los datos de estas claves configuras el plugin


2- luego es necesario hacer un hack al código fuente de /public_html/components/com_user/views/register/tmpl/default.php (para que se muestre el captcha en el formulario de registro),

Es preferible que guardes archivo original (sin modificar) con el nombre cambiado, por ej: /public_html/components/com_user/views/register/tmpl/default_original.php

hay que ingresar este código:

<?php
// código insertado para el captcha
$document =& JFactory::getDocument();
$document->addScriptDeclaration("
var RecaptchaOptions = {
lang : 'es'
};
");
global $mainframe;
$mainframe->triggerEvent( 'OnCaptchaDisplay');
?>

inmediatamente arriba de:

<button class="button validate" type="submit"><?php echo JText::_('Register'); ?></button>

una vez hecho esto, sube nuevamente el archivo para que se aplique el cambio.

Nota importante: al actualizar la versión de joomla, los hacks se pierden por ende hay que parchear los nuevos archivos en caso de actualizar la versión de joomla del sitio en cuestión

3- Ingresa en http://www.tusitio.com/component/user/?task=register para ver tu formulario de registro con el CAPTCHA de seguridad y probalo:

- intenta registrarte ingresando mal el código que se muestra en el CAPTCHA
- intenta registrarte no ingresando el código que se muestra en el CAPTCHA
- luego intenta registrarte ingresándolo bien

Eso es todo!

Ten en cuenta nuestros servicio de hosting con Joomla, diseño web con Joomla!, o aprende rápidamente a trabajar vos mismo con nuestro curso de gestión web con Joomla!

Trackback(0)
Comentarios (1)Add Comment
0
gracias man
escrito por mortalpendrive, marzo 04, 2010
Muchas gracias por el tutorial , muy claro ... me estraba doliendo la cabeza por que no lograba hacer funcional el vendito captcha ... desde ya muchas gracias

Escribir comentario
smaller | bigger

security code
Escribe los caracteres de la imagen


busy

POTENCIADO POR: