reCAPTCHA does not work when selecting the AJAX API (when I am going over https) - I turned off the AJAX API and it worked for me.

I was testing using IE 8.

I'd suggest (as a quick workaround) - to disable the AJAX checkbox if https is enabled on the server.

This was only reproducible on IE (Firefox, Chrome, Safari etc.) worked just fine. I'd gather that this is because IE takes out anything that goes over http when using https.

Comments

rklawson’s picture

I was no longer able to get it to work in IE at all:
http://groups.google.com/group/recaptcha/browse_thread/thread/57baacc2a0...

The quick fix for me was to change one line in my reCAPTCHA instance's recaptchalib.php file. I changed line 39 from this:

define("RECAPTCHA_API_SECURE_SERVER", "https://api-secure.recaptcha.net");

To this:

define("RECAPTCHA_API_SECURE_SERVER", "https://www.google.com/recaptcha/api");

This is also updated in the latest version (1.11) of the reCAPTCHA PHP plugin, which is available from this address:
http://code.google.com/p/recaptcha/downloads/detail?name=recaptcha-php-1...

I hope this helps someone else.

* Edit: after looking at this a little more, I would recommend upgrading to 1.11 since there are other connection strings that need to be updated.

iva2k’s picture

mvc’s picture

Status: Active » Closed (duplicate)
webengr’s picture

On a drupal website that was all https, I also have the issue of the recaptcha place on page being http not https.
I was using 7.x-1.7 2011-May-04

I changed to the dev module 7.x-1.x-dev 2011-May-27
and the https page with recaptcha now loads without complaint on MSIE 9,
I believe the lib may be fixed in the dev for drupal7 but not 7.x-1.7 ???

"reCAPTCHA: May 4, 2011 15:52
Commit b7e5410 on 5.x-2.x
by Rob Loach
Issue #1142150 by Misterw: New HTTPS API reCAPTCHA URL.
"

vijayasri01’s picture

I was using 7.x-1.7 I had the same issue of the recaptcha place on page being http not https.

I found in the recaptcha.module using
drupal_add_js('http://api.recaptcha.net/js/recaptcha_ajax.js', array('type' => 'external'));

There is a secure version of this javascript file here:
https://www.google.com/recaptcha/api/js/recaptcha_ajax.js

When I replaced it with secure version of javascript file my issue got fixed.

drupal_add_js('https://www.google.com/recaptcha/api/js/recaptcha_ajax.js', array('type' => 'external'));

Hope this may help...

vijayasri01’s picture

I hope core team have to fix it in the 7.x-1.7

defconjuan’s picture

So does one just always embed the https library or is there an elegant solution for switching to the js library when the site's viewed over https?

defconjuan’s picture

Nevermind, I figured out a Drupal 7.x compatible solution: http://drupal.org/node/1324932#comment-6246504