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ả
>> Tham khảo:
- WordPress File Permissions: Hướng dẫn sửa lỗi và bảo mật
- Thiết lập đường dẫn tĩnh chuẩn SEO cho WordPress
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ệ.
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:
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]
Để 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.
Như vậy là form của bạn đã được Akismet lọc spam rồi nhé.
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ố
>> Tham khảo: Tạo hiệu ứng popup cho Contact Form 7
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.
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 !
Để lại một bình luận