Bảo mật admin wordpress Google-recaptcha 2020 – cách cài đặt ko dùng plugin

B1: Đăng kí lấy mã google-recaptcha v2

https://www.google.com/recaptcha/intro/v3.html

B2: Thêm mã vào funtion.php

add_action('login_enqueue_scripts', function () {
    wp_enqueue_script('google-recaptcha', 'https://www.google.com/recaptcha/api.js?hl=vi');
});
if (!is_user_logged_in()) {
    add_action('login_form', 'hkt_recaptcha_field');
    add_action('register_form', 'hkt_recaptcha_field');
}
function hkt_recaptcha_field()
{
    $sitekey = '6LeCb9gUAAAAADOefxWZgd3IB1OiRIIvUwFdH7Ux';
    echo '<div class="g-recaptcha" data-sitekey="' . $sitekey . '"></div>';
}
if (!is_user_logged_in()) {
    add_filter('wp_authenticate_user', 'hkt_verify_recaptcha_on_login_register', 10, 3);
    add_filter('registration_errors', 'hkt_verify_recaptcha_on_login_register', 10, 3);
}
function hkt_verify_recaptcha_on_login_register($user = null, $password = null)
{
    $secretkey = "6LeCb9gUAAAAADOefxWZgd3IB1OiRIIvUwFdH7Ux";
    if (isset($_POST['g-recaptcha-response'])) {
        $response = wp_remote_get('https://www.google.com/recaptcha/api/siteverify?secret=' . $secretkey . '&response=' . $_POST['g-recaptcha-response'] . '&remoteip=' . $_SERVER['REMOTE_ADDR']);
        
        $response = json_decode($response['body'], true);
        if (true == $response['success']) {
            return $user;
        } else {
            return new WP_Error('Captcha Invalid', __('ERROR: You are a bot'));
        }
    } else {
        return new WP_Error('Captcha Invalid', __('ERROR: You are a bot. If not then enable JavaScript.'));
    }
}

Chú ý: Nội dung trong các bài viết chỉ có tính chất tham khảo. Độc giả vui lòng tham khảo ý kiến của bác sĩ trước bất cứ áp dụng nào! Vui lòng liên hệ để gỡ bài nếu bạn thấy sai và không đúng! Blog xin chân thành cảm ơn!