Zum Inhalt springen
Der Guide für ein smartes Leben.
Webspam blocken

Teil 3: Spam-Filter Akismet in PHP-Projekte integrieren

Autoren: Redaktion pcmagazin und Andreas Hitzig • 28.4.2009 • ca. 1:30 Min

können Sie außerdem einen Permalink an Akismet übergeben, unter dem der Kommentar nach seiner Veröffentlichung dauerhaft erreichbar sein würde. Um Akismet zu kontaktieren, nutzen Sie die Funktion isCommentSpam()....

können Sie außerdem einen Permalink an Akismet übergeben, unter dem der Kommentar nach seiner Veröffentlichung dauerhaft erreichbar sein würde. Um Akismet zu kontaktieren, nutzen Sie die Funktion isCommentSpam().

if( $akismet->isCommentSpam() )
{
echo "<h1>Das ist Spam!</h1>";
}
else
{
echo "<h1>Das ist Ham.</h1>";
}

Die Funktion gibt den Bool True zurück, wenn es sich bei dem übermittelten Kommentar um Spam handelt, andernfalls False. Einen Kommentar, den Akismet als Spam erkennt, setzen Sie so:

$akismet->setCommentAuthor("century
21 cgw refinance consulation");
$akismet->setCommentAuthorURL("http:
//www.wantcreditrepair.com/");
$akismet->setCommentType("blog");
$akismet->setCommentContent("century
21 cgw refinance consulation");

Spam-Verwaltung

Weil die Spam-Bekämpfung mit Akismet automatisiert erfolgt, sind False Positives nicht auszuschließen, die der Nutzer Ihrer Anwendung von Hand freischalten können sollte. Deshalb empfiehlt Automattic, an Akismet übermittelte Inhalte samt der Antwort des Spamfilters grundsätzlich in einer Datenbank zu speichern.

Akismet in PHP-Projekte integrieren
Akismet filtert bis zu 25 Millionen Nachrichten täglich.
© Archiv

Zudem sollte es ein Backend zur Verwaltung der Nachrichten geben. PHP5Akismet bringt bereits alles mit was Sie brauchen, damit manuell als Ham und Spam identifizierte Nachrichten zurück an Akismet übermittelt werden können.

Löst der Nutzer eine entsprechende Aktion aus, dann füllen Sie als Erstes wieder die Comment-Variablen mit den Details der bearbeiteten Nachricht:

$akismet->setCommentAuthor("Zuvor
nicht identifizeirter Spammer");
$akismet->setCommentAuthorEmail("ich
blogspammer.com");
$akismet->setCommentAuthorURL(
"https://blogspammer.com");
$akismet->setCommentType("blog");
$akismet->setCommentContent(
"Unerkannter Blogspam.");

Unerkannten Spam schicken Sie mit der Funktion submitSpam(), False Positives mit der Funktion submitHam() an Akismet:

$akismet->submitSpam();

beziehungsweise

$akismet->submitHam();

Akismet erfüllt alle Anforderungen an eine funktionale Spam-Abwehr. Wem dieser Schutz nicht reicht, der kombiniert den Dienst mit zusätzlichen Schutzmaßnahmen wie Bad Behavior (), das Spam teilweise schon vor der Einlieferung abwehrt.

Einziger Haken von Akismet: Der Spamfilter ist derzeit im Schussfeld der Datenschützer, weil User-IP-Adressen gespeichert und übermittelt werden. Details dazu im WebPro-Blog unter .