Descuento 20% Diciembre
Plugin Optimización de Imágenes Gratuito para WordPress
Martes, 12 Mayo 2015 21:07

¿Errores con CAPTCHA en Contact Form 7? ¡prueba esta solución!

Escrito por 
CMS:  WordPress |  Versión:  Todas |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  10 minutos


¿Errores con CAPTCHA en Contact Form 7? ¡prueba esta solución!Si tu Hosting esta en un servidor que trabaja con NginX, algunos recursos como las imágenes son servidas desde caché, por lo que las soluciones CAPTCHA no funcionarán.

Algunas reglas del módulo mod_rewrite se encargan de restringir el acceso a archivos o carpetas en instalaciones que utilicen por ejemplo protección de carpetas mediante .htaccess, de forma que no puedan ser listadas ni accedidas desde urls conocidas por parte de usuarios sin privilegios.

Es posible que en determinadas circunstancias necesitemos excluir carpetas afectadas por reglas del mod_rewrite en el archivo .htaccess de forma que no se vean afectadas por esta restricción.

Las llamadas al sistema de CAPTCHA en Contact Form 7 se realizan con códigos cortos como:

[captchac CAPTCHALR size:m]
[captchar CAPTCHALR]

Si las imágenes de CAPTCHA se gestionan fuera de la carpeta principal y la que aloja las imágenes de seguridad está afectada por una regla de mod_rewrite, lo más probable es que la imagen de cAPTCHA no se muestre al usuario y este no pueda completar un acceso, un registro o enviar un formulario en el caso de Contact Form 7.

Podemos resolver este inconveniente añadiendo el siguiente código en el archivo .htaccess de la instalación afectada:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) /index.php?uamfiletype=attachment&uamgetfile=$1 [L] 
</IfModule>

Posiblemente RewriteBase requiera que especifiques una carpeta concreta si tu instalación no está directamente alojada en /public_html.

Proceso resumido:

  1. Accede a tu Panel de Hosting y ve al Administrador de Archivos (también puedes hacerlo por FTP).
  2. Adicionalmente realiza una copia de seguridad de tu instalación afectada ¡nunca se sabe!.
  3. Localiza el archivo .htaccess (oculto) de la instalación afectada.
  4. Editalo, en la medida de lo posible con el Editor de Código.
  5. Añade el código arriba indicado, al final del código de WordPress (1).
  6. Guarda los cambios y limpia la caché de tu navegador.
  7. Verifica si ahora se visualiza la imagen de CAPTCHA de Contact Form 7.

(1) Código que por defecto debe incorporar tu instalación de WordPress en el archivo .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

No obstante se trata de casos puntuales que no siempre pueden requerir la misma solución, ya que problemas con permisos incorrectos podrían también ser la causa. En estos casos es bueno siempre consultar con tu Departamento de Soporte para que te facilite detalles del problema y te ayude a resolverlos.



¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+


Plugin Optimización de Imágenes Gratuito para WordPress