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

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

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

API-Key kostenlos Den kostenlosen API-Key erhalten Sie im Zuge einer Registrierung auf der Website von . Aktivieren Sie die Option Just a username, please, damit dort kein Blog sondern nur ein Benutzername eingerichtet wird. Der API-Key wird Ihnen anschließend per E-Mail zugestellt. Er lässt sic...

API-Key kostenlos

Den kostenlosen API-Key erhalten Sie im Zuge einer Registrierung auf der Website von . Aktivieren Sie die Option Just a username, please, damit dort kein Blog sondern nur ein Benutzername eingerichtet wird. Der API-Key wird Ihnen anschließend per E-Mail zugestellt. Er lässt sich auch unabhängig von Wordpress-Projekten einsetzen.

Akismet trifft PHP5

Wer Akismet in ein eigenes Projekt integrieren möchte, der bedient sich dafür am besten der auf unter Development bereitstehenden Klassen für PHP, Ruby, Python, Java etc.

Für unser Beispiel verwenden wir PHP5Akismet 0.4 von Alex Potsides, das Akismet unter PHP5 implementiert und zu weiten Teilen auf Matt Mullenwegs Wordpress-Plugin basiert.

Nach dem Auspacken des Downloads übernehmen Sie die Klasse mit einem einfachen include-Befehl in Ihr Projekt:

include "Akismet.class.php";

Dann wird eine neue Instanz der Klasse erzeugt. Dabei übergeben Sie die URL der Website, auf der Sie Akismet einsetzen und Ihren API-Key:

$akismet = new Akismet("https://
internet-magazin.magnus.de", "ihr_apikey");

Mit der Funktion isKeyValid() überprüfen Sie die Funktionsfähigkeit Ihres API-Keys:

if($akismet->
isKeyValid()) {
echo "<h1>Der ApiKey ist ok.</h1>";
}
else {
echo "<h1>Der ApiKey ist ungültig.</h1>";
}

Nun können Sie die Kommentardaten an Akismet übermitteln. Üblicherweise stammen diese aus zuvor per Post übermittelten Formulardaten.

Zu Testzwecken setzen wir sie von Hand. Das Beispiel enthält einen Kommentar den Akismet als Ham erkennt.

$akismet->
setCommentAuthor("Justin Shreve");
$akismet->setCom
mentAuthorEmail("test@test.com");
$akismet->
setCommentAuthorURL("https://serenelabs.com");
$akismet->setCommentType("blog");
$akismet->setCommentContent("I
really agree with what you are saying!");

Bis auf setCommentType erklären sich diese Zeilen selbst. Über den optionalen Kommentartyp teilen Sie Akismet den Ursprung des Kommentars mit. Automattic hat die Typen comment, trackback und pingback definiert. Aber auch Eigenkreationen wie registration oder wiki sind erlaubt. Über

$akismet->setPermalink(,https://www.
example.com/blog/alex/someurl/');