WordPress анти-спам мерки (3 препоръчани плъгина)
Може да сте забелязали, но освен име, e-mail и URL, в optimiced вече има и четвърто поле за попълване във формата за коментар, което е задължително – “Колко прави … (примерно, 2+3)?”.
По принцип, не получавам много блог спам в българската версия на моя блог — веднъж-дваж дневно пристига по някой коментар, призоваващ ме да си купя V1AG$A или някоя друга глупост, но той се хваща в 100% случаите от Akismet и само трябва да му хвърля по едно око и да го изтрия… (имам и други анти-спам защити, но за тях по-късно)
Причината да засиля малко анти-спам защитите вчера беше ето тази глупост, която получих съвсем наскоро:
(Линкът в картинката води към пълния вариант на спам съобщението)
След като прехвърлих набързо текста на коментара, дълъг около 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 comments |
1 November 19th, 2007 at 22:38
Неведнъж съм споменавал, че в такива случай подхождам с голямата лопата, а именно .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 November 19th, 2007 at 22:41
Вместо три, аз използвам само едно – AuthImage. Представлява поле за въвеждане на символи. Има доста опции, може да се настройва както визуално, така и функционално. Можеш да го направиш да иска само една цифричка за въвеждане :) Ползвам го над година и НИТО ЕДНО спам-съобщение не е преминало. А иначе идват на талази. Единствения недостатък е, изображението expire-ва след някакъв период от време. Тоест ако заредиш страницата и опиташ да публикуваш коментар чак след тридесетина минути, примерно… няма да стане, трябва презареждане.
3 November 19th, 2007 at 22:44
срам, срам… спам, спам…
4 November 20th, 2007 at 00:09
[…] се бях научил да се протектвам добре с разни плъгини. (я вижте Мишел какво ще ви посъветва) Та отговориха ми бързо с няколко убиди, и реших да […]
5 November 20th, 2007 at 12:53
Ползвал съм ги, но беше преди време, когато спамботовете още не ме бяха надушили. Днес попаднах на един нов и интересен плъгин, който пуснах единствено в комбинация с Akismet(който и нямам намерение да изключвам изобщо). Става въпрос за bcSpamBlock – използва криптирани стойности, не изисква пхп сесии и не пише в базата. Също не записва и по файлове. Хубавото е, че работи и за тези, които са си изключили JS на браузъра, като на тях им се появява поле в което да въведат генериран низ. Пази и trackbacks и pingbacks. Дал съм му шанс, пък да видим резултата.
6 November 20th, 2007 at 15:10
Всъщност вече има версия 0.02 на Без шльокавица — съобщението вече го пише и на английски. Просто съм забравил да обновя публикацията в блога :-)
7 November 20th, 2007 at 16:08
@Георги:
Може и така. Ами ако ми пише човек от същия IP range, който не е спамър? А и трябва да въвеждам ръчно IP-тата, не ми харесва това… Иначе е много хитър начин да спреш спама от определена точка на света:)
@cx:
Ами, мисля, че решението с простата математическа задача е по-удачно. Причината е в това, че ще работи и за хора, които не виждат и четат блоговете със screen readers. Не искам да им показвам картинка, за да пуснат своя коментар, защото това не е възможно за тях… Колкото до проблема с expire-ването на картинката, да, това не е добре. Може да го оправиш, като редактираш ръчно кода на плъгина и го направиш така, че да не ти изтрива коментара, когато изображението е с изтекло време, а да дава възможност за връщане назад, корекция на отговора и пропускане на коментара. Иначе това може да отблъсне много потребители… (Аз рядко посещавам два пъти блог, където съм се опитал да оставя дълъг коментар, и той е бил изтрит от неизпипана анти-спам защита…) Представи си го от потребителска гледна точка :)
@Casper:
Звучи интересно, може да пробвам и bcSpamBlock след време:)
@Николай:
Благодаря за update-а! Може ли да се помисли за вариант, при който, освен че ще излиза съобщение за грешка на BG и на EN, ще се дава някаква алтернатива за пропускане на коментара, въпреки че в него няма кирилица?… Би било супер така! :-)
8 November 20th, 2007 at 17:02
Засега можеш да укажеш, че не искаш да бъдат спирани коментарите на кирилица за определена публикация. Това работи за писания на английски, например.
Мислих си в съобщението за грешка да пише и e-mail-а на автора на публикацията, та да може да се свърже с него коментиращия.
Или пък може да има указания как да се копира един кирилишки символ и коментара да се пусне пак.
Като стана дума за анти-спам разширения и ви се експериментира, може да ползвате алтернативата на Akismet — Defensio.
9 November 21st, 2007 at 16:13
@Николай:
Да, но ако писанието ми е на български, но някой англоговорящ коментира снимка, например? Вероятността е супер-малка (по-малко от 1%) и все пак, съществува…
Иначе в английската версия на моя блог изобщо не мога да мисля за такъв плъгин — там 100% от съдържанието е на английски… :-)
10 November 29th, 2007 at 17:10
Ха! От обяд днес вече нямам спам. Благодаря ти за полезната информация!
От едно известно време ме бяха налазили разни спамове от Blogspot, които пускаха фалшив тракбек и успяваха да излъжат Spam-karma, че имат по 199 предишни одобрени коментара, при което тя им дава 1000 точки карма. Благодарение на Simple Trackback Validation нито един не е пробил :)
11 November 29th, 2007 at 17:12
@Longanlon:
Молиф;-) Радвам се, че съм бил полезен!
Simple Trackback Validation е доста добър, наистина — ценно откритие в борбата срещу trackback/pingback спама:)
12 January 19th, 2008 at 15:17
[…] се бях научил да се протектвам добре с разни плъгини. (я вижте Мишел какво ще ви посъветва) Та отговориха ми бързо с няколко обиди, и реших да […]
13 June 7th, 2008 at 09:33
[…] които се маскират като тракбек и акисмета не ги лови. Мишел обаче осветли тежкото ми битие с разкритието, че това плъгинче просто проверява дали […]