# reCAPTCHA Support

As of reCaptcha v1.2.1 an API was added which plugins must now use to enable support. Plugin Integration for reCAPTCHA is now controlled in the Plugins own Configuration and not the reCAPTCHA configuration.

# reCAPTCHA Types

Geeklog's reCAPTCHA plugin supports both reCAPTCHA V2 (with checkbox and invisible) and reCAPTCHA V3. Each of them will require you to setup on the Google reCAPTCHA website (https://www.google.com/recaptcha/admin/create). You will need to create an account and add your site and create a site key and a secret key to be able to use the free service.

## reCAPTCHA V2 with checkbox

reCAPTCHA V2 requires the user to click a checkbox indicating the user is not a robot. This will either pass the user immediately (with No CAPTCHA) or challenge them to validate whether or not they are human.

## reCAPTCHA V2 Invisible and reCAPTCHA V3

Unlike reCAPTCHA with checkbox, these do not require the user to click on a checkbox, instead it is invoked directly when the user clicks on an existing button on your site. By default only the most suspicious traffic will be prompted to solve a captcha. To alter this behavior edit your site security preference under advanced settings on the Google reCAPTCHA website.

For more information on the different reCAPTCHA types please go to https://developers.google.com/recaptcha/docs/versions.

# reCAPTCHA® Plugin Configuration

## System

Variable | Default Value | Description
--- | --- | ---
site_key | (empty) | reCAPTCHA V2 with checkbox API Site Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
secret_key | (empty) | reCAPTCHA V2 with checkbox API Secret Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
invisible_site_key | (empty) | reCAPTCHA V2 Invisible API Site Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
invisible_secret_key | (empty) | reCAPTCHA V2 Invisible API Secret Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
site_key_v3 | (empty) | reCAPTCHA V3 API Site Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
secret_key_v3 | (empty) | reCAPTCHA V3 Secret Key. If you don't have one, please go to https://www.google.com/recaptcha/admin/create and sign up.
logging | No | If you set this to Yes, reCAPTCHA plugin will log invalid reCAPTCHA attempts into the log file (recaptcha.log).
anonymous_only | No | If you set this to Yes, reCAPTCHA will be shown to anonymous users only.
remoteusers | No | If you set this to Yes, reCAPTCHA will be forced upon all Remote Users.

## Integration

Variable | Default Value | Description
--- | --- | ---
enable_comment | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for comments. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_contact | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for contact form. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_emailstory | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for "Email Story" form. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_registration | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for registration. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_story | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for "Story Submission" form. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_getpassword | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for "Get Password" form. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used.
enable_loginform | reCAPTCHA V3 | If you set this to reCAPTCHA V2, reCAPTCHA with checkbox (version 2) will be enabled for login form. If set to reCAPTCHA V2 invisible, the V2 invisible version will be used. Important: If any type of CAPTCHA is enabled for the user login you must disable Read Access for Anonymous users for the User Functions block. The Block Name is "user_block" and you can find the permission under Access Rights on the Block Editor form. The reason for this is because this block will display a mini login form that does not support reCAPTCHA and therefore will always fail to login the user from it. Do not disable this block completely as the User Functions block is needed once users are logged in. You should then make sure the login menu element is enabled in the Geeklog Configuration so users can find out how to access the full page login form.

## Score

Variable | Default Value | Description
--- | --- | ---
score_comment | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_contact | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_emailstory | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_registration | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_story | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_getpassword | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).
score_loginform | 0.5 | Specify score threshold for reCAPTCHA V3. Valid value is 0.0 (even a bot could pass for a human) - 1.0 (only a human will be accepted).