PluginProbe
Login Lockdown & Protection / 2.12
Login Lockdown & Protection v2.12
trunk 1.1 1.2 1.3 1.4 1.5 1.6 1.6.1 1.7.1 1.8 1.8.1 1.82 1.83 2.0 2.02 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 All 28 releases
login-lockdown / interface / tab_captcha.php

tab_captcha.php in Login Lockdown & Protection 2.12, at interface/tab_captcha.php

129 lines 6.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Login Lockdown
5 * https://wploginlockdown.com/
6 * (c) WebFactory Ltd, 2022 - 2024, www.webfactoryltd.com
7 */
8
9 class LoginLockdown_Tab_Captcha extends LoginLockdown
10 {
11 static function display()
12 {
13 $options = LoginLockdown_Setup::get_options();
14
15 echo '<div class="tab-content">';
16
17 echo '<table class="form-table"><tbody>';
18
19 $captcha = array();
20 $captcha[] = array('val' => 'disabled', 'label' => 'Disabled');
21 $captcha[] = array('val' => 'builtin', 'label' => 'Built-in Captcha');
22 $captcha[] = array('val' => 'recaptchav2', 'label' => 'reCAPTCHA v2 - PRO option', 'class' => 'pro-option');
23 $captcha[] = array('val' => 'recaptchav3', 'label' => 'reCAPTCHA v3 - PRO option', 'class' => 'pro-option');
24 $captcha[] = array('val' => 'hcaptcha', 'label' => 'hCaptcha - PRO option', 'class' => 'pro-option');
25 $captcha[] = array('val' => 'cloudflare', 'label' => 'Cloudflare Turnstile - PRO option', 'class' => 'pro-option');
26
27 echo '<tr valign="top">
28 <th scope="row"><label for="captcha">Captcha</label></th>
29 <td><select id="captcha" name="' . esc_attr(LOGINLOCKDOWN_OPTIONS_KEY) . '[captcha]">';
30 LoginLockdown_Utility::create_select_options($captcha, $options['captcha']);
31 echo '</select>';
32 echo '<br /><span>Captcha or "are you human" verification ensures bots can\'t attack your login page and provides additional protection with minimal impact to users.</span>';
33 echo '</td></tr>';
34
35 echo '<tr class="captcha_verify_wrapper" style="display:none;" valign="top">
36 <th scope="row"></th>
37 <td><button id="verify-captcha" class="button button-primary button-large button-yellow">Verify Captcha <i class="loginlockdown-icon loginlockdown-make-group"></i></button>';
38 echo '<input type="hidden" class="regular-text" id="captcha_verified" name="' . esc_attr(LOGINLOCKDOWN_OPTIONS_KEY) . '[captcha_verified]" value="0">';
39 echo '<br /><span style="display: inline-block; padding-top: 6px;">Click the Verify Captcha button to verify that the captcha works properly. Otherwise captcha settings will not be saved.</span>';
40 echo '</td></tr>';
41
42 echo '<tr><td></td><td>';
43 LoginLockdown_admin::footer_save_button();
44 echo '</td></tr>';
45
46 echo '<tr><td colspan="2">';
47 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'disabled' ? 'captcha-selected' : '') . '" data-captcha="disabled">';
48 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_disabled.png" />';
49 echo '<div class="captcha-box-desc">';
50 echo '<h3>Captcha Disabled</h3>';
51 echo '<ul>';
52 echo '<li>No Additional Security</li>';
53 echo '</ul>';
54 echo '</div>';
55 echo '</div>';
56
57 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'builtin' ? 'captcha-selected' : '') . '" data-captcha="builtin">';
58 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_builtin.png" />';
59 echo '<div class="captcha-box-desc">';
60 echo '<h3>Built-in Captcha</h3>';
61 echo '<ul>';
62 echo '<li>Medium Security</li>';
63 echo '<li>No API keys</li>';
64 echo '<li>GDPR Compatible</li>';
65 echo '</ul>';
66 echo '</div>';
67 echo '</div>';
68
69 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'recaptchav2' ? 'captcha-selected' : '') . '" data-captcha="recaptchav2">';
70 echo '<a title="This feature is available in the PRO version. Click for details." href="#" data-feature="recaptchav2" class="open-upsell pro-label">PRO</a>';
71 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_recaptcha_v2.png" />';
72 echo '<div class="captcha-box-desc">';
73 echo '<h3>reCaptcha v2</h3>';
74 echo '<ul>';
75 echo '<li>High Security</li>';
76 echo '<li>Requires <a href="https://www.google.com/recaptcha/about/" target="_blank">API Keys</a></li>';
77 echo '<li>Not GDPR Compatible</li>';
78 echo '</ul>';
79 echo '</div>';
80 echo '</div>';
81
82 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'recaptchav3' ? 'captcha-selected' : '') . '" data-captcha="recaptchav3">';
83 echo '<a title="This feature is available in the PRO version. Click for details." href="#" data-feature="recaptchav3" class="open-upsell pro-label">PRO</a>';
84 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_recaptcha_v3.png" />';
85 echo '<div class="captcha-box-desc">';
86 echo '<h3>reCaptcha v3</h3>';
87 echo '<ul>';
88 echo '<li>High Security</li>';
89 echo '<li>Requires <a href="https://www.google.com/recaptcha/about/" target="_blank">API Keys</a></li>';
90 echo '<li>Not GDPR Compatible</li>';
91 echo '</ul>';
92 echo '</div>';
93 echo '</div>';
94
95 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'hcaptcha' ? 'captcha-selected' : '') . '" data-captcha="hcaptcha">';
96 echo '<a title="This feature is available in the PRO version. Click for details." href="#" data-feature="hcaptcha" class="open-upsell pro-label">PRO</a>';
97 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_hcaptcha.png" />';
98 echo '<div class="captcha-box-desc">';
99 echo '<h3>hCaptcha</h3>';
100 echo '<ul>';
101 echo '<li>High Security</li>';
102 echo '<li>Requires <a href="https://www.hcaptcha.com/signup-interstitial" target="_blank">API Keys</a></li>';
103 echo '<li>GDPR Compatible</li>';
104 echo '<li>Best Choice</li>';
105 echo '</ul>';
106 echo '</div>';
107 echo '</div>';
108
109 echo '<div class="captcha-box-wrapper ' . ($options['captcha'] == 'hcaptcha' ? 'captcha-selected' : '') . '" data-captcha="cloudflare">';
110 echo '<a title="This feature is available in the PRO version. Click for details." href="#" data-feature="cloudflare" class="open-upsell pro-label">PRO</a>';
111 echo '<img src="' . esc_url(LOGINLOCKDOWN_PLUGIN_URL) . '/images/captcha_cloudflare.png" />';
112 echo '<div class="captcha-box-desc">';
113 echo '<h3>Cloudflare Turnstile</h3>';
114 echo '<ul>';
115 echo '<li>High Security</li>';
116 echo '<li>Requires <a href="https://dash.cloudflare.com/sign-up?to=/:account/turnstile" target="_blank">API Keys</a></li>';
117 echo '<li>Not explicitly GDPR Compatible</li>';
118 echo '<li>Best Choice</li>';
119 echo '</ul>';
120 echo '</div>';
121 echo '</div>';
122 echo '</td></tr>';
123
124 echo '</tbody></table>';
125
126 echo '</div>';
127 } // display
128 } // class LoginLockdown_Tab_2FA
129