Sblam Spam
Ostatnia zmiana 29.07.2007 - wersja 0.9, wymaga PHP5 (paczka zawiera skrypt kliencki Sblam! wersja 1.3) - pobierz archiwum zip lub tgz.
Uwaga!
- Jeżeli aktualizujesz wtyczkę z wersji starszej niż 0.7, usuń w pliku szablonu comments.php odwołanie do pliku sblam.js.php.
- Jeżeli aktualizujesz wtyczkę z wersji starszej niż 0.8 i używałeś konta API, otwórz plik wtyczki sblam.wp.php, skopiuj swój klucz API i po instalacji wklej w ustawieniach w panelu administracyjnym.
Dziś światło dzienne ujrzał, stworzony przez Kornela Leśnińskego, nowy filtr antyspamowy do formularzy na stronach WWW: Sblam!. Więcej informacji o sposobie jego działania znajdziecie na stronie domowej filtru. Tutaj natomiast krótkie info jak go zaaplikować w system blogowy WordPress w postaci pluginu.
Działanie
W pierwszej kolejności uwzględniane są ustawienia WordPress odnośnie komentarzy (ilość linków, moderacja wszystkich, zakazane słowa). Dopiero po pomyślnym przejściu przez wbudowany system (komentarz nie jest oznaczony jako spam lub do moderacji) jest przekazywany do filtru antyspamowego, który poddaje go czterostopniowej ocenie. Jeżeli jest to pewny spam, zostanie oznaczony jako spam (do WP istnieje wtyczka, przy pomocy której można przeglądać/usuwać komentarze oznaczone jako spam: Spam Viewer). Jeżeli istnieje podejrzenie, że komenatrz jest spamem, zostanie on przesunięty do moderacji. W każdym innym przypadku komentarz zostanie dodany (100% czysty lub prawdopodobnie czysty).
W przypadku wystąpienia błędu podczas sprawdzania komentarza przez filtr, na adres email administratora instalacji WP zostanie wysłana informacja z jego treścią. Co się dzieje w takim przypadku z komentarzem? W opcjach wtyczki (Panel administracyjny - Opcje - Sblam Spam) możemy ustalić czy komentarz zostanie dodany, czy też wyląduje w poczekalni (default).
Trackbacki/pingbacki obecnie przenoszone są do moderacji, aczkolwiek można zmienić w opcjach, aby były dodawane bezpośrednio do listy komentarzy (filtr jak na razie nie jest przystosowany do ich sprawdzania).
Instalacja
- Pobieramy plugin wraz klientem Sblam! (zip lub tgz)
- Zawartość rozpakowujemy do katalogu z pluginami WP (wp-content/plugins)
- Aktywuj plugin w panelu administracyjnym
- Podaj (lub wygeneruj nowy klucz API) w opcjach (Panel administracyjny > Opcje > Sblam Spam)
- Opcjonalnie zainstaluj wtyczkę do podglądu i usuwania spamu z bazy danych
Test działania
Dodaj komentarz o treści: to jest test spamu
Powinien on zostać dodany do moderacji, a w obrębie komentarza pojawi się info o oczekiwaniu na sprawdzenie przez administratora bloga.
Dodatkowe funkcje
Wstaw w szablonie (np. w pliku footer.php) funkcję:
<?php sblam(); ?>
by wyświetlić ilość zablokowanego spamu.
Funkcja z argumentem true zwraca samą wartość.
ToDo
- a może by tak całkiem usuwać pewny spam, w ogóle nie dodawać do bazy?
przezroczyste dla użytkownika błędy połączeń filtru z “serwerem matką”informować zalogowanego użytkownika, jeżeli jego komentarz trafił do moderacji (na pierwszy rzut oka nie da się)- wyprowadzono w ostatnich wersjach WP- sprawdzanie trackbacków/pingbacków
- strona opcji, przeglądarka spamów, raportowanie błędnego spamu
Changelog
- 0.9
- kompletna przebudowa kodu - przekazywanie danych komentarza poprzez funkcje wbudowane WP (działa z pluginem OpenID i innymi co “czyszczą” tablicę $_POST)
- funkcja sblam_count() zastąpiona sblam() (poprzednia na razie działa)
- 0.8 ustawienia przeniesiono do PA
- 0.7.1 brak globalnej zmiennej określającej typ komentarza przy sygnałach pingback powodował błąd filtru - dodano niezależne jej przekazywanie
- 0.7 automatyczne załączanie kodu JavaScript wspomagającego filtr antyspamowy
- 0.6
- wtyczkę dostosowano do nowej wersji filtru
- nowa funkcja sblam_count() - zwraca ilość zablokowanego spamu
- kilka drobiazgów
- 0.5 dodano obsługę kluczy API oraz poprawiono kilka drobiazgów
- 0.4 każdy trackback/pingback był błędnie interpretowany przez filtr jako spam (Sblam obsługuje na razie tylko komentarze), obecnie są one wyłapywane i przekazywane do moderacji; rozróżnianie zalogowanych użytkowników
- 0.3 dodano wychwytywanie błędów filtru
- 0.2 uwzględnia zawartość zmiennej $approved przekazanej z WP
- 0.1 pierwsza wersja
May 31st, 2007 at 19:06
Ogromne słowa uznania i podziękowania za wtyczkę, póki co jest niezawodna - mam nadzieję, że tak pozostanie :)
June 12th, 2007 at 10:02
czy wtyczkę można stosować jednocześnie z innymi pluginami antyspamowymi, np. Akismet?
June 12th, 2007 at 15:09
W zasadzie nie ma przeciwwskazań. Ale nie widzę też sensu podwajania ;)
Teoretycznie powinno to działać tak:
- Akismet: komentarz będzie sprawdzany zawsze przez oba filtry. Jeżeli Akismet stwierdzi spam, nadpisze to co stwierdził Sblam.
- SpamKarma2 - tutaj należy rozróżnić dwa przypadki:
a. plugin SK2 ładowany przed Sblam: jeżeli SK2 rozpozna spam, Sblam nie będzie sprawdzał komentarza. W przeciwnym wypadku komenatrz zostanie sklasyfikowany przez Sblama.
b. plugin Sblam ładowany przed SK2 - tak jak z Akismetem.
September 21st, 2007 at 07:56
[...] Visit [...]
October 5th, 2007 at 20:24
Nie wiem czemu, ale wtyczka nie chce działać mi z WordPressem 2.0.7…
Przy próbie włączenia wtyczki wyskakuje taki błąd:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /home/pl/public_html/wp-content/plugins/SblamWordPress/sblam.wp.php on line 17
Ktoś ma pojęcie o co chodzi??
October 6th, 2007 at 01:23
To kwestia wersji PHP, na serwerze masz czwórkę, a plugin wymaga piątki.
Znajdę chwilę czasu, to coś z tym zrobię.
October 6th, 2007 at 09:58
Na serwerze mam PHP4 i PHP5… widocznie domyślnie włączona jest czwórka… Dzieki za podpowiedź… Włączę piątkę i zobaczę co się dzieje…
November 11th, 2007 at 11:08
Udało się coś z tym PHP4 wymyślić? Jeśli nie, to która najwyższa wersja działa pod 4? Mam wciąż 0.5 i co jakiś czas dostaję informacje o błędach, choć nie wiem czy to związane jest z wtyczką akurat. :)
“Na Twojej stronie wystapil blad: Sblam: Niepoprawny rezultat otrzymany od serwera”
November 11th, 2007 at 13:53
Robert Drózd: Jak pisałem wyżej u mnie na serwerze są oba PeHaPy - 4 i 5 - pomogło ustawienie w .htaccess opcji, która domyślnie parsuje pliki .php za pomocą PHP5 : AddHandler application/x-httpd-php5 .php
Może u Ciebie też da się to jakoś włączyć, jeżeli PHP4 nie daje rady…
November 21st, 2007 at 02:19
Robercie Drózd, w przyszłym tyogodniu zejdzie mi z głowy jedna ważna rzecz, to postaram się znaleźć trochę czasu i jakieś satysfakcjonujące rozwiązanie.
March 20th, 2008 at 13:56
[...] Sblam Spam (http://blog.koloda.pl/sblam-spam.html) 0.9 [...]
December 11th, 2009 at 12:48
to jest spam ;)