Chống Spam cho plugin Contact Form 7

Chống Spam cho plugin Contact Form 7

Xin chào các bạn bạn đã bạn đã từng dùng Plugin Contact Form 7 để làm form liên hệ hay form đặt hàng, bạn đã gặp những tình trạng như có rất nhiều khách hàng để lại thông tin nhưng khi gọi điện cho khách hàng thì những khách hàng này lại không phải là thật. Tình trạng này khi mình xây dựng web cho khách hàng đã gặp rất nhiều, với những CMS mã nguồn mở thì tình trạng spam như vậy là cực nhiều vậy đối với wordpress khi dùng  plugin Contact Form 7 làm thế nào để loại bỏ tình trạng này thì mới bạn đọc tiếp dưới đây tôi sẽ hướng dẫn bạn giải quyết vấn đề này nhé.

Chống Spam cho plugin Contact Form 7 Sử dụng Plugin Akismet

Akismet là một công cụ tự động lọc comment spam. Từ Akismet được viết tắt bởi Automattic và Kismet. Automatic là công ty đứng sau của plugin Akismet, được tạo ra bởi người tạo ra cộng đồng WordPress Matt Mullenweg. Akismet bắt được những nhận xét và pingback spam bằng tuật toán của Akismet. Thuật toán này học từ những sai lầm của mình và từ những hành động được thực hiện bởi cộng đồng.

Ví dụ: Khi một số trang web bắt đầu báo cáo nội dung comment nào đó như là spam, thì Akismet sẽ tìm hiểu để xác định loại nội dung đó là rác trong tương lai.

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ệ.

Chống Spam cho plugin Contact Form 7
Chống Spam cho plugin 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-name, your-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]

Chống Spam cho plugin Contact Form 7
Chống Spam cho plugin 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.

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

Xem thêm: Khắc phục chiến dịch Gooogle Ads về giấy tờ và dịch vụ của chính phủ

Chúc bạn thành công !

Trả lời

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 *