
Viết bởi TrungNgoc || Có 1945 từ và 7 phút để nắm hết nội dung!
Không chặn IP. Đây là hai cách đơn giản nhất để chống spam miễn phí trên website wordpress – hiệu quả là dùng plugin Akismet hoặc dùng mặc định trong contact form 7 luôn. Nhưng mình đánh giá cao contact form 7 hơn.
Một vấn đề vô cùng nhức nhối khi bạn để lại form liên hệ là SPAM. giờ để lại thì suốt ngày nhận mail rác, không để thì lỡ khách hàng cần phải làm như thế nào. Thật may mắn là có khá nhiều giải pháp để xử lý vấn đề này. Nhưng mình vẫn tin dùng giải pháp mặc định trong contact form.
Những lý do khiến bạn luôn bị spam form
Một cách nghĩ thông thường thì SPAM FORM nằm mục đích quảng cáo nội dung họ đang làm là chính, nhưng đào sâu hơn, bạn vẫn sẽ thấy nhiều yếu tố sâu xa hơn.
Dưới đây mình sẽ list ra top những lý do mà bạn bị spam nhiều nhất:
- Mục đích quảng cáo: Spammer muốn quảng cáo sản phẩm hoặc dịch vụ của họ bằng cách điền thông tin quảng cáo vào các form trên trang web.
- Thu thập thông tin cá nhân: Các Spam thủ sẽ điền thông tin giả mạo hoặc lừa đảo vào các form để thu thập thông tin cá nhân của người khác, như địa chỉ email hoặc thông tin tài khoản ngân hàng.
- Tấn công DoS (Denial of Service): Một số spammer có thể gửi hàng trăm hoặc hàng nghìn yêu cầu đến một form trên website trong một khoảng thời gian ngắn (bằng tool), gây ra tình trạng quá tải và làm cho bị treo đối với người dùng (lỗi 503).
- Lập trình ngược (Scraping): Có những spammer thu thập thông tin từ các form trên trang web bằng cách tự động điền thông tin vào các trường form để sau đó lấy thông tin đó và sử dụng cho mục đích khác nhau, như xây dựng cơ sở dữ liệu hoặc bán thông tin.
- Phá hoại Website: Một số spammer cố gắng gửi dữ liệu độc hại hoặc mã độc vào các form trang web để gây ra sự cố bảo mật hoặc làm hỏng dữ liệu.
- …
Và còn nhiều lý do hơn nữa, nhưng mình chỉ liệt kê nhiêu đó thôi thì bạn đủ thấy nó nghiêm trọng như thế nào rồi. Vậy tại sao bạn nên chủ động chống lại nó
>> Xem thêm: Backdoor là gì? Cách bảo mật thông tin ngăn chặn backdoor hiệu quả
Tại sao bạn nên chủ động chống spam form?
Nếu như bạn bị spam form chỉ để quảng cáo thì bạn có thể xử lý nhanh chóng, nhưng nếu nhằm mục đích khác thì bạn nên cân nhắc chủ động chống. Những lợi ích khi bạn chủ động chống spam form và cung cấp trải nghiệm người dùng tốt hơn:
Bảo vệ website khỏi bị tấn công – spam form liên tục thường được sử dụng để tấn công website bạn (giới quản trị web gọi là tấn công DOS). Chủ động phòng chống giúp bạn ngăn được tình trạng chậm website.
Tấn công DoS là gì?
DoS là viết tắt của Denial of Service, nghĩa là tấn công từ chối dịch vụ. Đây là một hình thức tấn công mạng, trong đó kẻ tấn công, hacker, cố gắng làm cho một dịch vụ hoặc tài nguyên mạng không khả dụng cho người dùng bình thường.
Tài nguyên được sử dụng hiệu quả hơn – Spam form tạo ra lưu lượng truy cập không cần thiết và tốn tài nguyên máy chủ. Chống spam form, bạn giúp tối ưu hóa việc sử dụng tài nguyên của máy chủ và cải thiện hiệu suất của trang web.
Cải thiện trải nghiệm người dùng – Bằng cách loại bỏ hoặc giảm thiểu spam form, bạn tạo điều kiện thuận lợi hơn cho người dùng tương tác với trang web của bạn.
Giữ cho dữ liệu sạch sẽ – Bằng cách ngăn chặn spam form, bạn giữ cho cơ sở dữ liệu của mình sạch sẽ và chính xác hơn, giúp quản lý và phân tích dữ liệu một cách hiệu quả hơn.
Các cách chống SPAM FORM hiệu quả trong contact form 7
Có 2 cách hiệu quả mà mình thường sử dụng đó là:
- Cách chống spam bằng field ẩn
- Sử dụng plugin Akismet
- Chặn mặc định trong Contact Form
Cách chống spam bằng field ẩn
* Cách này khá hiệu quả, mình tham khảo cách này từ bác Lê Văn Toản thấy khá ổn áp
Cách này sẽ hữu dụng để chống những bot spam. Nguyên nhân là đa số spam này là do bot auto spam, nó cứ chèn đủ các field trong form và submit thôi. Kiểu submit auto luôn.
Nên mình nghĩ sao không làm 1 field ẩn. Sau đó check field đó nếu nó được nhập nội dung thì đích thị nó là SPAMER chứ người thường không thể thấy field ẩn đó để điền được.
Đến áp dụng code nè: bạn chỉ cần copy code sau chèn vào wp-content/themes/{your-theme}/functions.php là được
/*
* Chống spam cho contact form 7
* Author: levantoan.com
* */
/*Thêm 1 field ẩn vào form cf7*/
add_filter('wpcf7_form_elements', 'devvn_check_spam_form_cf7');
function devvn_check_spam_form_cf7($html){
$html = '<div style="display: none"><p><span class="wpcf7-form-control-wrap" data-name="devvn"><input size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false" value="" type="text" name="devvn"></span></p></div>' . $html;
return $html;
}
/*Kiểm tra form đó mà được nhập giá trị thì là spam*/
add_action('wpcf7_posted_data', 'devvn_check_spam_form_cf7_vaild');
function devvn_check_spam_form_cf7_vaild($posted_data) {
$submission = WPCF7_Submission::get_instance();
if (!empty($posted_data['devvn'])) {
$submission->set_status( 'spam' );
$submission->set_response( 'You are Spamer' );
}
unset($posted_data['devvn']);
return $posted_data;
}Giải thích một chút thì code trên sẽ thêm 1 field ẩn có name = devvn vào các form cf7 của bạn. Nếu field đó được nhập thì => spamer.
Chống SPAM FORM trong Contact Form 7 bằng Akismet
Đầu tiên, tất nhiên là bạn phải cài đặt và kích hoạt plugin Akismet. Bạn có thể tải từ trang chủ WP hoặc từ phần search trong cài mới plugin nhé!

Mở trình quản lý form của Contact Form 7 ra, xem ở tab Nội dung Form và thêm vào một số tùy chọn xác thực SPAM Contact Form 7, bao gồm:
akismet:authorthường được sử dụng trong trường tên.akismet:author_emailthường được sử dụng trong trường emailakismet:author_urlthường được sử dụng trong trường website hoặc bất cứ trường nào mà những kẻ spam có thể sẽ chèn URL spam vào- Nếu trong biểu mẫu của bạn có trường số điện thoại, bạn có thể giới hạn số kí tự thành 10 để chống spam bằng cách chèn thêm
minlength:10 maxlength:10. Ví dụ: “tel* your-phone minlength:10 maxlength:10”

Lưu lại và kiểm tra kết quả. Bạn thử spam bằng thông tin ảo, nếu kết quả trả về như thế này thì bạn đã thành công.

Chống SPAM FORM trong Contact Form 7 bằng cách thêm câu hỏi mặc định
Contact Form 7 cung cấp sẵn thành phần Quiz trong form giúp tạo ra biểu mẫu câu hỏi, áp dụng Quiz vào trong CF7 để hạn chế spam, hướng dẫn sử dụng theo hình bên dưới



Video hướng dẫn thêm câu hỏi bảo mật trong Contact Form 7 để chống SPAM Form
Trên đây là cách mà không cần chặn IP. Hai cách đơn giản nhất để chống spam miễn phí – hiệu quả là dùng plugin Akismet hoặc dùng mặc định trong contact form 7 luôn. Chúc bạn chặn được SPAM Form trên website WordPress của mình thành công.
Không chặn IP. Đây là hai cách đơn giản nhất để chống spam miễn phí trên website wordpress – hiệu quả là dùng plugin Akismet hoặc dùng mặc định trong contact form 7 luôn. Nhưng mình đánh giá cao contact form 7 hơn.
Hi vọng nội dung bài viết Cách hạn chế tối đa SPAM Contact Form 7 hiệu quả nhất đơn giản đến khó tin đã giúp bạn hiểu hơn về nội dung bạn đang tìm kiếm. Nếu bạn thấy nội dung nào chưa hợp ý, bị nông hay còn lang mang vui lòng để lại ý kiến thảo luận để hiểu sâu hơn về bài viết hơn nhé!
Tóm tắt
Chống spam trên Contact Form 7 là một vấn đề quan trọng để bảo vệ website khỏi các cuộc tấn công và cải thiện trải nghiệm người dùng. Có hai cách hiệu quả và đơn giản để thực hiện điều này:
- Sử dụng field ẩn: Thêm một trường ẩn vào form để phát hiện và chặn các bot spam tự động điền thông tin vào các trường.
- Plugin Akismet: Cài đặt và kích hoạt plugin Akismet để tự động lọc các thông tin spam dựa trên các tùy chọn xác thực như tên, email, và URL.
Việc áp dụng các phương pháp chống spam sẽ giúp bảo vệ dữ liệu, tối ưu hóa tài nguyên máy chủ và nâng cao trải nghiệm người dùng trên website. Hãy sử dụng các giải pháp này để duy trì tính bảo mật và hiệu suất tốt nhất cho trang web của bạn.
* Tóm tắt được tạo bởi AI
Theo dõi chi tiết các thuật ngữ có trong bài: thuật ngữ AI, thuật ngữ Trải nghiệm người dùng.
Vào 08/05/2024 || Cập nhật: 11/07/2026



