Honeypot für Kommentarfunktion

Honeypot für Kommentarfunktion

Übersicht

Solltest du immer noch Spamkommentare finden in deinen Beiträgen, hilft hier vielleicht ein Honeypot für Kommentarfunktion. Im weiteren findest du hier die Anpassung der Funktionen. Wir haben bereits kürzlich darüber berichtet, wie du das URL-Feld der Kommentarfunktion deaktivieren kannst.

In der hier gezeigten angepassten Code machen wir zusätzlich noch etwas anderes – wir deaktivieren die Anzeige des URL-Feldes und ermöglichen, dass Bots dieses dennoch finden können.

Sobald aber ein Bot dieses Feld ausfüllt, landet der Beitrag automatisch im Papierkorb.

Hier ist dein Code:

/**
 *
 * @author    Chris Martens
 * @link      https://chris-martens.com/
 * @link      https://chris-martens.com/blog/honeypot-fuer-kommentarfunktion/
 * @snippet   Comments without URL Field. 
 *
 */

/** Reduce spam comments */

function chrmrtns_remove_comment_author_link( $return, $author, $comment_ID ) {
            return $author;
}
add_filter( 'get_comment_author_link', 'chrmrtns_remove_comment_author_link', 10, 3 );

function chrmrtns_remove_comment_author_url() {
    return false;
}
add_filter( 'get_comment_author_url', 'chrmrtns_remove_comment_author_url');


/** Remove website field - uncomment filter if you want to use this */

function chrmrtns_remove_website_field($fields) {
   unset($fields['url']);
   return $fields;
}
//add_filter('comment_form_default_fields', 'chrmrtns_remove_website_field', 60);


/** Honeypot Check - instead of hiding this, you can send it to trash or spam */

function chrmrtns_hide_website_field($fields) {
    // Hide the URL field using inline CSS
    $fields['url'] = '<div style="display: none;">' . $fields['url'] . '</div>';
    return $fields;
}
add_filter('comment_form_default_fields', 'chrmrtns_hide_website_field', 60);

function chrmrtns_check_comment_for_honeypot( $commentdata ) {
    if ( !empty($_POST['url']) ) {
        // Move the comment to trash instead of dying
        add_filter('pre_comment_approved', 'chrmrtns_send_comment_to_trash');
    }
    return $commentdata;
}

/** Return either trash or spam */
function chrmrtns_send_comment_to_trash( $approved ) {
    // 'trash' moves the comment to trash
    // 'spam' moves the comment to spam
    return 'trash';
}

add_filter( 'preprocess_comment', 'chrmrtns_check_comment_for_honeypot' );

Hier kannst du dir den Code auf Github ansehen. Wenn du Fragen hast, hinterlasse mir gern einen Kommentar.

Weitere Beiträge

HTML-Link-Attribute: rel, title und aria-label erklärt

HTML-Link-Attribute: rel, title und aria-label erklärt

Reading Time: 1:27 min

Links sind das Herzstück des Internets, aber nicht alle Links sind gleich. Mit den richtigen HTML-Attributen kannst du Links sicherer, zugänglicher und informativer gestalten. Drei wichtige Attribute sind rel, title und aria-label. 1. Das rel-Attribut:…

Zum Beitrag
Custom Code - Woo Bestellung ändern

WooCommerce Bestellungen nachträglich anpassen: So geht’s!

Reading Time: 4:36 min

WooCommerce ist eine der beliebtesten E-Commerce-Plattformen, doch wenn es um nachträgliche Änderungen an Bestellungen geht, kommt man schnell an Grenzen. Warum ist das ein Problem? Häufige Probleme: Rechtlich kann das…

Zum Beitrag
Fehler in der php.ini

Php übernimmt Einstellungen nicht?

Reading Time: 1:37 min

Hast du deine Einstellungen in der php.ini geändert, aber diese wollen partout nicht übernommen werden? Eventuell hast du einen Fehler in der php.ini WordPress benötigt höhere Upload Limits In der…

Zum Beitrag

Hinterlasse einen Kommentar