Dạo này blog nhận được rất nhiều comment rác. Trong vòng 2 ngày mà nhận được tới hơn 2000 comment rác. Bạn hãy tưởng tượng nó liên tục đến mức : tôi vừa mới xóa tất cả xong, quay lại trang comment là thấy mục Spam có thêm ít nhất là 1 comment rác :dapdau: .Thậm chí WordPress bị treo ở một vài thời điểm khi tôi cố gắng xóa lượng comment quá nhiều.
Hôm qua, tôi quyết định dùng thử plugin WP re-Captcha với hy vọng chấm dứt tệ nạn này, nhưng nó làm việc không hiệu quả. Chính xác thì lượng “rác” có giảm nhưng vẫn còn khá nhiều. Hơn nữa, việc nhập mã captcha này gây phiền toái cho mọi người bởi vì đôi khi bạn không nhìn rõ được chữ hiện ra trong hình là cái giống gì cả. Vì vậy, tôi quyết định dẹp luôn plugin đó và tự làm bằng tay…
Việc phát tán comment rác chủ yếu là do máy móc làm và chúng có khả năng đọc được mã Captcha. Nhưng tôi không tin chúng thông minh tới mức có thể đọc và hiểu tiếng Việt, nhất là ở dạng hình ảnh. Vì vậy mà ý tưởng bảo vệ blog mà tôi nghĩ ra đó là : tạo một “đoạn văn” với câu hỏi được hiển thị ở dạng hình ảnh -> nếu bạn nhập câu trả lời sai thì comment đó sẽ không được lưu vào database của blog.
Nếu nó cập nhật được câu trả lời, tôi sẽ…chiến đấu tới hơi thở cuối cùng bằng cách…đổi câu hỏi khác :)) .Hiện tại tôi chấp nhận làm thủ công, miễn sao giúp được blog là OK.
Cách làm này tôi buộc phải chỉnh sửa core của WordPress, tức là tôi sẽ thêm vào tập tin xử lý comment của WordPress (wp-comments-post.php) một đoạn mã nhỏ giúp nó ngưng xử lý khi bạn gõ sai câu trả lời. Việc sửa đổi mã nguồn của WordPress là không được khuyến khích bởi vì nó có thể tạo ra các lỗ hổng bảo mật cho blog. Nhưng trong tình huống này, tôi tự xét thấy nó an toàn nên quyết định làm, trước khi tôi tìm được một giải pháp khác (tạo ra file PHP để tự xử lý).
Thực hiện :
1. Tạo ra một tấm hình và gõ vào câu hỏi trong đó. Ví dụ như tấm hình mà tôi đang sử dụng :
2. Chèn ảnh Captcha và textbox vào phần comment trên blog :
Bạn mở thư mục giao diện của blog ra và mở tập tin “comments.php” và chèn đoạn mã sau vào phần thích hợp :
Tôi đã chèn thêm cái hình và một textbox ngay bên trên nút “Submit”. Textbox chứa câu trả lời được tôi đặt tên là “macaptcha”.
3. Sửa tập tin “wp-comments-post.php”
Tập tin này nằm ở thư mục gốc của blog. Bạn mở nó lên và chèn đoạn mã ngay sau dòng “nocache_headers();”, như hình sau :
Lưu ý là sử dụng tiếng Việt không dấu nhé, nếu không sẽ bị lỗi. Lưu lại và upload lên server. Và bạn sẽ thấy tình trạng comment rác sẽ không xảy ra nữa 😀 .Bạn có thể kiểm tra “ngay và luôn” bằng cách comment bên dưới bài viết này, dĩ nhiên là bạn phải trả lời đúng phép tính cộng mà tôi đưa ra :))
test
anhhangxom chứng nhận bạn đã test thành công :))
Thử phát xem “captcha” của ahx ra sao :))
test
sao không chơi TV có dấu luôn hả anh, nếu mà chơi được câu trả lời có dấu thì có soft thánh cũng không qua được =))
Hehe, chơi tiếng Việt có dấu sẽ bị lỗi nên tạm thời không hỗ trợ 🙂
Test comment nào :3
Test mã captcha của AHX, he he =))
Cái này áp dụng liền và ngay mới được :d
Hehe. Cả ngày hôm nay chả có “rác” nào lọt vô nổi :))
He he!, e đã test!; giờ e mới biết blog của AHX là blog WordPress; e cũng mới tập tành viết blog Google; nếu anh có vào: chiasenhe.blogspot.com xem nội dung thì đừng cười em nhé, các bài e post trên đó là để thử nghiệm và xem giao diện có đẹp ko thôi. AHX cho e hỏi này tí: theo anh thì làm trang blog bằng blogspot của google với WordPress cái nào hay hơn. hiện e đang phân vân…
Mình dùng plugin Akismet từ 2 năm nay thấy không sót 1 em spam nào.
Sau anhhangxom hỏi có một câu vậy. Làm nhiều câu hỏi ngẫu nhiên để an toàn hơn.
Anh em đoán pass thần trưởng nào http://anhhangxomonline.com/wp-admin/ 😀
test
Anh Hàng Xóm làm thế này không hay lắm. Mặc dù có thể giảm được số lượng spam nhưng câu trả lời không random thì người ta có thể auto post câu trả lời vào và mặc định đúng. Theo mình làm captcha bằng chữ hoặc hình ảnh có hiệu quả hơn 😀
Thực tế là cách này khá ổn, mặc dù phải làm bằng tay. Tính tới thời điểm này, sau khoảng 1 tuần triển khai thì có tổng cộng…4 comment rác lọt sổ, có lẽ nó random câu trả lời tự động nên vượt qua được. Nếu sử dụng các plugin (có random) thì con số này chắc phải tới gần 10.000 rồi -> việc random và sử dụng các plugin xài tiếng Anh là vô dụng với bọn auto bot.
Vì vậy mà mình quyết định xài cách này mà không cần random. Khó có khả năng bọn nó cập nhật câu trả lời cho riêng blog của mình. Hoặc nếu cập nhật được thì sẽ mất một khoảng thời gian rất lâu -> tới lúc đó mình sẽ đổi câu khác khó hơn. Mấy ngày nay, mục Spam của WordPress luôn là con số 0.
Minh có đang dùng akismet free trên blog thấy khá hiệu quả
Trước cũng chơi làm toán để chặn spam nhưng không hiểu sao tụ dưng nó biến mất
Nhưng cách của bạn này có vẻ hiệu nghiệm nhất ý nhỉ
Blog của em cũng bị thế, dạo này nó nhiều spam đến phát nản, em bật và sử dụng Akismet. Thấy khá hữu ích
Akismet đúng là hữu ích nhưng nó cho phép comment “chui” vào DB. Thư mục Spam lúc nào cũng đầy ắp hàng ngàn comment mỗi ngày :(( .Với cách làm này thì không cần đến Akismet và thư mục Spam gần như là trống rỗng 😀
cách này hay thật, mình làm và cũng thấy thành công. Giá mà trả lời sai nó thông báo nữa thì mới hay AHX nhỉ .
Mình có 1 gợi ý là thay thế cái chữ exit; bằng wp_die( __(‘ERROR: Please enter the captcha.’) );
Thì thông báo sẽ rõ ràng hơn AHX nhỉ ?
Thanks. Để mình thử xem sao 😀
Chuẩn ấy chứ. exit thì chỉ thoát hoàn toàn khỏi wordpress. Còn khi ta dùng wp_die() thì nó sẽ hiển thị báo lỗi với cái ô vuông nhìn ngon lành hơn và đúng chuẩn wordpress. Kaka, em đã dùng theo cách của anh hàng xóm, và chuẩn bị cho cái blog online trở lại sau 1 thời gian cỏ hoang nó mọc 😀
dfdfd
đại ca cho cái link download code với.
Hic, cái này có vài dòng, gõ cho lẹ 😛