Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/fluentform/app/Modules/Turnstile/Turnstile.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
namespace FluentForm\App\Modules\Turnstile;
4
+
5
+
use FluentForm\Framework\Helpers\ArrayHelper;
6
+
7
+
class Turnstile
8
+
{
9
+
/**
10
+
* Verify turnstile response.
11
+
*
12
+
* @param string $token response from the user.
13
+
* @param null $secret provided or already stored secret key.
14
+
*
15
+
* @return bool
16
+
*/
17
+
public static function validate($token, $secret)
18
+
{
19
+
$verifyUrl = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
20
+
21
+
$response = wp_remote_post($verifyUrl, [
22
+
'method' => 'POST',
23
+
'body' => [
24
+
'secret' => $secret,
25
+
'response' => $token,
26
+
],
27
+
]);
28
+
29
+
$isValid = false;
30
+
31
+
if (!is_wp_error($response)) {
32
+
$result = json_decode(wp_remote_retrieve_body($response));
33
+
$isValid = $result->success;
34
+
}
35
+
36
+
return $isValid;
37
+
}
38
+
39
+
public static function ensureSettings($values)
40
+
{
41
+
$settings = ArrayHelper::get($values, '_fluentform_turnstile_details');
42
+
43
+
$settings['invisible'] = ArrayHelper::get($settings, 'invisible', 'no');
44
+
$settings['theme'] = ArrayHelper::get($settings, 'theme', 'auto');
45
+
$settings['appearance'] = ArrayHelper::get($settings, 'appearance', 'always');
46
+
unset($settings['token']);
47
+
48
+
$values['_fluentform_turnstile_details'] = $settings;
49
+
50
+
return $values;
51
+
}
52
+
}
53
+