Jakiś czas temu, gdy spam w akismecie przekroczył barierę krytyczną (na tą chwilę mam odfiltrowane poprzez Akismet ponad 30k sztuk spamu), zrobiłem sobie mały, prosty skrypt który odwiedza mi stronę w adminie WordPressa, zbiera odfiltrowane IP postów, i zapisuje mi je, odfiltrowując klasy adresowe z Polski. Skrypcik nazwałem asipht. Dzięki niemu mam mniej więcej podgląd na to, z jakiego IP najczęściej spam dostaję, i najbardziej wybitne persony dodaję bezwarunkowo do .htaccess, w którym mam też kilka klas adresowych zerżniętych chamsko od Mikołaja :)

Skrypt nie jest doskonały, powiedziałbym wręcz że dużo mu brakuje, ale nie chce mi się dodawać więcej funkcjonalności, starcza mi to co jest. Najbardziej przydałaby się opcja porządnego logowania do serwisu, ale w zamian tego podałem mu cookiesy uwierzytelniające z WP :)

Jak ja tego używam: raz dziennie sprawdzam sobie w akismet czy coś się nie zaplątało, jeśli nie to odpalam asipht, a następnie usuwam wszystkie spamowe komentarze (circa 200 dziennie, choć zdarzało się i 1.5k). Za pomoca drugiego skryptu, asiphtstats, podglądam jakie adresy IP “wygrywają” w konkurencji najwięcej spamu z jednego adresu IP, a później ręcznie dodaję sobie zwycięzców do .htaccess, zapewniając sobie tym święty spokój od tego pismaka :)

Gdyby ktoś był zainteresowany takim skrypcikiem, to używane przeze mnie pliki można sobie pobrać z adresu urzenia.net/wp-content/asipht/.

Acha, odnośnie konfiguracji (znajdującej się pod koniec pliku asipht):

c_user_n
nazwa cookie z nazwą użytkownika (coś w stylu: wordpressuser_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
c_user_v
zawartość tegoż cookie
c_pass_n
nazwa cookie z hasłem (np. ‘wordpresspass_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’)
c_pass_v
zawartość tegoż cookie
c_domain
nazwa domeny dla jakiej przeznaczone jest cookie
c_path
ścieżka dla cookie
url
pełen URL do strony z Akismet w naszym WP
savepath
określa ścieżkę zapisu pliku z zebranymi spamerskimi IP
whitelist
ścieżka do pliku z zakresami IP które nie będą dodawane do bazy, np: 217.119.64.0 217.119.79.255
pages
boolean, określa czy nasz Akismet stronicuje wyniki zebranego spamu (tak jak w nowej wersji), czy też nie (jak w starszej, lub zmodyfikowanej mojej :) )

Liczba komentarzy: 7

  1. 1 Był Czwartek, 28 grudzień 2006 roku gdy o godzinie 23:29 przyszedł Mikołaj i stwierdził:

    MySZ, zrób z tego wszystkiego plugin do WP (ponoć to nie jest trudne) i spraw, żeby działał z WP 2.1, która to wersja na dniach ma się pokazać. To dość skutecznie złoi tyłki spamerom ;)

  2. 2 Był Piątek, 29 grudzień 2006 roku gdy o godzinie 09:14 przyszedł MySZ i stwierdził:

    Zrobienie plugina nie jest trudne. Trudniejsze jest teraz przepisanie całego kodu do php (jest w pythonie), a póżniej upewnienia się czy jest funkcja fopen z włączoną możliwością otwierania zdalnych plików, a może czy jest curl, a może czy jest jeszcze coś innego, bo jak nic nie ma to nie będzie działać ;) (zakładając zasadę działania taką jak działa obecnie asipht).
    Poza tym, lepiej by było (skuteczniej) wtedy usiąść i zamiast parsować stronę, to po prostu samego plugina nieco dopicować ;) Ale ostatnimi czasy to mi się nieeeee chceeee…. ;)

  3. 3 Była Sobota, 06 styczeń 2007 roku gdy o godzinie 10:37 przyszedł Mikołaj i stwierdził:

    O tym, że Ty leń jesteś, to ja doskonale wiem ;)

  4. 4 Była Sobota, 06 styczeń 2007 roku gdy o godzinie 18:52 przyszedł MySZ i stwierdził:

    Nie Ty jeden ;)

  5. 5 Był Poniedziałek, 12 listopad 2007 roku gdy o godzinie 22:31 przyszedł Adam i stwierdził:

    A co dokładnie trzeba wpisać w .htaccess żeby zablokować ip robota?

  6. 6 Był Wtorek, 13 listopad 2007 roku gdy o godzinie 05:50 przyszedł MySZ i stwierdził:

    Deny from adr.es.ip.v4

    Ale lepszym rozwiązaniem jest Sblam!, który zautomatyzował i uregulował dokładnie to samo co robił asipht ;)

  7. 7 Była Sobota, 12 kwiecień 2008 roku gdy o godzinie 18:55 przyszedł Biter i stwierdził:

    Dobre rozwiązanie i przydatne bardzo, dzięki :)

A Ty? Co o tym myślisz?

Możesz używać w komentarzach następujących znaczników:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Sblam! Antyspam