[Contact Form 7] cách chống spam form hiệu quả

  • Saturday 07/01/2023

   Contact Form 7 là một plugin cho phép tạo form cho website trên mã nguồn WordPress được đông đảo người dùng biết đến. Tuy nhiên, để cài đặt một cách thành thạo và nhanh chóng, bảo mật thì không phải ai cũng có thể thực hiện được. Bài viết dưới đây sẽ hướng dẫn cấu hình Contact Form 7 bảo mật nhất, để biết thêm chi tiết các bước cấu hình Contact Form 7 bạn có thể xem bài viết tại đây.

I. Chống spam Contact Form 7 với Akismet

   Akismet là một dịch vụ chống thư rác mạnh mẽ do Automattic cung cấp để bảo vệ các Contact Form 7 cho website WordPress 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ệ.

chong-spam-contact-form-7

 

 

 

 

 

 

 

 

 

 

 

 

   

   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]

contact-form-7

Để 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.

 

Akismet-contact-form-7

 

II. 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ố

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

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

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.

2. 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 );

 

P.A Việt Nam cung cấp đa dạng các Plan Hosting WordPress đáp ứng yêu cầu của khách hàng
WordPress Hosting phổ thông
WordPress Hosting chất lượng cao
WordPress VIP

Rate this post