Buenas tardes a todos!

Estos de Google a veces nos dan sorpresas buenas y otras veces…. no son tan buenas :). Esta vez el problema ha sido con sus famosos sistemas antispam de reCAPTCHA.

Hasta hace poco, todo este sistema estaba alojado en la web recaptcha.net, de forma que, nuestra web cargaba el siguiente script:

<script type="text/javascript" src="api.recaptcha.net/js/recaptcha_ajax.js"></script>

Pues bien, lo que debemos hacer es lo siguiente:

  1. En primer lugar, si nuestra web era de las que cargaba este script, ahora debemos hacer que cargue el mismo script, pero desde el enlace http://www.google.com/recaptcha/api/js/recaptcha_ajax.js de la siguiente forma:
    <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
  2. En segundo lugar, generalmente tendremos un fichero tipo recaptcha.phprecaptchalib.php en el que encontraremos el siguiente código:
    const RECAPTCHA_API_SERVER = "http://api.recaptcha.net";
    const RECAPTCHA_API_SECURE_SERVER = "https://api.recaptcha.net";
    const RECAPTCHA_VERIFY_SERVER = "api-verify.recaptcha.net";

    Dicho código debemos sustituirlo por este otro:

    const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    const RECAPTCHA_VERIFY_SERVER = "www.google.com";
  3. En alguna ocasión, con esto será suficiente, pero hay veces que en algunos gestores de contenido como Joomla, podemos observar dentro del código una línea similar a esta:
    $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "verify",

    En este caso debemos sustituirla por esta otra línea:

    $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",

     

Y ahora sí, ya tenemos de nuevo nuestro sistema captcha funcionando correctamente.

Si habéis llegado hasta aquí y mi solución os ha servido, me alegro mucho de que así sea! 🙂