PluginProbe ʕ •ᴥ•ʔ
SiteGuard WP Plugin / 1.8.7
SiteGuard WP Plugin v1.8.7
1.8.7 1.8.6 1.8.6-beta1 1.8.6-beta2 1.8.4 1.8.5 1.8.3 1.8.2 1.8.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.4.3 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.7.0 1.7.1 1.7.10 1.7.11 1.7.12 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.0-beta1 1.8.0-beta2 1.8.0-beta3 1.8.0-beta4
siteguard / admin / siteguard-menu-captcha.php
siteguard / admin Last commit date
siteguard-login-history-table.php 1 month ago siteguard-menu-admin-filter.php 4 weeks ago siteguard-menu-author-query.php 2 weeks ago siteguard-menu-captcha.php 4 weeks ago siteguard-menu-dashboard.php 4 weeks ago siteguard-menu-fail-once.php 4 weeks ago siteguard-menu-init.php 1 month ago siteguard-menu-login-alert.php 4 weeks ago siteguard-menu-login-history.php 4 weeks ago siteguard-menu-login-lock.php 4 weeks ago siteguard-menu-protect-xmlrpc.php 4 weeks ago siteguard-menu-rename-login.php 2 weeks ago siteguard-menu-same-error.php 4 weeks ago siteguard-menu-updates-notify.php 4 weeks ago siteguard-menu-waf-tuning-support.php 4 weeks ago siteguard-waf-exclude-rule-table.php 1 month ago
siteguard-menu-captcha.php
174 lines
1 <?php
2
3 class SiteGuard_Menu_CAPTCHA extends SiteGuard_Base {
4 const OPT_NAME_ENABLE = 'captcha_enable';
5 const OPT_NAME_LOGIN = 'captcha_login';
6 const OPT_NAME_COMMENT = 'captcha_comment';
7 const OPT_NAME_LOSTPASSWORD = 'captcha_lostpasswd';
8 const OPT_NAME_REGISTUSER = 'captcha_registuser';
9
10 function __construct() {
11 $this->render_page();
12 }
13 function is_captcha_switch_value( $value ) {
14 $items = array( '0', '1', '2' );
15 if ( in_array( $value, $items ) ) {
16 return true;
17 }
18 return false;
19 }
20 function render_page() {
21 global $siteguard_config, $siteguard_captcha;
22
23 $opt_val_enable = $siteguard_config->get( self::OPT_NAME_ENABLE );
24 $opt_val_login = $siteguard_config->get( self::OPT_NAME_LOGIN );
25 $opt_val_comment = $siteguard_config->get( self::OPT_NAME_COMMENT );
26 $opt_val_lostpassword = $siteguard_config->get( self::OPT_NAME_LOSTPASSWORD );
27 $opt_val_registuser = $siteguard_config->get( self::OPT_NAME_REGISTUSER );
28 if ( isset( $_POST['update'] ) && check_admin_referer( 'siteguard-menu-captcha-submit' ) ) {
29 $error = false;
30 $errors = siteguard_check_multisite();
31 if ( is_wp_error( $errors ) ) {
32 echo '<div class="error settings-error"><p><strong>';
33 echo esc_html( $errors->get_error_message() );
34 echo '</strong></p></div>';
35 $error = true;
36 }
37 if ( false === $error && '1' == $_POST[ self::OPT_NAME_ENABLE ] ) {
38 $ret = $siteguard_captcha->check_requirements();
39 if ( is_wp_error( $ret ) ) {
40 echo '<div class="error settings-error"><p><strong>' . esc_html( $ret->get_error_message() ) . '</strong></p></div>';
41 $error = true;
42 $siteguard_config->set( self::OPT_NAME_ENABLE, '0' );
43 $siteguard_config->update();
44 }
45 }
46 if ( ( false === $error ) &&
47 ( ( false === $this->is_switch_value( $_POST[ self::OPT_NAME_ENABLE ] ) ) ||
48 ( false === $this->is_captcha_switch_value( $_POST[ self::OPT_NAME_LOGIN ] ) ) ||
49 ( false === $this->is_captcha_switch_value( $_POST[ self::OPT_NAME_COMMENT ] ) ) ||
50 ( false === $this->is_captcha_switch_value( $_POST[ self::OPT_NAME_LOSTPASSWORD ] ) ) ||
51 ( false === $this->is_captcha_switch_value( $_POST[ self::OPT_NAME_REGISTUSER ] ) ) ) ) {
52 echo '<div class="error settings-error"><p><strong>';
53 esc_html_e( 'ERROR: Invalid input value.', 'siteguard' );
54 echo '</strong></p></div>';
55 $error = true;
56 }
57 if ( false === $error ) {
58 $opt_val_enable = sanitize_text_field( $_POST[ self::OPT_NAME_ENABLE ] );
59 $opt_val_login = sanitize_text_field( $_POST[ self::OPT_NAME_LOGIN ] );
60 $opt_val_comment = sanitize_text_field( $_POST[ self::OPT_NAME_COMMENT ] );
61 $opt_val_lostpassword = sanitize_text_field( $_POST[ self::OPT_NAME_LOSTPASSWORD ] );
62 $opt_val_registuser = sanitize_text_field( $_POST[ self::OPT_NAME_REGISTUSER ] );
63 $siteguard_config->set( self::OPT_NAME_ENABLE, $opt_val_enable );
64 $siteguard_config->set( self::OPT_NAME_LOGIN, $opt_val_login );
65 $siteguard_config->set( self::OPT_NAME_COMMENT, $opt_val_comment );
66 $siteguard_config->set( self::OPT_NAME_LOSTPASSWORD, $opt_val_lostpassword );
67 $siteguard_config->set( self::OPT_NAME_REGISTUSER, $opt_val_registuser );
68 $siteguard_config->update();
69 ?>
70 <div class="updated"><p><strong><?php esc_html_e( 'Options saved.', 'siteguard' ); ?></strong></p></div>
71 <?php
72 }
73 }
74
75 echo '<div class="wrap">';
76 echo '<img src="' . SITEGUARD_URL_PATH . 'images/sg_wp_plugin_logo_40.png" alt="SiteGuard Logo" />';
77 echo '<h2>' . esc_html__( 'CAPTCHA', 'siteguard' ) . '</h2>';
78 $documentation_link = '<a href="' . esc_url( __( 'https://www.jp-secure.com/siteguard_wp_plugin_en/howto/captcha/', 'siteguard' ) ) . '" target="_blank">' . esc_html__( 'online documentation', 'siteguard' ) . '</a>';
79 echo '<div class="siteguard-description">'
80 . sprintf(
81 /* translators: %1$s: Link to the online documentation. */
82 esc_html__( 'See the %1$s.', 'siteguard' ),
83 $documentation_link
84 )
85 . '</div>';
86 ?>
87 <form name="form1" method="post" action="">
88 <table class="form-table">
89 <tr>
90 <th scope="row" colspan="2">
91 <ul class="siteguard-radios">
92 <li>
93 <input type="radio" name="<?php echo self::OPT_NAME_ENABLE; ?>" id="<?php echo self::OPT_NAME_ENABLE . '_on'; ?>" value="1" <?php checked( $opt_val_enable, '1' ); ?> >
94 <label for="<?php echo self::OPT_NAME_ENABLE . '_on'; ?>"><?php esc_html_e( 'ON', 'siteguard' ); ?></label>
95 </li><li>
96 <input type="radio" name="<?php echo self::OPT_NAME_ENABLE; ?>" id="<?php echo self::OPT_NAME_ENABLE . '_off'; ?>" value="0" <?php checked( $opt_val_enable, '0' ); ?> >
97 <label for="<?php echo self::OPT_NAME_ENABLE . '_off'; ?>"><?php esc_html_e( 'OFF', 'siteguard' ); ?></label>
98 </li>
99 </ul>
100 <?php
101 $error = $siteguard_captcha->check_requirements();
102 if ( is_wp_error( $error ) ) {
103 echo '<p class="description">';
104 echo esc_html( $error->get_error_message() );
105 echo '</p>';
106 }
107 ?>
108 </th>
109 </tr><tr>
110 <th scope="row"><?php esc_html_e( 'Login page', 'siteguard' ); ?></th>
111 <td>
112 <input type="radio" name="<?php echo self::OPT_NAME_LOGIN; ?>" id="<?php echo self::OPT_NAME_LOGIN . '_jp'; ?>" value="1" <?php checked( $opt_val_login, '1' ); ?> >
113 <label for="<?php echo self::OPT_NAME_LOGIN . '_jp'; ?>"><?php esc_html_e( 'Hiragana (Japanese)', 'siteguard' ); ?></label>
114 <br />
115 <input type="radio" name="<?php echo self::OPT_NAME_LOGIN; ?>" id="<?php echo self::OPT_NAME_LOGIN . '_en'; ?>" value="2" <?php checked( $opt_val_login, '2' ); ?> >
116 <label for="<?php echo self::OPT_NAME_LOGIN . '_en'; ?>"><?php esc_html_e( 'Alphanumeric', 'siteguard' ); ?></label>
117 <br />
118 <input type="radio" name="<?php echo self::OPT_NAME_LOGIN; ?>" id="<?php echo self::OPT_NAME_LOGIN . '_off'; ?>" value="0" <?php checked( $opt_val_login, '0' ); ?> >
119 <label for="<?php echo self::OPT_NAME_LOGIN . '_off'; ?>"><?php esc_html_e( 'Disable', 'siteguard' ); ?></label>
120 </td>
121 </tr><tr>
122 <th scope="row"><?php esc_html_e( 'Comment page', 'siteguard' ); ?></th>
123 <td>
124 <input type="radio" name="<?php echo self::OPT_NAME_COMMENT; ?>" id="<?php echo self::OPT_NAME_COMMENT . '_jp'; ?>" value="1" <?php checked( $opt_val_comment, '1' ); ?> >
125 <label for="<?php echo self::OPT_NAME_COMMENT . '_jp'; ?>"><?php esc_html_e( 'Hiragana (Japanese)', 'siteguard' ); ?></label>
126 <br />
127 <input type="radio" name="<?php echo self::OPT_NAME_COMMENT; ?>" id="<?php echo self::OPT_NAME_COMMENT . '_en'; ?>" value="2" <?php checked( $opt_val_comment, '2' ); ?> >
128 <label for="<?php echo self::OPT_NAME_COMMENT . '_en'; ?>"><?php esc_html_e( 'Alphanumeric', 'siteguard' ); ?></label>
129 <br />
130 <input type="radio" name="<?php echo self::OPT_NAME_COMMENT; ?>" id="<?php echo self::OPT_NAME_COMMENT . '_off'; ?>" value="0" <?php checked( $opt_val_comment, '0' ); ?> >
131 <label for="<?php echo self::OPT_NAME_COMMENT . '_off'; ?>"><?php esc_html_e( 'Disable', 'siteguard' ); ?></label>
132 </td>
133 </tr><tr>
134 <th scope="row"><?php esc_html_e( 'Lost password page', 'siteguard' ); ?></th>
135 <td>
136 <input type="radio" name="<?php echo self::OPT_NAME_LOSTPASSWORD; ?>" id="<?php echo self::OPT_NAME_LOSTPASSWORD . '_jp'; ?>" value="1" <?php checked( $opt_val_lostpassword, '1' ); ?> >
137 <label for="<?php echo self::OPT_NAME_LOSTPASSWORD . '_jp'; ?>"><?php esc_html_e( 'Hiragana (Japanese)', 'siteguard' ); ?></label>
138 <br />
139 <input type="radio" name="<?php echo self::OPT_NAME_LOSTPASSWORD; ?>" id="<?php echo self::OPT_NAME_LOSTPASSWORD . '_en'; ?>" value="2" <?php checked( $opt_val_lostpassword, '2' ); ?> >
140 <label for="<?php echo self::OPT_NAME_LOSTPASSWORD . '_en'; ?>"><?php esc_html_e( 'Alphanumeric', 'siteguard' ); ?></label>
141 <br />
142 <input type="radio" name="<?php echo self::OPT_NAME_LOSTPASSWORD; ?>" id="<?php echo self::OPT_NAME_LOSTPASSWORD . '_off'; ?>" value="0" <?php checked( $opt_val_lostpassword, '0' ); ?> >
143 <label for="<?php echo self::OPT_NAME_LOSTPASSWORD . '_off'; ?>"><?php esc_html_e( 'Disable', 'siteguard' ); ?></label>
144 </td>
145 </tr><tr>
146 <th scope="row"><?php esc_html_e( 'Registration page', 'siteguard' ); ?></th>
147 <td>
148 <input type="radio" name="<?php echo self::OPT_NAME_REGISTUSER; ?>" id="<?php echo self::OPT_NAME_REGISTUSER . '_jp'; ?>" value="1" <?php checked( $opt_val_registuser, '1' ); ?> >
149 <label for="<?php echo self::OPT_NAME_REGISTUSER . '_jp'; ?>"><?php esc_html_e( 'Hiragana (Japanese)', 'siteguard' ); ?></label>
150 <br />
151 <input type="radio" name="<?php echo self::OPT_NAME_REGISTUSER; ?>" id="<?php echo self::OPT_NAME_REGISTUSER . '_en'; ?>" value="2" <?php checked( $opt_val_registuser, '2' ); ?> >
152 <label for="<?php echo self::OPT_NAME_REGISTUSER . '_en'; ?>"><?php esc_html_e( 'Alphanumeric', 'siteguard' ); ?></label>
153 <br />
154 <input type="radio" name="<?php echo self::OPT_NAME_REGISTUSER; ?>" id="<?php echo self::OPT_NAME_REGISTUSER . '_off'; ?>" value="0" <?php checked( $opt_val_registuser, '0' ); ?> >
155 <label for="<?php echo self::OPT_NAME_REGISTUSER . '_off'; ?>"><?php esc_html_e( 'Disable', 'siteguard' ); ?></label>
156 </td>
157 </tr>
158 </table>
159 <div class="siteguard-description">
160 <?php esc_html_e( 'Adds CAPTCHA to login, comment, password reset, and user registration forms. CAPTCHA can use either hiragana or alphanumeric characters.', 'siteguard' ); ?>
161 </div>
162 <input type="hidden" name="update" value="Y">
163 <hr />
164
165 <?php
166 wp_nonce_field( 'siteguard-menu-captcha-submit' );
167 submit_button();
168 ?>
169 </form>
170 </div>
171 <?php
172 }
173 }
174