it-swarm.com.de

Wie gehe ich mit kleinformatigem Kommentar-Spam auf kleinen kommerziellen Websites um?

Als ich in der Vergangenheit einige Websites für kleine Unternehmen erstellt habe, konnte ich in der Vergangenheit auf Anti-Spam-Maßnahmen verzichten. Ich habe jetzt mehrere Websites, die pro Monat zwischen 5 und 20 Spam-Kommentare erhalten. Ich habe es so eingestellt, dass alle Kommentare moderiert werden müssen, was eigentlich keine große Sache ist. Ich würde es als gut genug bezeichnen, außer der Inhalt dieser Kommentare handelt oft von Viagra, anderen Drogen, russischen Pornoseiten usw., und ich habe das Gefühl, dass es sich schlecht darauf auswirkt, dass ich dieses Zeug in der Mailbox meines Kunden, in der Moderationswarteschlange usw. habe ..

Akismet könnte zweifellos mit vielen dieser Sachen helfen - aber ich kann das Preisschild nicht rechtfertigen.

Ich versuche, übermäßige Plugins oder überflüssige Inhalte zu vermeiden, und ich bin der Meinung, dass es dafür eine einfache Lösung geben sollte - entweder ein sehr schlankes Plugin oder irgendwo ein Code-Snippet.

Irgendwelche Ideen?

5
Zach Lysobey

Verwenden Sie Antispam Bee . Es ist kostenlos, ruft nicht zu Hause an und funktioniert überraschend gut, solange Sie das Kommentarformular nicht zu stark ändern (Sie müssen es testen).
Stellen Sie einfach sicher, dass Sie die E-Mail-Benachrichtigung für Spam-Kommentare deaktivieren. :)

5
fuxia

Ich bin mir nicht sicher, was Ihr Setup, Ihre Ressourcen und/oder Ihr Wissen angeht. Aber hier sind einige Dinge, die Sie ausprobieren können und für die kein Plugin erforderlich ist.

Sie können versuchen, eine Nonce hinzuzufügen, indem Sie eine der folgenden Angaben in die Datei functions.php Ihres Themas einfügen. Ich habe mir diese nicht ausgedacht, ich würde dem Autor Anerkennung schenken, wenn ich mich erinnern könnte, woher ich sie habe. Aus irgendeinem Grund funktioniert es auch nicht immer und verhindert nach meiner Erfahrung legitime Kommentatoren (möglicherweise kann jemand anderes Kommentare abgeben). Aber hier ist es:

// Add a nonce to the comment form for spam protection.
function add_comment_form_nonce_field( ){
  wp_nonce_field( 'anti_spam_nonce_field' );
}
add_action( 'comment_form', 'add_comment_form_nonce_field' );

function check_comment_form_nonce_field(){
  if( !wp_verify_nonce( $_REQUEST['_wpnonce'], 'anti_spam_nonce_field') )
    die('Security check failed');
}
add_action( 'pre_comment_on_post', 'check_comment_form_nonce_field');

Hier ist ein weiterer Vorschlag:

// Add a nonce to the comment form for spam protection.
function wp_comment_check_hidden_field() {
        $user = wp_get_current_user();
        if ( !isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'],   "comment_form_{$comment_post_ID}") ) {
                do_action('comment_nonce_failed', $comment_post_ID);
                wp_die( __('Sorry, automated comments are not accepted.') );
        }
}
add_action('pre_comment_on_post', 'wp_comment_check_hidden_field');

function wp_comment_add_hidden_field() {
        wp_nonce_field("comment_form_{$post_id}", '_wpnonce', false);
}
add_action('comment_form', 'wp_comment_add_hidden_field');

Kürzlich habe ich einen anderen Weg gefunden, um Bots zu stoppen. Sie müssten ein PHP Sitzungscookie erstellen, was einfach mit php.ini oder über eine .htaccess-Variable (php_value) zu tun ist. Die meisten Hosts stellen den einen oder anderen zur Verfügung.

http://php.net/manual/en/session.configuration.php

Wenn Sie bestätigt haben, dass Ihre Site das Sitzungscookie erstellt, fügen Sie dieses oder ein ähnliches Element in Ihre Stammdatei .htaccess ein.

RewriteCond %{HTTP_COOKIE} !^PHPSESSID=\w+ [OR]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?example\.com/ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule ^wp-(comments-post|register)\.php http://example\.com [R=301,L,NS]

Ersetzen Sie exmaple.com durch Ihre Domain. Abhängig von Ihrem Setup/Ihrer Version von WordPress müssen Sie wp-register.php möglicherweise auch nicht einbinden (ich habe nur wp-login.php und wp-register.php eingebunden, um zu verhindern, dass Bots versuchen, auch einen von diesen zu treffen ). Dies blockiert zwei Dinge, die Spambots normalerweise nicht verwenden, aber normale Besucher sollten dies tun (oder im Fall des leeren User Agents würde ein Bot dies tun). Wenn Sie in Europa sind, bin ich mir nicht sicher, ob Sie dies ohne Probleme anwenden können, da ich mit den Cookie-Gesetzen nicht vertraut bin, sodass Sie möglicherweise die HTTP_COOKIE-Bedingung entfernen müssen.

Da Sie sich über bestimmte Wörter Sorgen machen, können Sie auch versuchen, die in WordPress integrierte Blacklist für Kommentare zu verwenden:

http://codex.wordpress.org/Combating_Comment_Spam#Comment_Blacklist

Aber Sie müssen vorsichtig mit den Worten sein, die Sie dort platzieren.

1
MickeyRoush

Die Plugin-Kombination, die bei mir und vielen anderen funktioniert: Akismet + Cookies für Kommentare + (optional) Impostercide

Die besten haben keine Alternativen. Wenn Sie also nach einer Alternative zu Akismet suchen, finden Sie möglicherweise keine, die sich auf Spam auswirkt. Aber Sie könnten eines davon versuchen:

HINWEIS: Wenn Sie Cookies für Kommentare verwenden, stellen Sie sicher, dass ... ( WHY ?)

  • ihr statischer Inhalt wird von einer anderen Subdomain geliefert, wenn Ihre Website von www.example.com geliefert wird. Und setze www.example.com als Cookie-Domain, indem du dies zu deiner wp-config.php hinzufügst:

    define('COOKIE_DOMAIN', 'www.example.com');
    
  • ihr statischer Inhalt wird von einer anderen Domain oder Sub-Domain einer anderen Domain geliefert, wenn Ihre Website von example.com geliefert wird. Sie können dies auch tun, wenn Ihre Website über www.example.com bereitgestellt wird.

PS: Wenn ich Sie wäre, würde ich nur Cookies für Kommentare aktivieren und sehen, wie das Plugin alleine den Job macht. Es blockiert alle Spam-Bots.

1
its_me