Spam bình luận là một trong những hình thức tấn công phổ biến khiến website WordPress trở nên kém chuyên nghiệp, thậm chí ảnh hưởng đến bảo mật. Dù đã tắt tính năng bình luận, nhiều quản trị viên vẫn gặp tình trạng bị spam qua các phương thức ẩn như REST API, XML-RPC hoặc script gửi trực tiếp đến wp-comments-post.php
.
Vậy làm sao để chặn triệt để các hình thức spam bình luận này? Hãy áp dụng đoạn mã PHP dưới đây trong functions.php
của theme (nên là child theme).
wp-comments-post.php
add_action('init', function() {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_SERVER['REQUEST_URI'])) {
if (strpos($_SERVER['REQUEST_URI'], 'wp-comments-post.php') !== false) {
wp_die('Commenting is disabled on this site.', 'Comment Blocked', ['response' => 403]);
}
}
});
🔍 Tác dụng: Ngăn hoàn toàn mọi POST request gửi bình luận, kể cả không dùng form giao diện.
add_filter('rest_endpoints', function($endpoints) {
if (isset($endpoints['/wp/v2/comments'])) {
unset($endpoints['/wp/v2/comments']);
}
return $endpoints;
});
🔍 Tác dụng: Chặn các plugin hoặc bot gửi bình luận qua đường dẫn /wp-json/wp/v2/comments
.
add_filter('xmlrpc_methods', function($methods) {
unset($methods['wp.newComment']);
unset($methods['wp.editComment']);
unset($methods['wp.deleteComment']);
return $methods;
});
🔍 Tác dụng: Vô hiệu hóa các phương thức bình luận qua XML-RPC — một vector tấn công phổ biến với các bot cổ điển.
admin-ajax.php
(nếu bị plugin gửi lén)add_action('admin_init', function() {
if (defined('DOING_AJAX') && DOING_AJAX && isset($_POST['action']) && strpos($_POST['action'], 'comment') !== false) {
wp_die('Comments via AJAX are disabled.', 'Comment Blocked', ['response' => 403]);
}
});
🔍 Tác dụng: Ngăn bình luận được gửi qua Ajax (dạng admin-ajax.php?action=xyz_comment_submit
).
Appearance → Theme File Editor
hoặc FTP/SFTP.functions.php
của child theme (không nên chỉnh theme chính).Nếu bạn không muốn chỉnh sửa code, có thể đóng gói đoạn này thành plugin riêng để bật/tắt bằng 1 click trong admin. Nếu bạn cần mình tạo sẵn plugin này, hãy để lại bình luận nhé!
dịch vụ chất lượng khách hàng tin tưởng