J'ai bloqué l'accès à xmlrcp et supprimé presque tout ce qui est généré dans wp_head
. Cependant, l'administrateur reçoit toujours des notifications à propos des commentaires postés sur des publications, même s'il n'y a pas de formulaire sur cette page. Comment est-ce possible?
Je pense que ceci ci-dessous fonctionnerait:
// Remove comment support
add_action( 'init', function() {
remove_post_type_support( 'page', 'comments' );
remove_post_type_support( 'post', 'comments' );
});
// Close open comments
add_filter( 'comments_open', function( $open, $post_id ) {
$post = get_post( $post_id );
if ( 'page' == $post->post_type || 'post' == $post->post_type )
$open = false;
return $open;
}, 10, 2 );
Cependant, que ce qui précède fonctionne ou non, je me demande toujours comment un bot anti-spam peut publier un commentaire alors qu’il n’ya pas de formulaire, ni rien dans la page.
La représentation visuelle d'un formulaire de commentaire (ou son absence) n'a aucun impact sur la possibilité de recevoir des commentaires, et les spammeurs ne se soucient généralement pas du tout de ce qu'il y a dans votre formulaire. Tous les commentaires sont envoyés à Wordpress (et même si je ne me souviens pas de tous les détails de la tête pour le moment), les spammeurs peuvent publier sur ce point avec suffisamment de détails pour faire un commentaire correct, sans même en chargeant le post auquel ils commentent.
L’une des étapes faciles de l’antispam contre les spammeurs paresseux consiste à ajouter un champ caché au formulaire de commentaire et à supprimer tout commentaire envoyé sans ce dernier.
Une petite astuce consiste à vérifier votre thème actuel et à créer un nouveau fichier comments.php (si vous n'en avez pas). Sur ce fichier, il vous suffit de placer ce code:
<?php return false; ?>
Cela empêchera tout bot d'utiliser votre formulaire de commentaire pour poster.