Hướng dẫn chống Spam cho Contact Form 7 trên Website WordPress

Hướng dẫn chống Spam cho Contact Form 7 trên Website WordPress

Spam là một vấn đề phiền toái đối với các website, đặc biệt là trong các form liên hệ. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn 3 cách chống spam hiệu quả cho plugin Contact Form 7 trên WordPress.

Chống Spam bằng Field Ẩn

Cách này sử dụng một trường ẩn (hidden field) trong form và kiểm tra giá trị khi form được gửi. Các bước thực hiện như sau:

Bước 1: Truy cập file functions.php

  • Vào WordPress Admin → Giao diện → Sửa tệp tin giao diện.
Truy cập sửa tệp tin giao diện
Truy cập sửa tệp tin giao diện
  • Tìm và mở tệp tin functions.php
Mở tệp tin functions.php
Mở tệp tin functions.php

Bước 2: Thêm đoạn mã sau vào functions.php


add_filter('wpcf7_form_elements', 'wiweb_check_spam_form_cf7');
function wiweb_check_spam_form_cf7($html){
    $html = '<div style="display: none"><p><span class="wpcf7-form-control-wrap" data-name="wiweb"><input size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false" value="" type="text" name="wiweb"></span></p></div>' . $html;
    return $html;
}
add_action('wpcf7_posted_data', 'wiweb_check_spam_form_cf7_vaild');
function wiweb_check_spam_form_cf7_vaild($posted_data) {
    $submission = WPCF7_Submission::get_instance();
    if (!empty($posted_data['wiweb'])) {
        $submission->set_status('spam');
        $submission->set_response('You are Spamer');
    }
    unset($posted_data['wiweb']);
    return $posted_data;
}

Bước 3: Kiểm tra hoạt động

  • Gửi thử form liên hệ.
  • Nếu trường ẩn bị điền, người dùng nhận thông báo “You are Spamer”.

Chống Spam bằng reCAPTCHA v2

reCAPTCHA là một công cụ hữu hiệu nhờ Google cung cấp. Các bước thực hiện như sau:

Bước 1: Cài đặt plugin “hCaptcha for WP”

  • Vào WordPress Admin → Plugins → Cài plugin mới.
Cài plugin
Cài plugin
  • Kích hoạt plugin.
Kích hoạt plugin
Kích hoạt plugin

Bước 2: Tạo API Key cho reCAPTCHA v2

Đăng ký bằng tài khoản gmail
Đăng ký bằng tài khoản gmail
Chọn "Generate" để tạo secret key
Chọn “Generate” để tạo secret key

 

Copy secret key
Copy secret key

 

Chọn "Continue" để tiếp tục lấy site key
Chọn “Continue” để tiếp tục lấy site key
  • Chọn Add Site, nhập tên domain và lưu lại.
Nhập tên domain
Nhập tên domain

 

Chọn "Save" để lưu lại
Chọn “Save” để lưu lại
  • Lấy “Site Key”.
Copy site key
Copy site key

Bước 3: Tích hợp reCAPTCHA vào Contact Form 7

  • Truy cập WordPress Admin → hCaptcha for WP.
  • Nhập “Site Key” và “Secret Key”.
Nhập "Site Key" và "Secret Key"
Nhập “Site Key” và “Secret Key”

 

Tick chọn tôi là con người
Tick chọn tôi là con người
Chọn "Check"
Chọn “Check”
Chọn lưu thay đổi
Chọn lưu thay đổi

 

Bật các tùy chỉnh trong contact form 7
Bật các tùy chỉnh trong contact form 7

Bước 4: Kiểm tra

  • Truy cập trang chứa form liên hệ và đảm bảo reCAPTCHA đã hoạt động.
Kiểm tra reCAPTCHA có hoạt động hay không
Kiểm tra reCAPTCHA có hoạt động hay không

Chống Spam bằng Quiz

Quiz trong Contact Form 7 yêu cầu người dùng trả lời đúng câu hỏi đơn giản như phép tính.

Bước 1: Chỉnh sửa Form

  • Truy cập WordPress Admin → Contact Form 7 → Chọn form muốn tích hợp Quiz.
Chọn chỉnh sửa form
Chọn chỉnh sửa form
  • Thêm shortcode Quiz như sau:

[quiz math “2+2=?|4”]

Thêm shorecode quiz vào chỗ bạn muốn hiển thị
Thêm shorecode quiz vào chỗ bạn muốn hiển thị

Bước 2: Lưu và Kiểm tra

  • Nhấn Lưu.
  • Truy cập form liên hệ, nhập đáp án.
  • Form chỉ gửi khi đáp án đúng
Dữ liệu sẽ không gửi đi khi đáp án sai
Dữ liệu sẽ không gửi đi khi đáp án sai
Dữ liệu sẽ được gửi đi khi đáp án đúng
Dữ liệu sẽ được gửi đi khi đáp án đúng

 

Kết luận

Trên đây là 3 cách chống spam hiệu quả cho Contact Form 7. Tùy thuộc vào nhu cầu, bạn có thể áp dụng một hoặc kết hợp các cách trên để tăng cường bảo mật cho website. Chúc bạn thành công!

 

Video hướng dẫn chống Spam cho Contact Form 7 trên Website WordPress

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

// Heading CSS