|
@@ -32,11 +32,12 @@ final class Captcha
|
|
|
|
|
|
switch (Setting::obtain('captcha_provider')) {
|
|
switch (Setting::obtain('captcha_provider')) {
|
|
case 'turnstile':
|
|
case 'turnstile':
|
|
- if ($param['turnstile'] !== '') {
|
|
|
|
|
|
+ $turnstile = $param['turnstile'] ?? '';
|
|
|
|
+ if ($turnstile !== '') {
|
|
$postdata = http_build_query(
|
|
$postdata = http_build_query(
|
|
[
|
|
[
|
|
'secret' => Setting::obtain('turnstile_secret'),
|
|
'secret' => Setting::obtain('turnstile_secret'),
|
|
- 'response' => $param['turnstile'],
|
|
|
|
|
|
+ 'response' => $turnstile,
|
|
]
|
|
]
|
|
);
|
|
);
|
|
$opts = ['http' => [
|
|
$opts = ['http' => [
|
|
@@ -54,13 +55,14 @@ final class Captcha
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case 'geetest':
|
|
case 'geetest':
|
|
- if ($param['geetest'] !== '') {
|
|
|
|
|
|
+ $geetest = $param['geetest'] ?? [];
|
|
|
|
+ if ($geetest !== []) {
|
|
$captcha_id = Setting::obtain('geetest_id');
|
|
$captcha_id = Setting::obtain('geetest_id');
|
|
$captcha_key = Setting::obtain('geetest_key');
|
|
$captcha_key = Setting::obtain('geetest_key');
|
|
- $lot_number = $param['geetest']['lot_number'];
|
|
|
|
- $captcha_output = $param['geetest']['captcha_output'];
|
|
|
|
- $pass_token = $param['geetest']['pass_token'];
|
|
|
|
- $gen_time = $param['geetest']['gen_time'];
|
|
|
|
|
|
+ $lot_number = $geetest['lot_number'];
|
|
|
|
+ $captcha_output = $geetest['captcha_output'];
|
|
|
|
+ $pass_token = $geetest['pass_token'];
|
|
|
|
+ $gen_time = $geetest['gen_time'];
|
|
$sign_token = hash_hmac('sha256', $lot_number, $captcha_key);
|
|
$sign_token = hash_hmac('sha256', $lot_number, $captcha_key);
|
|
$postdata = http_build_query(
|
|
$postdata = http_build_query(
|
|
[
|
|
[
|