Using reCAPTCHA on localhost
I'm developing a website using PHP and I want to make a human verification in one of the sessions. For the development, I'm initially running the system locally and when it is ready, I'm going to put it on some domain.
In the reCAPTCHA website it is said that the plugin will only work at the given domain (and subdomains).
Is there a way to use the reCAPTCHA plugin on a localhost?
Solution 1:
Update
The original answer is no longer correct. The developer's guide now states:
"If you would like to use "localhost" for development, you must add it to the list of domains."
This will only work if you access localhost using 127.0.0.1/...
rather than localhost/...
.
The original answer is preserved below.
According to the reCAPTCHA Developer's Guide:
"localhost domains are no longer supported by default. If you wish to continue supporting them for development you can add them to the list of supported domains for your site key. Go to the admin console to update your list of supported domains. We advise to use a separate key for development and production and to not allow localhost on your production site key."
In other words, simply use the same key.
Solution 2:
This worked for me:
Extracted from the reCAPTCHA documentation:
With the following test keys, you will always get No CAPTCHA and all verification requests will pass.
Site key:
6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
Secret key:
6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
The reCAPTCHA widget will show a warning message to claim that it's only for testing purpose. Please do not use these keys for your production traffic.
Solution 3:
Please note that as of 2016, reCAPTCHA doesn't naively support localhost anymore. From the FAQ:
Localhost domains are no longer supported by default. If you wish to continue supporting them for development you can add them to the list of supported domains for your site key. Go to the admin console to update your list of supported domains. We advise to use a separate key for development and production and to not allow localhost on your production site key.
Just add localhost
to your list of domains for your site and you'll be good.