Chống spam Contact Form 7

Chống spam Contact Form 7

Chống spam Contact Form 7

Những kẻ 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 ad 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ả

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.

Tham khảo:

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 Contact Form 7 với Akismet

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-emailyour-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 trong 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.

Sử dụng Akismet trong Contact Form 7

Như vậy là form của bạn đã được Akismet lọc spam rồi nhé.

Chống spam Contact Form 7 không sử dụng reCAPTCHA
Chống spam Contact Form 7 không sử dụng reCAPTCHA

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]

chống spam số điện thoại 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: https://contactform7.com/text-fields/#tel

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

Test Form Chống spam Contact Form 7

Đây mình có làm form test để các bạn có thể nhập thông tin vào các trường để test những nội dung ở trên 






     

    Như vậy là hoàn thành các bước chống spam Contact Form 7 ở mức tối đa nhất.Chúc các bạn thành công !

    5/5 - (29 bình chọn)

    Share this post

    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 *