Giới thiệu
Chắc hẳn spam bình luận, spam điền form email đều là vấn đề nan giải và gây đau đầu cho rất nhiều người sử dụng website. Spam này diễn ra liên tục làm ảnh hưởng nặng nề tới SEO bài viết, gây phiền nhiễu cho hộp thư điện tử của cá nhân hay doanh nghiệp. Đặc biệt hơn thì sẽ gây ra việc tiêu tốn nhân lực cho việc dành riêng ra người lọc thư rác, spam, có khi sẽ bị trôi cả những khách hàng thực sự có nhu cầu.
Hướng dẫn
Chống spam bình luận
Cách 1: Chống spam comment bằng Plugin
Để chống được spam bình luận wordpress thì thường các website sẽ sử dụng capcha hay recapcha của google nhưng hiện nay, các bot đã có thêm extention bỏ qua capcha nên việc này không còn hiệu quả đối với website nữa.
Hay có bên sẽ yêu cầu khách hàng phải đăng nhập tài khoản nhưng việc này gây ra sự rườm rà và gây khó chịu cho khách hàng.
Tigoweb sẽ đưa cho các bạn một plugin, nó giúp các bạn thêm câu hỏi cho khách hàng trước khi khách hàng gửi bình luận. Plugin này cho khách hàng đưa ra nhiều câu hỏi và câu hỏi sẽ được chọn ngẫu nhiên trong số lượng câu hỏi đã đưa ra. Điều này tránh được bot spam với nội dung không liên quan. Mặc dù tính năng này rất đơn giản nhưng những người sử dụng wordpress ít nắm được về code nên plugin này hỗ trợ khá tốt cho họ.
Link tải plugin nằm trong phần bình luận của Video tại link: https://youtu.be/Mj2TnGhrSAg
Cách 2: Chống spam comment bằng thêm code
Để làm được cách này các bạn cần thực hiện theo các bước sau đây
Bước 1: các bạn truy cập vào mục Giao diện>Theme file editor
Bước 2: Chọn file Function.php
Bước 3: Thêm đoạn code dưới và lưu lại là đã hoàn thành rồi
// Hiển thị câu hỏi trước form comment $question_answer_pairs = array( array( 'question' => 'Con hổ có mấy chân?', 'answer' => '4', ), array( 'question' => '1 + 1 bằng mấy?', 'answer' => '2', ), array( 'question' => 'Bốn + ba bằng mấy?', 'answer' => '7', ), ); function custom_show_random_comment_question() { global $question_answer_pairs; $random_question = $question_answer_pairs[array_rand($question_answer_pairs)]; ?> <p> Vui lòng trả lời câu hỏi sau: <span style="color: red;"><?php echo $random_question['question']; ?></span> </p> <p> <label for="comment_question">Câu trả lời: </label> <input type="text" name="comment_question" id="comment_question" required> </p> <?php } add_action('comment_form_before', 'custom_show_random_comment_question'); function custom_check_comment_question($commentdata) { global $question_answer_pairs; $expected_answer = ''; if (isset($_POST['comment_question'])) { $user_answer = sanitize_text_field($_POST['comment_question']); // Tìm câu trả lời đúng của câu hỏi trong mảng foreach ($question_answer_pairs as $qa_pair) { if ($qa_pair['question'] === $_POST['comment_question']) { $expected_answer = $qa_pair['answer']; break; } } if (strcasecmp($user_answer, $expected_answer) !== 0) { wp_die('Câu trả lời không chính xác. Vui lòng thử lại.'); } } return $commentdata; } add_filter('preprocess_comment', 'custom_check_comment_question');
Chống spam email
Cách 1:
Để chống spam email thì trong contact form 7 có cung cấp 1 công cụ khá hữu hiệu mà ít ai để ý đến đó chính là phần “câu hỏi” ( Quiz ). Ở form này nếu bot điền form không trả lời câu hỏi sẽ không thể gửi được.
Cách 2: Dành cho form có trường điền số điện thoại
Ở cách này chúng ta sẽ cần thêm một chút đoạn code để nhận diện định dạng đó có đúng là sdt khách hàng có đúng định dạng sdt của Việt Nam hay không
Bước 1: Truy cập vào trang quản trị
Bước 2: Chọn Giao diện > Theme File Editor
Bước 3: Chọn Function.php thêm đoạn mã phía dưới và lưu lại
add_filter( 'wpcf7_is_tel', function($result, $tel){ return preg_match('/((09|03|07|08|05)+([0-9]{8})b)/g', $tel ); }, 10, 2);
Sau khi thêm xong chỉ cần lưu lại và ra kiểm tra là hoàn thành.
Các bạn có thể tham khảo thêm nhiều hơn trên kênh youtube Tigoweb
Youtube: https://www.youtube.com/@tigowebvn