Agrega reCAPTCHA a tu Joomla!
Última actualización el Jueves, 10 de Diciembre de 2009 17:15 Escrito por Gonzalo Reynoso Miércoles, 02 de Diciembre de 2009 17:09
Guías - Diseño y administración Web con Joomla!
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
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!

| < Prev | Próximo > |
|---|



