Những gửi thư rác nhắm mục tiêu đến mọi thứ và Contact Form 7 của bạn cũng không ngoại lệ. Contact Form 7 hỗ trợ lọc thư rác với Akismet và ReCAPTCHA thông minh chặn spam bots gây phiền nhiễu.

ReCAPTCHA của Google sử dụng rất tốt nhưng mà ở một hosting hay VPS yếu nó sẽ lộ rõ điểm yếu đó chính là làm chậm website của bạn. Web sẽ phải load các tệp js từ CDN Google về website khiến làm chậm thời giản tải trang. Nên ad khuyến khích Chống spam Contact Form 7 không sử dụng reCAPTCHA

Bài viết này Maxweb sẽ hướng dẫn các bạn Chống spam Contact Form 7 với Akismet đơn giản và hiệu quả mà website vẫn load nhanh.

Chống spam contact form 7
Chống spam contact form 7

AntiSpam hiệu quả cho Contact Form 7

Contact Form 7 là plugin được sử dụng rất phổ biến trong WordPress bởi tính đơn giản hiệu quả, nhưng cũng chính vì được nhiều người dùng cho nên dễ bị lợi dụng để spam với mục đích không tốt, làm tốn tài nguyên email và mất thời gian của bạn.

Bước 1. Tải Plugins Akismet Anti-Spam

Akismet là có thể là cách thức tốt nhất trên thế giới để bảo về blog của bạn khỏi spam. Trang của bạn được cấu hình hoàn toàn và được bảo vệ.

Tải Plugins Akismet Anti-Spam
Tải Plugins Akismet Anti-Spam

Bạn cần một khóa API để sử dụng Akismet. Nếu bạn sử dụng nó trên blog cá nhân , bạn có thể nhận được khóa API miễn phí. Đối với các trang web công ty hoặc thương mại, đăng ký trả phí có sẵn.

Bước 2. Sử dụng Akismet trong Contact Form 7

Trong Contact From 7 có 3 trường thông tin là your-nameyour-email và your-url chúng ta có thể sử dụng Akismet để lọc các trường thông tin này. Bạn làm như sau:

Vào From bạn cần lọc spam và chỉnh sửa một trong các trường thông tin như bên dưới và lưu lại

Lọc spam cho trường nơi người gửi nhập Họ Tên:

code: [text* your-name akismet:author]

Lọc spam cho trường nơi người gửi nhập Email:

code: [email* your-email akismet:author_email]

Lọc spam cho trường nơi người gửi nhập Url:

code: [url* your-url akismet:author_url]

Sử dụng Akismet để lọc các trường thông tin
Sử dụng Akismet để lọc các trường thông tin

Để triển khai Akismet trong Contact From 7, bạn hãy sử dụng một hoặc nhiều tùy chọn này. Để có được kết quả chính xác, bạn nên sử dụng càng nhiều tùy chọn càng tốt.

Bước 3. Kiểm tra bộ lọc thư rác

Để kiểm tra xem bộ lọc thư rác có hoạt động chính xác hay không, hãy thử nhập “viagra-test-123” vào trường name ( akismet:author) hoặc “akismet-guaranteed-spam@example.com” vào trường email ( akismet:author_email) và gửi biểu mẫu. Với những từ ngữ này được dành để thử nghiệm, Akismet phải trả lại phản hồi “spam”. Nếu nó đang hoạt động như mong đợi, bạn sẽ thấy hiển thị thông báo cho biết, “Có lỗi xảy ra trong quá trình gửi”, được bao quanh bởi một đường viền màu cam.

Kiểm tra bộ lọc thư rác
Kiểm tra bộ lọc thư rác

Validate chống spam số điện thoại trong Contact Form 7

Còn một trường thông tin cũng rất hay bị spam trong Contact Form 7 đó chính là số điện thoại. Bây giờ ad sẽ hướng dẫn các bạn validate trường số điện thoại trong contact form 7 cho đúng với số điện thoại của Việt Nam chúng ta. Tức là bắt đầu bằng 0 và có 10 số

Code khách hàng nhập đủ 10 số mới được

code là: [tel* your-phone minlength:10 maxlength:10]

Validate chống spam số điện thoại trong Contact Form 7
Validate chống spam số điện thoại trong Contact Form 7

Trong đó:

  • minlength:10 Độ dài tối thiểu được phép cho trường đầu vào này.
  • maxlength:10 Độ dài tối đa được phép cho trường đầu vào này.

Tham khảo: Hướng dẫn cài đặt Google reCAPTCHA V2, V3

Code KH nhập đầu số phải bằng 0 và đúng đầu số của các nhà mạng

Để validate số điện thoại trong Contact Form 7 thì chúng ta cần bổ sung code sau vào file functions.php của theme hoặc chirld theme mà website bạn đang sử dụng

Check tất cả đầu số của các nhà mạng của Việt Nam hiện tại nhập đúng mới cho phép submit

//validate số điện thoại trong Contact Form 7
function validate_phone_wpcf7( $result, $tel ){
$result = preg_match( '/^(09|03|07|08|05)+([0-9]{8})$/', $tel );
return $result;
}
add_filter( 'wpcf7_is_tel', 'validate_phone_wpcf7', 10, 2 );

Dưới đây là code phiên bản đầy đủ:

function validate_phone_wpcf7( $result, $tel ) {
$result = preg_match( '/^(032|033|034|035|036|037|038|039|086|096|097|098|081|082|083|084|085|088|091|094|056|058|092|070|076|077|078|079|089|090|093|099|059)+([0-9]{7})$/;', $tel );
return $result;
}
add_filter( 'wpcf7_is_tel', 'validate_phone_wpcf7', 10, 2 );

Chặn spam Contact Form 7 với Plugin Really Simple CAPTCHA

Đây là cách mình thấy rất hiệu quả và đang áp dụng cho trang  ở thời điểm hiện tại, từ lúc cài không còn nhận bất kỳ một email spam nào nữa. Ưu điểm là nhẹ, không làm chậm website.

Đầu tiên bạn cài đặt và kích hoạt plugin Really Simple CAPTCHA vào trang WordPress của bạn.

Tiếp theo từ trang Admin WordPress -> Form Liên Hệ -> Mở Contact Form 7 mà bạn cần chặn spam

Thêm dòng
Nhập mã CAPTCHA: [captchac captcha-maxweb]
[captchar captcha-maxweb 4/4]

Trong đó captcha-maxweb là id bạn có thể tự đặt, 4/4 là tùy chọn tạo captcha

Bây giờ bạn hãy mở trang contact của bạn để xem kết quả, bạn sẽ thấy ô yêu cầu nhập captcha ở form contact của bạn, khi bạn gõ đúng captcha thì form mới được phép gửi, điều này sẽ chặn các bot spam rất hiệu quả.

Kết luận

Trên đây là những cách giúp bạn chặn spam trên website hiệu quả cao nhất. Bạn có thể ứng dụng những phương pháp trên để chặn spam trên website. Khi bạn thiết kế website tại Maxweb.vn thì bạn không cần lo vấn đề spam vào gmail nữa. Chúng tối sẽ tích hợp sẵn nhưng công cụ chặn spam trên website để website có thể hoạt động tối ưu nhất.

Mọi thắc mắc về website quý khách hàng vui lòng liên hệ để được hỗ trợ nhanh nhất

    • Website: maxweb.vn
    • Hotline: 0936.387.929
    • Email: info@maxweb.vn
5/5 - (1 bình chọn)
Contact Me on Zalo
0936 387 929