Skip to content

Commit 622fc68

Browse files
authored
Merge pull request #151 from FriendlyCaptcha/add-frc-sdk-header
Add support for passing "Frc-Sdk" header
2 parents 3628b46 + 08ac6ab commit 622fc68

26 files changed

+48
-39
lines changed

friendly-captcha/composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"require": {
3-
"friendlycaptcha/sdk": "^0.1.0"
3+
"friendlycaptcha/sdk": "^0.1.2"
44
}
55
}

friendly-captcha/composer.lock

+10-10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

friendly-captcha/friendly-captcha.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/**
44
* Plugin Name: Friendly Captcha for WordPress
55
* Description: Protect WordPress website forms from spam and abuse with Friendly Captcha, a privacy-first anti-bot solution.
6-
* Version: 1.15.13
6+
* Version: 1.15.14
77
* Requires at least: 5.0
88
* Requires PHP: 7.3
99
* Author: Friendly Captcha GmbH
@@ -19,7 +19,7 @@
1919
die;
2020
}
2121

22-
define('FRIENDLY_CAPTCHA_VERSION', '1.15.13');
22+
define('FRIENDLY_CAPTCHA_VERSION', '1.15.14');
2323
define('FRIENDLY_CAPTCHA_FRIENDLY_CHALLENGE_VERSION', '0.9.18');
2424
define('FRIENDLY_CAPTCHA_FRIENDLY_CAPTCHA_SDK_VERSION', '0.1.10');
2525
define('FRIENDLY_CAPTCHA_SUPPORTED_LANGUAGES', [

friendly-captcha/includes/verification.php

+9-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
use FriendlyCaptcha\SDK\{Client, ClientConfig};
44

5-
function frcaptcha_verify_captcha_solution($solution, $sitekey, $api_key)
5+
function frcaptcha_verify_captcha_solution($solution, $sitekey, $api_key, $integration = null)
66
{
77
if (FriendlyCaptcha_Plugin::$instance->get_enable_v2()) {
8-
return frcaptcha_v2_verify_captcha_solution($solution, $sitekey, $api_key);
8+
$frcSdk = 'friendly-captcha-wordpress@' . FriendlyCaptcha_Plugin::$version;
9+
if ($integration) {
10+
$frcSdk = $frcSdk . "; " . $integration;
11+
}
12+
13+
return frcaptcha_v2_verify_captcha_solution($solution, $sitekey, $api_key, $frcSdk);
914
} else {
1015
return frcaptcha_v1_verify_captcha_solution($solution, $sitekey, $api_key);
1116
}
@@ -76,10 +81,10 @@ function frcaptcha_v1_verify_captcha_solution($solution, $sitekey, $api_key)
7681
);
7782
}
7883

79-
function frcaptcha_v2_verify_captcha_solution($solution, $sitekey, $api_key)
84+
function frcaptcha_v2_verify_captcha_solution($solution, $sitekey, $api_key, $frcSdk)
8085
{
8186
$config = new ClientConfig();
82-
$config->setAPIKey($api_key)->setSitekey($sitekey);
87+
$config->setAPIKey($api_key)->setSitekey($sitekey)->setSDKTrailer($frcSdk);
8388
if (FriendlyCaptcha_Plugin::$instance->get_eu_puzzle_endpoint_active()) {
8489
$config->setSiteverifyEndpoint("eu");
8590
}

friendly-captcha/modules/avada-forms/avada-forms.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ function verify_friendly_captcha($demo_mode)
4242
die(wp_json_encode(['status' => 'error', 'info' => ['friendly_captcha' => $message]]));
4343
}
4444

45-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
45+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'avada-forms');
4646

4747
if (!$verification["success"]) {
4848
$message = FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/coblocks/coblocks.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public static function verify($response, array $parsed_args, string $url)
116116
];
117117
}
118118

119-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
119+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'coblocks');
120120
if (!$verification["success"]) {
121121
// I haven't found a way to show a custom error message in the form,
122122
// this is better than having no error message at all.

friendly-captcha/modules/contact-form-7/contact-form-7.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function frcaptcha_wpcf7_friendly_captcha_verify_response($spam)
8080
return true;
8181
}
8282

83-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
83+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'contact-form-7');
8484

8585
if ($verification["success"]) {
8686
$spam = false;

friendly-captcha/modules/divi/frcaptcha_divi_core_addon.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public function verify_form_submission()
8686
}
8787

8888
$plugin = FriendlyCaptcha_Plugin::$instance;
89-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
89+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'divi');
9090

9191
if ($verification["success"]) {
9292
return array(

friendly-captcha/modules/elementor/field.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public function validation($field, $record, $ajax_handler)
8686
return;
8787
}
8888

89-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
89+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'elementor');
9090

9191
if (!$verification["success"]) {
9292
$error_message = FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/fluentform/fluentform.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function frcaptcha_fluentform_validate($insert_data, $data, $form)
4444
);
4545
}
4646

47-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
47+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'fluentform');
4848

4949
if (!$verification["success"]) {
5050
$error_message = FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/formidable/FrcaptchaFieldNewType.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public function validate($args)
8989
return $errors;
9090
}
9191

92-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
92+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'formidable');
9393

9494
if (!$verification["success"]) {
9595
$errors['field' . $args['id']] = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/forminator/forminator.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function frcaptcha_forminator_verify($can_show, $id, $form_settings)
3232
];
3333
}
3434

35-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
35+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'forminator');
3636
if (!$verification["success"]) {
3737
return [
3838
'can_submit' => false,

friendly-captcha/modules/gravityforms/field.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public function validate_frcaptcha($form)
168168
return;
169169
}
170170

171-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
171+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'gravityforms');
172172
if (!$verification["success"]) {
173173
$this->failed_validation = true;
174174
$this->validation_message = FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/html-forms/html-forms.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
return 'frcaptcha_empty';
2626
}
2727

28-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
28+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'html-forms');
2929

3030
if (!$verification["success"]) {
3131
return 'frcaptcha_invalid';

friendly-captcha/modules/profile-builder/profile_builder_login.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function frcaptcha_pb_login_validate($user)
3333
return new WP_Error('wpbb_recaptcha_error', FriendlyCaptcha_Plugin::default_error_user_message() . __(' (captcha missing)', 'frcaptcha'));
3434
}
3535

36-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
36+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'profile-builder');
3737
if (!$verification['success']) {
3838
remove_filter('authenticate', 'wp_authenticate_username_password', 20, 3);
3939
remove_filter('authenticate', 'wp_authenticate_email_password', 20, 3);

friendly-captcha/modules/profile-builder/profile_builder_register.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function frcaptcha_pb_register_validate($output_field_errors, $form_fields, $glo
4444
return $output_field_errors;
4545
}
4646

47-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
47+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'profile-builder');
4848
if (!$verification['success']) {
4949
$frcaptcha_pb_register_general_top_error_message_val = FriendlyCaptcha_Plugin::default_error_user_message();
5050
$output_field_errors = (array) $output_field_errors;

friendly-captcha/modules/profile-builder/profile_builder_reset_password.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function frcaptcha_pb_reset_password_sent_message($message)
3030
return 'wppb_recaptcha_error';
3131
}
3232

33-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
33+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'profile-builder');
3434

3535
if (!$verification['success']) {
3636
return 'wppb_recaptcha_error';

friendly-captcha/modules/ultimate-member/ultimate-member_login.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function frcaptcha_um_login_validate($post, $form_data)
3636
return;
3737
}
3838

39-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
39+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'ultimate-member');
4040

4141
if (!$verification['success']) {
4242
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/ultimate-member/ultimate-member_register.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function frcaptcha_um_register_validate($post, $form_data)
3636
return;
3737
}
3838

39-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
39+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'ultimate-member');
4040

4141
if (!$verification['success']) {
4242
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/ultimate-member/ultimate-member_reset_password.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function frcaptcha_um_reset_password_validate($post, $form_data)
3636
return;
3737
}
3838

39-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
39+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'ultimate-member');
4040

4141
if (!$verification['success']) {
4242
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/woocommerce/woocommerce_checkout.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function frcaptcha_wc_checkout_validate()
4040
return;
4141
}
4242

43-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
43+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'woocommerce');
4444

4545
if (!$verification['success']) {
4646
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/woocommerce/woocommerce_login.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function frcaptcha_wc_login_validate($validation_error)
4444
return $validation_error;
4545
}
4646

47-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
47+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'woocommerce');
4848

4949
if (!$verification['success']) {
5050
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/woocommerce/woocommerce_register.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function frcaptcha_wc_register_validate($validation_error)
4040
return $validation_error;
4141
}
4242

43-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
43+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'woocommerce');
4444

4545
if (!$verification['success']) {
4646
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/modules/wpforms/wpforms.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ function frcaptcha_wpforms_process($fields, $entry, $form_data)
199199
return;
200200
}
201201

202-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
202+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'wpforms');
203203

204204
if (!$verification["success"]) {
205205
wpforms()->process->errors[$form_data['id']]['header'] = esc_html__(FriendlyCaptcha_Plugin::default_error_user_message(), 'frcaptcha');

friendly-captcha/modules/wpum/wpum_validate.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function frcaptcha_wpum_validate($pass, $fields, $values, $form_name, $form)
5050
return new WP_Error("frcaptcha-empty-error", $error_message);
5151
}
5252

53-
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());
53+
$verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key(), 'wpum');
5454

5555
if (!$verification['success']) {
5656
$error_message = $errorPrefix . FriendlyCaptcha_Plugin::default_error_user_message();

friendly-captcha/readme.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Tags: captcha, antispam, spam, contact form, recaptcha, friendly-captcha, block
44
Requires at least: 5.0
55
Tested up to: 6.5
66
Requires PHP: 7.3
7-
Stable tag: 1.15.13
7+
Stable tag: 1.15.14
88
License: GPL v2 or later
99
License URI: https://www.gnu.org/licenses/gpl-2.0.html
1010

@@ -96,6 +96,10 @@ However, you may wish to email the authors of plugins you'd like to support Frie
9696

9797
== Changelog ==
9898

99+
= 1.15.14 =
100+
101+
* Set "Frc-Sdk" header for measuring integration usage
102+
99103
= 1.15.13 =
100104

101105
* Fix Elementor integration not loading correctly

0 commit comments

Comments
 (0)