Plugin Directory

Changeset 2554858


Ignore:
Timestamp:
06/28/2021 01:59:19 AM (5 years ago)
Author:
vaptcha
Message:

部署新版vaptcha

Location:
vaptcha/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • vaptcha/trunk/VaptchaPlugin.php

    r2512016 r2554858  
    4141        $style = get_option('vaptcha_options')['button_style'];
    4242        $height = $height ? $height : '36px';
     43        $area = get_option('vaptcha_options')['vaptcha_area'];
    4344        $options = json_encode(Array(
    4445            "vid" => $vid,
     
    4849            "https" => true,
    4950            "color" => $color,
     51            "area" => $area,
    5052            "offline_server" => site_url() . '/wp-json/vaptcha/offline',
    5153            // 'mode' => 'offline',
     
    126128        }
    127129        $token = sanitize_text_field( $_POST['vaptcha_token'] );
    128         if (!$token || !$this->vaptcha->validate($challenge, $token)) {
     130        $server = sanitize_text_field( $_POST['vaptcha_server'] );
     131        if (!$token || !$this->vaptcha->validate($server,$challenge, $token)) {
    129132            wp_die(__('人机验证未通过'.$token, 'vaptcha'));
    130133        }
     
    148151        }
    149152        $token = sanitize_text_field( $_POST['vaptcha_token'] );
    150         if (!$token || !$this->vaptcha->validate($challenge, $token)) {
     153        $server = sanitize_text_field( $_POST['vaptcha_server'] );
     154        if (!$token || !$this->vaptcha->validate($server,$challenge, $token)) {
    151155            return  new WP_Error('broke', __('人机验证未通过', 'vaptcha'));
    152156        }
     
    167171        }
    168172        $token = sanitize_text_field( $_POST['vaptcha_token'] );
    169         if (!$token || !$this->vaptcha->validate($challenge, $token)) {
     173        $server = sanitize_text_field( $_POST['vaptcha_server'] );
     174        if (!$token || !$this->vaptcha->validate($server,$challenge, $token)) {
    170175            $errors->add('captcha_wrong', "<strong>ERROR</strong>:".__('人机验证未通过', 'vaptcha'));   
    171176        }
     
    184189        $validated['vaptcha_login'] = ($input['vaptcha_login'] == "1" ? "1" : "0");
    185190        $validated['vaptcha_lang'] = sanitize_text_field($input['vaptcha_lang']);
     191        $validated['vaptcha_area'] = sanitize_text_field($input['vaptcha_area']);
    186192        $validated['bg_color'] = sanitize_text_field($input['bg_color']);
    187193        $validated['vaptcha_width'] = sanitize_text_field($input['vaptcha_width']);
     
    209215                'vaptcha_login' => '1',
    210216                'vaptcha_lang' => 'auto',
     217                'vaptcha_area' => 'auto',
    211218                'bg_color' => '#57ABFF',
    212219                'vaptcha_width' => '200',
     
    247254    function captcha_validate_woocommerce($errors) {
    248255        $token = $_POST['vaptcha_token'];
    249         if (!$token || !$this->vaptcha->validate($challenge, $token)) {
     256        $server = sanitize_text_field( $_POST['vaptcha_server'] );
     257        if (!$token || !$this->vaptcha->validate($server,'', $token)) {
    250258            $errors->add('captcha_wrong', __('人机验证未通过', 'vaptcha'));   
    251259        }
     
    255263    function captcha_validate_woocommerce_allow($data) {
    256264        $token = $_POST['vaptcha_token'];
    257         if (!$token || !$this->vaptcha->validate($challenge, $token)) {
     265        $server = sanitize_text_field( $_POST['vaptcha_server'] );
     266        if (!$token || !$this->vaptcha->validate($server,'', $token)) {
    258267            return new WP_Error('captcha_wrong', __('人机验证未通过', 'vaptcha'));
    259268        }
  • vaptcha/trunk/js/init-vaptcha.js

    r2303059 r2554858  
    66            script = document.createElement('script');
    77            protocol = 'https'; //options.https ? 'https' : 'http';
    8             script.src = protocol + '://v.vaptcha.com/v3.js';
     8            script.src = protocol + '://v-na.vaptcha.com/v3.js';
    99            script.id = 'vaptcha_v_js';
    1010            script.async = true
  • vaptcha/trunk/lib/Vaptcha.class.php

    r2308331 r2554858  
    7979     * @return void
    8080     */
    81     public function validate($knock, $token, $sceneId = 0)
     81    public function validate($server,$knock, $token, $sceneId = 0)
    8282    {
    8383        $str = 'ffline-';
     
    8585            return $this->downTimeValidate($token);
    8686        else
    87             return $this->normalValidate($knock, $token, $sceneId);
     87            return $this->normalValidate($server,$knock, $token, $sceneId);
    8888    }
    8989
     
    238238    }
    239239
    240     private function normalValidate($knock, $token, $sceneId)
     240    private function normalValidate($server,$knock, $token, $sceneId)
    241241    {
    242242        if (!$token)
     
    244244        $ip = $this->getClientIp();
    245245        $query = "id=$this->vid&scene=$sceneId&secretkey=$this->key&token=$token&ip=$ip";
    246         $url = $this->config['API_URL'].$this->config['VALIDATE_URL'].'?' . $query;
     246        $url = $server.'?' . $query;
    247247        $now = $this->getCurrentTime();
    248248        $response = json_decode(self::postValidate($url, $query));
  • vaptcha/trunk/options.php

    r2341471 r2554858  
    129129                    </td>
    130130                </tr>
     131                <tr>
     132                    <th><label for="public_key_text"><?php _e('验证节点', 'vaptcha') ?></label></th>
     133                    <td>
     134                        <fieldset>
     135                            <select name="vaptcha_options[vaptcha_area]">
     136                                <option value=" " <?php selected( $options['vaptcha_area'], ' ' ); ?>>中国大陆</option>
     137                                <option value="en" <?php selected( $options['vaptcha_area'], 'sea' ); ?>>东南亚</option>
     138                                <option value="zh-CN" <?php selected( $options['vaptcha_area'], 'na' ); ?>>北美</option>
     139                                <option value="zh-TW" <?php selected( $options['vaptcha_area'], 'cn' ); ?>>欧洲</option>
     140                            </select>
     141                        </fieldset>
     142                    </td>
     143                </tr>
    131144            </tbody>
    132145        </table>
Note: See TracChangeset for help on using the changeset viewer.