Blog Roku

Jak bronić WordPressa przed spamem w komentarzach

Off 3
Jak bronić WordPressa przed spamem w komentarzach
0 votes, 0.00 avg. rating (0% score)

Jak bronić WordPressa przed spamem w komentarzach

We wrześniu ub.r. pisałem o wtyczce „Spam Free WordPress”, chroniącej bloga przed atakami botów, zamieszczających spamerskie komentarze. Wtyczka przez długi czas skutecznie chroniła InterJAK-a przed komentarzowym spamem, ale najwyraźniej akcja rodzi reakcję: pojawił się nowy rodzaj botów, atakujących o tyle sprytnie, że z pominięciem strony WWW. W efekcie zacząłem dostawać dziennie kilkadziesiąt „komentarzy” z anglojęzycznym bełkotem do moderacji. Trzeba było działać. Jak?

Spamerzy atakują bloga

Rozwiązanie znalazłem, grzebiąc w ustawieniach wtyczki Spam Free WordPress – była to wskazówka, dotycząca modyfikacji dwóch lub trzech skryptów, będących składnikami WordPressa. Anglojęzycznych Czytelników odsyłam od razu do źródła, a więc do tekstu „Block Remote Comments on a WordPress site”. Ze swojej strony mogę powiedzieć, że zalecane tam modyfikacje wykonałem, zajęło mi to kilka ledwie minut, a efekt jest taki, że boty odbijają się jak muchy od szyby: koniec spamu.

Boty, o których mowa, wykorzystują jako swoisty drogowskaz wyrażenie „comment”, zawarte w dwóch lub trzech plikach, współtworzących WordPressa. Mogą dzięki temu wysyłać „komentarze” do bazy danych bez odwiedzania strony. Jeśli nasz blog znajdzie się w spamerskiej bazie danych, będzie odtąd bombardowany obcojęzycznymi bredniami, oczywiście zawierającymi linki do cudzych stron. Kto – jak ja – moderuje komentarze, będzie miał masę niepotrzebnej pracy, kto nie moderuje – dorobi się „farmy linków”. A wystarczy zamienić w kilku liniach kodu wyrażenie „comment” na dowolne inne (byle to samo we wszystkich modyfikowanych liniach), by spamerska akcja spaliła na panewce.

Za autorem tego rozwiązania, Udarem Gromovem, podaję więc, że do wykonania są trzy etapy:

1. W głównym katalogu WordPressa znajdujemy plik „wp-comments-post.php”, a w nim linię:

$comment_content = ( isset($_POST[‚comment’]) ) ? trim($_POST[‚comment’]) : null;

i zamieniamy ją na:

$comment_content = ( isset($_POST[‚cosinnego’]) ) ? trim($_POST[‚cosinnego’]) : null;

Teraz możliwość komentowania jest w ogóle wyłączona (można sprawdzić).

2. W podkatalogu /wp-includes znajdujemy plik „comment-template.php”, a w nim linię:

<textarea id=”comment” name=”comment” cols=”45″ rows=”8″ aria-required=”true”>

i zamiast niej wstawiamy:

<textarea id=”comment” name=”cosinnego” cols=”45″ rows=”8″ aria-required=”true”>

Powinny być po sprawie. W tym miejscu należy wejść na stronę dowolnego wpisu i spróbować dodać komentarz. Jeśli się uda – gotowe.

3. Niektóre szablony WordPressa nadpisują jednak to, co powyżej – dlatego, jeśli próba wykonana po pkt. 2 wykazała, że nadal nie można komentować, trzeba zająć się edycją skryptu obsługującego komentarze w ramach szablonu. Powinien to być skrypt „comments.php”. Znajdujemy w nim linię:

<textarea id=”comment” name=”comment” cols=”45″ rows=”8″ aria-required=”true”>

…i znów zastępujemy, jak poprzednio:

<textarea id=”comment” name=”cosinnego” cols=”45″ rows=”8″ aria-required=”true”>

Oczywiście, przykładowe „cosinnego” to jedno i to samo wyrażenie we wszystkich modyfikowanych liniach.

Wszystkim, których dręczą spamerskie boty, polecam serdecznie 🙂

About the author / 

admin

Menu:

Losowe artykuły:

  • Internetowy vox populi staje się coraz głośniejszy

    Internetowy vox populi staje się coraz głośniejszy W Polsce zaczęło się to chyba od ACTA. Przypomnijmy: masowe protesty najpierw w Internecie, potem na ulicach, zmusiły rząd do zmiany stanowiska. To chyba ten sukces sprawił, że internauci, a przynajmniej pewna ich część, zaczynają łączyć się i wspólnie realizować jakieś cele. Pytanie tylko, czy zawsze słuszne. Po…

  • Rando: idiotyczne, ale wciąga

    Rando: idiotyczne, ale wciąga Jedną z pierwszych aplikacji, jakie zainstalowałem w smartfonie, był programik o nazwie Rando, słusznie nawiązującej do przypadkowości. Idea jest prosta: robimy telefonem zdjęcie i wysyłamy w świat, nie wiedząc, kto je otrzyma. W zamian otrzymujemy inne, również od „anonimowego darczyńcy”. W moim przypadku najpierw jakieś indywiduum trzykrotnie przysłało mi swój portrecik:…