Difference between revisions of "Google reCAPTCHA"

From WHMCS Documentation

(Enabling Shopping Cart Checkout Invisible Captcha)
m (Captcha Locations)
 
(20 intermediate revisions by 8 users not shown)
Line 3: Line 3:
 
As bots and software have become more sophisticated, a common solution was to make the text more difficult to read, which can result in frustrated and lost potential clients.  Google's reCAPTCHA set's out to change that.  They have created a system that is easy for people, but hard for bots.  By using an advanced and more secure risk analysis engine, humans and bots are more effectively differentiated.
 
As bots and software have become more sophisticated, a common solution was to make the text more difficult to read, which can result in frustrated and lost potential clients.  Google's reCAPTCHA set's out to change that.  They have created a system that is easy for people, but hard for bots.  By using an advanced and more secure risk analysis engine, humans and bots are more effectively differentiated.
  
The first step in authentication is to ask the user to confirm that they are not a robot by ticking a checkbox.  While this sounds simple, Google's risk analysis engine takes a lot into account about how the user came to tick the checkbox, including how the user responds before, during, and after the action.  In cases where the engine cannot confidently differentiate, a mobile-friendly verification tool like image selection from a list may be supplied or a CAPTCHA itself.
+
The first step in authentication is to ask the user to confirm that they are not a robot by checking a checkbox.  Google's risk analysis engine analyzes how the user checked the checkbox, including how the user responds before, during, and after the action.  In cases where the engine cannot confidently differentiate between them, a mobile-friendly verification tool like a CAPTCHA or image selection from a list may appear.
  
Google reCAPTCHA V2 is available in WHMCS 7.0 and later.
+
* Google reCAPTCHA V2 is available in WHMCS 7.0 and later.
 +
* Google Invisible reCAPTCHA is available in WHMCS 7.7 and later.
  
 
==Enabling Google reCAPTCHA==
 
==Enabling Google reCAPTCHA==
 
+
 
Google's reCAPTCHA may be enabled by following these steps:
 
Google's reCAPTCHA may be enabled by following these steps:
 +
 +
# Go to the '''[[Security_Tab|Security]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.
 +
# For '''Captcha Type''', select '''reCAPTCHA v2'''.
 +
# [https://www.google.com/recaptcha/admin Log in to your Google account .]
 +
# Select '''"I’m not a robot" Checkbox'''.
 +
# Enter your domain under the '''domains''' section.
 +
# Accept the Google terms of service.
 +
# Click '''Register''' to finish registering your site and generating your keys.
 +
# Copy the '''Site Key''' and '''Secret Key''' issued by Google and enter them in the fields provided in WHMCS.
 +
# Click '''Save Changes'''.
 +
 +
[[File:captcha_config.png|500px]]
 +
 +
==Enabling Invisible reCAPTCHA==
 +
To enable the Invisible reCAPTCHA feature for the shopping cart, follow these steps:
 +
[[File:Recaptcha-configuration.png|thumb|reCAPTCHA Key Generation]]
 +
 +
# Go to the '''[[Security Tab|Security]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.
 +
# For '''Captcha Type''', select '''Invisible reCAPTCHA'''.
 +
# [https://www.google.com/recaptcha/admin Log in to your Google account .]
 +
# Enter a label for your key.
 +
# Select '''reCAPTCHA v2'''.
 +
# Select '''Invisible reCAPTCHA badge'''.
 +
# Enter your domain under the '''domains''' section.
 +
# Accept the Google terms of service.
 +
# Click '''Register''' to finish registering your site and generating your keys.
 +
# Copy the '''Site Key''' and '''Secret Key''' issued by Google and enter them in the fields provided in WHMCS.
 +
# Click '''Save Changes'''.
  
* Navigate to ''Setup > General Settings > Security''
+
==Captcha Locations==
* Under the setting Captcha Type, select reCAPTCHA
+
<div class="docs-alert-info"><i class="fa fa-question-circle"></i> This page describes a feature available in version 7.7 and above</div>
* Visit https://www.google.com/recaptcha/admin and log into your Google account
 
* Click the "Register a new site" option, enter in a label for your key and select the "Invisible reCAPTCHA" option.
 
* Be sure to enter in your domain under the "domains" section and then accept the Google terms of service and click the Register button to finish registering your site and generating your keys.
 
* Copy the Site Key and Secret Key issued by Google and enter them in the fields provided in WHMCS.
 
* Check the ''reCAPTCHA Invisible Key'' checkbox
 
* Save Changes to complete the process
 
  
[[File:Captcha_type.png]]
+
You can choose which forms have a captcha enabled on them by checking the appropriate boxes in "Captcha for Select Forms". The following options are available:
  
[[File:Recaptcha_config.png]]
+
* Shopping Cart Checkout - On checkout in the Client Area
 +
* Domain Checker - The homepage domain checker, and on the Register or Transfer domain pages in the cart
 +
* Client Registration - register.php
 +
* Contact Form - contact.php
 +
* Ticket Submission - When submitting a ticket
 +
* Login Forms - Admin and Client login forms
  
==Enabling Shopping Cart Checkout Invisible Captcha==
+
==Troubleshooting==
<div class="docs-alert-info"><i class="fa fa-question-circle"></i> This section describes a feature available in version 7.6 and above</div>
+
===Invalid Site Key/I can't login===
To enable the Invisible reCAPTCHA feature for the shopping cart, ensure the following are true:
+
If the site key specified under General Settings isn't valid for some reason and is preventing logins to the admin area to correct it, it will be necessary to disable reCAPTCHA manually via the database (setting "Captcha Form Protection " to "Always Off" temporarily to resolve this. Please take a backup of the database and then run the following SQL query using a tool like phpMyAdmin to do so:
  
* reCAPTCHA is selected under Captcha Type
+
<source lang="sql">
* An Invisible reCAPTCHA compatible Site Key and Secret Key are entered in the appropriate fields
+
UPDATE tblconfiguration SET value = '' WHERE setting = 'CaptchaSetting';
* That the ''reCAPTCHA Invisible Key'' checkbox is checked
+
</source>

Latest revision as of 20:11, 31 October 2023

Differentiating between humans and bots (computers) is an ever-changing and more challenging task. A number of solutions have been implemented, typically involving increasing obscured text and numbers or images, such as the default 5 character verification of WHMCS.

As bots and software have become more sophisticated, a common solution was to make the text more difficult to read, which can result in frustrated and lost potential clients. Google's reCAPTCHA set's out to change that. They have created a system that is easy for people, but hard for bots. By using an advanced and more secure risk analysis engine, humans and bots are more effectively differentiated.

The first step in authentication is to ask the user to confirm that they are not a robot by checking a checkbox. Google's risk analysis engine analyzes how the user checked the checkbox, including how the user responds before, during, and after the action. In cases where the engine cannot confidently differentiate between them, a mobile-friendly verification tool like a CAPTCHA or image selection from a list may appear.

  • Google reCAPTCHA V2 is available in WHMCS 7.0 and later.
  • Google Invisible reCAPTCHA is available in WHMCS 7.7 and later.

Enabling Google reCAPTCHA

Google's reCAPTCHA may be enabled by following these steps:

  1. Go to the Security tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
  2. For Captcha Type, select reCAPTCHA v2.
  3. Log in to your Google account .
  4. Select "I’m not a robot" Checkbox.
  5. Enter your domain under the domains section.
  6. Accept the Google terms of service.
  7. Click Register to finish registering your site and generating your keys.
  8. Copy the Site Key and Secret Key issued by Google and enter them in the fields provided in WHMCS.
  9. Click Save Changes.

Captcha config.png

Enabling Invisible reCAPTCHA

To enable the Invisible reCAPTCHA feature for the shopping cart, follow these steps:

reCAPTCHA Key Generation
  1. Go to the Security tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
  2. For Captcha Type, select Invisible reCAPTCHA.
  3. Log in to your Google account .
  4. Enter a label for your key.
  5. Select reCAPTCHA v2.
  6. Select Invisible reCAPTCHA badge.
  7. Enter your domain under the domains section.
  8. Accept the Google terms of service.
  9. Click Register to finish registering your site and generating your keys.
  10. Copy the Site Key and Secret Key issued by Google and enter them in the fields provided in WHMCS.
  11. Click Save Changes.

Captcha Locations

This page describes a feature available in version 7.7 and above

You can choose which forms have a captcha enabled on them by checking the appropriate boxes in "Captcha for Select Forms". The following options are available:

  • Shopping Cart Checkout - On checkout in the Client Area
  • Domain Checker - The homepage domain checker, and on the Register or Transfer domain pages in the cart
  • Client Registration - register.php
  • Contact Form - contact.php
  • Ticket Submission - When submitting a ticket
  • Login Forms - Admin and Client login forms

Troubleshooting

Invalid Site Key/I can't login

If the site key specified under General Settings isn't valid for some reason and is preventing logins to the admin area to correct it, it will be necessary to disable reCAPTCHA manually via the database (setting "Captcha Form Protection " to "Always Off" temporarily to resolve this. Please take a backup of the database and then run the following SQL query using a tool like phpMyAdmin to do so:

UPDATE tblconfiguration SET value = '' WHERE setting = 'CaptchaSetting';