My only concern with reCAPTCHA is that users will not be able to access areas with a captcha if recaptcha.net is unavailable ("Could not open socket"). In this case, it would be smart for recaptcha.module to be able to roll back to a different captcha that has no dependency on an external site.

This is the idea:

  // verify recaptcha.net exists
    $connect = @fsockopen($recaptcha_api_server, 80);

    if (!$connect) continue;

    } else {
      watchdog('recaptcha', "Could not connect to recaptcha.net.");
      return;
    }
  }

  if (! $connect)
    // roll back to default captcha setting

Comments

robloach’s picture

Status: Active » Postponed (maintainer needs more info)

I like the idea, any clue how to "roll back" to a different captcha setting?

robloach’s picture

Status: Postponed (maintainer needs more info) » Active

I'll try out some stuff tonight and see what I can come up with.

moshe weitzman’s picture

maybe roll back to a math test

Christefano-oldaccount’s picture

recaptcha.net is down at the moment which is bad for my captcha-enabled forms. I'm not marking this bug as critical since recaptcha.module can only work as well as the service it depends on.

Christefano-oldaccount’s picture

Perhaps this will be possible with the new captcha_points table that soxofaan proposes in his captcha rewrite at http://drupal.org/node/153395

robloach’s picture

Title: roll back to different captcha if recaptcha.net is unavailable » Roll back to different captcha if recaptcha.net is unavailable
Component: Code » reCAPTCHA Service

Got it working! Commit 78315 checks if the server is up before displaying. If it isn't, it rolls back to Math.

robloach’s picture

Assigned: Unassigned » robloach
Status: Active » Fixed
Christefano-oldaccount’s picture

Thanks, Rob!

kthagen’s picture

Anonymous’s picture

Status: Fixed » Closed (fixed)