PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.16.1
GiveWP – Donation Plugin and Fundraising Platform v2.16.1
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / DonorDashboards / Routes / Captcha / ProtectedRoute.php
give / src / DonorDashboards / Routes / Captcha Last commit date
ProtectedRoute.php 5 years ago
ProtectedRoute.php
67 lines
1 <?php
2
3 namespace Give\DonorDashboards\Routes\Captcha;
4
5 /**
6 * Note: Functionality forked from `give_email_access_login()`.
7 *
8 * @since 2.10.2
9 */
10 trait ProtectedRoute {
11
12 /**
13 * @since 2.10.2
14 *
15 * @return bool
16 */
17 public function isCaptchaEnabled() {
18 $recaptcha_key = give_get_option( 'recaptcha_key' );
19 $recaptcha_secret = give_get_option( 'recaptcha_secret' );
20 $recaptcha_enabled = ( give_is_setting_enabled( give_get_option( 'enable_recaptcha' ) ) ) && ! empty( $recaptcha_key ) && ! empty( $recaptcha_secret ) ? true : false;
21 return $recaptcha_enabled;
22 }
23
24 /**
25 * @since 2.10.2
26 *
27 * @param string $value
28 * @param WP_REST_Request $request
29 * @param string $param The name of the parameter.
30 *
31 * @return bool
32 */
33 public function validateRecaptcha( $value, $request, $param ) {
34
35 if ( ! $this->isCaptchaEnabled() ) {
36 return true;
37 }
38
39 if ( ! $value ) {
40 return false;
41 }
42
43 $request = wp_remote_post(
44 'https://www.google.com/recaptcha/api/siteverify',
45 [
46 'body' => [
47 'secret' => give_get_option( 'recaptcha_secret' ),
48 'response' => $value,
49 'remoteip' => $request->get_param( 'give_ip' ),
50 ],
51 ]
52 );
53
54 if ( is_wp_error( $request ) ) {
55 return false;
56 }
57
58 if ( 200 !== wp_remote_retrieve_response_code( $request ) ) {
59 return false;
60 }
61
62 $response = json_decode( $request['body'], true );
63
64 return ! ! $response['success'];
65 }
66 }
67