Може да сте забелязали, но освен име, e-mail и URL, в optimiced вече има и четвърто поле за попълване във формата за коментар, което е задължително – “Колко прави … (примерно, 2+3)?”.

По принцип, не получавам много блог спам в българската версия на моя блог — веднъж-дваж дневно пристига по някой коментар, призоваващ ме да си купя V1AG$A или някоя друга глупост, но той се хваща в 100% случаите от Akismet и само трябва да му хвърля по едно око и да го изтрия… (имам и други анти-спам защити, но за тях по-късно)

Причината да засиля малко анти-спам защитите вчера беше ето тази глупост, която получих съвсем наскоро:

SPAM comment!

(Линкът в картинката води към пълния вариант на спам съобщението)

След като прехвърлих набързо текста на коментара, дълъг около 3-4 екрана (!), и пълен с тъп запълващ текст и още по-тъпи спам линкове, чашата преля и си казах, за какъв дявол ми е притрябвало да преглеждам ръчно тези боклуци всеки ден??? Малко ли ми е спамът в пощите? Време е за промяна:)))

Речено-сторено!

Добавих още една защита и сега имам три нива на анти-спам в блога:

Ниво I: Коментари

Първо, когато публикувате коментар, е необходимо да се уверя, че вие сте човешко същество, а не спамбот (spambot, съкратено от SPAM Robot).

За целта сложих изключително простия и ефективен Math Spam Protection plugin на Michael Woehrer. Променил съм единствено настройките на плъгина, за да бъдат още по-прости нещата. Вместо да събирате числата от 1 до 10, ще събирате само числата от 1 до 5. Не знам, дали ще е достатъчно ефективно така, но следващите дни са за тестване:)

Между другото, същия плъгин, и то с голям успех, вече ползвам от доста време в английската версия на optimiced, където спамът беше осезаемо повече.

Принципно, бих могъл да ползвам и plugin’а Без шльокавица — в момента версия 0.01 — но дори и той невинаги ще бъде 100% подходящ, поради две причини:

  • Макар че предпочитам всички мои читатели да пишат на кирилица в моя блог, не съм забранил използването на латиница по принцип. Може да се случи българин от чужбина да иска да остави две думи под някой блог пост, и да няма инсталирана кирилица. Може някой да не знае за безплатните инструменти за превръщане на латиница в кирилица. Причините може да са много. В най-лошия случай, ще прочета коментара, след като е публикуван, и ако си струва, ще го “преведа” на кирилица. Предпочитам така, отколкото да забраня пропускането на тези коментари по принцип.
  • Макар и малко вероятно, може да получа коментар от човек, който не разбира български. Случвало ми се е. В такъв случай, съобщението “Пишете на кирилица!” при опит някой публикува своя коментар, който е написан на английски (например), е съвсем вероятно да не бъде разбрано, и съответно, коментарът няма да бъде публикуван. Not nice!

Ще експериментирам още. Сигурен съм, че има и по-лесни начини за защита от СПАМ от тези с използването на плъгини за разпознаване на кирилицата или пък за събиране и изваждане на числа, но засега – толкова:)

Ниво II: Pingback & Trackback спам

Този спам е също много разпространен.

Този спам го боря лесно с Simple Trackback Validation plugin. Какво прави той? При опит да бъде публикуван спамърски линк като pingback или trackback, този плъгин посещава URL-то на страницата, откъдето идва линкът, и ако там не съществува линк към съответната страница в optimiced.com, спам pingback/trackback коментарът просто се изтрива. End Of Story:)

Естествено, вместо да бъде изтрит, pingback/trackback коментарът може да бъде задържан за модерация или flag-нат като спам (ако използвате плъгин като Akismet), но в повечето случаи това не е необходимо – ако някой линква към ваш пост, няма как от линкващата страница да няма линк към вас. Ако няма, значи, най-вероятно е спам:)

Мога да препоръчам този плъгин на всеки, който има проблеми с pingback/trackback спама в своя блог! :-)

(Забележка: В WordPress 2.3 и по-стари версии има бъг – ако URL-то при Pingback е по-дълго от 200 знака, то се отрязва. Това е проблем, когато получавате pingback от сайтове, където post slugs са на кирилица, защото те се encode-ват със странни знаци от този вид: “%d0%91%d0%9e%d0%9f” и често са над 200 знака. Това означава и че при опит за посещаване на страницата, откъдето идва линкът, плъгинът може да срещне грешка 404, затова за всеки случай може да оставите блокираните коментари за модерация.)

Ниво III: Akismet

Последно препятствие пред потенциалните спамъри е едно активирано копие на Akismet. Ако даден коментар мине първите ‘бариери’, и все пак изглежда подозрителен, почти 100% сигурно е, че ще бъде хванат и блокиран от Akismet. Случвало ми се е истински коментари да бъдат блокирани от него, но затова имам и опцията да прегледам коментарите ръчно и да ги пропусна, ако са ОК.

Но като цяло, такива случаи са рядкост, и това последно ниво на защита работи доста добре:)

Вместо заключение

Не обичам твърде сложните решения, затова харесвам плъгините Math Comment Spam Protection, Simple Trackback Validation и Akismet.

Ползват се лесно, настройват се лесно, и са приятно ефективни!

И с нетърпение чакам момента SPAM-ът да изчезне от лицето на земята!

(Надявам се за целта да не бъде необходимо да бъдат извършени поръчкови убийства на всички по-големи фигури в SPAM бизнеса:-D)

13 thoughts on “WordPress анти-спам мерки (3 препоръчани плъгина)

  1. Неведнъж съм споменавал, че в такива случай подхождам с голямата лопата, а именно .htaccess. Хващаш IP-тата на всичкия SPAM който получаваш, в ripe.net гледаш каква е маската на провайдъра и в htaccess пишеш следното:

    SetEnvIf Remote_Addr “^85.140” mtu_ru_1
    SetEnvIf Remote_Addr “^91.7[6-8]” mtu_ru_2
    SetEnvIf Remote_Addr “^83.237.[0-6]” mtu_ru_3
    order allow,deny
    allow from all
    deny from env=mtu_ru_1
    deny from env=mtu_ru_2
    deny from env=mtu_ru_3

    Резултата говори сам:

    403 Forbidden 20118

    Над 20 хиляди рекуеста са получили грешка 403. Иначе ако средния размер на страницата ти е 20KB x 20000 са ти над 300MB трафик :)

  2. Вместо три, аз използвам само едно – AuthImage. Представлява поле за въвеждане на символи. Има доста опции, може да се настройва както визуално, така и функционално. Можеш да го направиш да иска само една цифричка за въвеждане :) Ползвам го над година и НИТО ЕДНО спам-съобщение не е преминало. А иначе идват на талази. Единствения недостатък е, изображението expire-ва след някакъв период от време. Тоест ако заредиш страницата и опиташ да публикуваш коментар чак след тридесетина минути, примерно… няма да стане, трябва презареждане.

  3. Ползвал съм ги, но беше преди време, когато спамботовете още не ме бяха надушили. Днес попаднах на един нов и интересен плъгин, който пуснах единствено в комбинация с Akismet(който и нямам намерение да изключвам изобщо). Става въпрос за bcSpamBlock – използва криптирани стойности, не изисква пхп сесии и не пише в базата. Също не записва и по файлове. Хубавото е, че работи и за тези, които са си изключили JS на браузъра, като на тях им се появява поле в което да въведат генериран низ. Пази и trackbacks и pingbacks. Дал съм му шанс, пък да видим резултата.

  4. @Георги:

    Може и така. Ами ако ми пише човек от същия IP range, който не е спамър? А и трябва да въвеждам ръчно IP-тата, не ми харесва това… Иначе е много хитър начин да спреш спама от определена точка на света:)

    @cx:

    Ами, мисля, че решението с простата математическа задача е по-удачно. Причината е в това, че ще работи и за хора, които не виждат и четат блоговете със screen readers. Не искам да им показвам картинка, за да пуснат своя коментар, защото това не е възможно за тях… Колкото до проблема с expire-ването на картинката, да, това не е добре. Може да го оправиш, като редактираш ръчно кода на плъгина и го направиш така, че да не ти изтрива коментара, когато изображението е с изтекло време, а да дава възможност за връщане назад, корекция на отговора и пропускане на коментара. Иначе това може да отблъсне много потребители… (Аз рядко посещавам два пъти блог, където съм се опитал да оставя дълъг коментар, и той е бил изтрит от неизпипана анти-спам защита…) Представи си го от потребителска гледна точка :)

    @Casper:

    Звучи интересно, може да пробвам и bcSpamBlock след време:)

    @Николай:

    Благодаря за update-а! Може ли да се помисли за вариант, при който, освен че ще излиза съобщение за грешка на BG и на EN, ще се дава някаква алтернатива за пропускане на коментара, въпреки че в него няма кирилица?… Би било супер така! :-)

  5. Засега можеш да укажеш, че не искаш да бъдат спирани коментарите на кирилица за определена публикация. Това работи за писания на английски, например.

    Мислих си в съобщението за грешка да пише и e-mail-а на автора на публикацията, та да може да се свърже с него коментиращия.

    Или пък може да има указания как да се копира един кирилишки символ и коментара да се пусне пак.

    Като стана дума за анти-спам разширения и ви се експериментира, може да ползвате алтернативата на Akismet — Defensio.

  6. @Николай:

    Да, но ако писанието ми е на български, но някой англоговорящ коментира снимка, например? Вероятността е супер-малка (по-малко от 1%) и все пак, съществува…

    Иначе в английската версия на моя блог изобщо не мога да мисля за такъв плъгин — там 100% от съдържанието е на английски… :-)

  7. Ха! От обяд днес вече нямам спам. Благодаря ти за полезната информация!

    От едно известно време ме бяха налазили разни спамове от Blogspot, които пускаха фалшив тракбек и успяваха да излъжат Spam-karma, че имат по 199 предишни одобрени коментара, при което тя им дава 1000 точки карма. Благодарение на Simple Trackback Validation нито един не е пробил :)

  8. @Longanlon:

    Молиф;-) Радвам се, че съм бил полезен!

    Simple Trackback Validation е доста добър, наистина — ценно откритие в борбата срещу trackback/pingback спама:)

Leave a Reply

Your email address will not be published. Required fields are marked *