трънки и блогинки

Гаус и защитата от спам коментари

Написано на: 28.05.2007 · 15 коментара

Учителят на малкия Гаус (познат предимно от банкнотата от десет дойчмарки) го мързяло и затова той дал на учениците си задача, която да ги ангажира за дълго. Децата трябвало да намерят сбора на всички числа от едно до сто и учителят разумно предполагал, че това ще ги ошемети да събират и няма да го занимават със себе си. Да, само че само няколко минути били нужни на Гаус да даде отговора, който и самия учител не знаел. Методът му бил изключително прост и се базирал на наблюдението, че 100+1 е равно на 99+2, 98+3, 97+4 и така до 50+51. На него му било нужно единствено да умножи 101 по петдесетте двойки, който давали този сбор, за да намери отговора. Като пораснал си развил идеята, до едни значително по-сложи нива.

Едно от следствията на неговите разработки има отношение към защитата от спам коментари, която иска от потребителя да събере две числа (колко е 2+2) и която Антония е въвела, а Еленко ползва от повече време. Проблемът, който двата плъгина за WordPress е че генерирането на случайни числа за събиране, води до различна вероятност за възможните отговори. Тоест, в горните два блога е десет пъти по-вероятно отговорът на случайно поставената задача да е 11, отколкото 2 или 20. Най-вероятно е да сбора на първото и последното число и вероятността постепенно намалява докато докато стигне до стойностите на първия и последния член на редицата умножени по две. Ето пример, който показва броя възможни комбинации за всеки отговор.

Възможно решение е да се започне със генерирането на случаен отговор и от него да се определят числата, които ще се събират. Нещо подобно на:
$first = 1 ;
$last = 10;
$answer = rand( $first*2, $last*2 );
$operand1 = rand($first, $answer);
$operand2 = $answer-$operand1; // възможно е $answer +0

Но най-добре да не се ползват такива защити, защото те наистина ми бъркат в здравето и може би след изискването за регистрация, са най-честата причина да страня от местата, където ги изискват.

Категория: за шанса

15 коментара ↓

  • Хубаво ми е, когато хората коментират. Чета внимателно всеки коментар и отговарям, когато имам какво да кажа.

  • Антония на 28.05.2007г. в 20:44ч.

    Ама нали не е голяма досада да се попълва поленцето на math плъгина? На мен ми се струва, че е най-най-малко дразнещия метод за отсяване на по-голямата част от ботовете – captcha-та например е доста по-крива. Или..?

  • Longanlon на 28.05.2007г. в 21:10ч.

    В блога на Еленко съм постнал само един коментар до сега и докато попълвах формата на въпроса „Колко прави 2+5“ помислих, че е някаква ебавка и написах „Колкото си иска“…

  • dzver на 28.05.2007г. в 22:24ч.

    Регексп е истината.

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

  • Бобсън на 28.05.2007г. в 22:52ч.

    доколкото знам на банкнота от DM10 не фигурира даскала на КФ Гаус, който даскал най ме е впечатлил с реакцията си на случая. Даскалът се погрижил да бъде запратен малкия Карл на обучение при математици, които да могат да оценят таланта му…

  • Are you kidding me? на 29.05.2007г. в 00:35ч.

    „Aнти-spam мерки: Колко прави четири + девет ?“
    Това пък е егати жалката, смешна защита. Всяко скрипт киди ще ти я преодолее :) Не случайно се слагат снимки и то с разместени букви, конфети и т.н. за да не могат ОЦР програмите да се справят със „защитата“.
    Ако не вярваш мога да ти демонстрирам колко струва защитата :П

  • пейо на 29.05.2007г. в 09:56ч.

    @ Антония
    Прекарвайки целия си ден онлайн, аз съм станал много претенциозен и затова може да не ме считаш за представително мнение. Но да – подобни неща ме спират.

    @ Longanlon
    „Колото каже султана“ както се казваше в един стар виц :))

    @ dzver
    Аз съм си мислил за условно показване на картинка като компромис, което примерно се изисква само ако има url-ли. Друга идея за по-тъпите ботове е да заместя традициония файл wp-comment.php с пренасочване към някой многомегабайтов файл (примерно някой MS download), за да им осигуря уплътняване на трафика.

    @ Бобсън
    Прав си. Неграмотен съм и това е.

    @ Are you kidding me?
    Съгласен съм, че е по-лесно, но е неефикасно. Имайки предвид как работят спамещите гадове е по-изгодно да се изпозва шанса, който при мащаба на операциите им (използване на зомбирани станции) ще даде по-добри резултати, отколкото създаването и оперирането на ocr програмче на една или няколко машини, които могат да бъдат blacklist-нати лесно.

  • Michel на 29.05.2007г. в 11:12ч.

    Попълването на резултат „5+5 равно на…“ е лесно и недосадно според мен:) Много по-добре от captcha размазаните скапани графики;-)

    Иначе, има и ПО-ЛЕСНИ начини разбира се, но някой трябва да измисли и напише plugin…

    Пример?

    Добавя се checkbox: [o] This message is not spam (required)

    Хората ще го маркират и коментарът ще мине. Спам ботовете – надали, особено ако коментарът се публикува след preview.

    Вариант две – добавя се едно поле във формата за коментар. Със CSS се прави „невидимо“ (display: none). Във формата след това се задава проверка: ако това невидимо поле е попълнено, значи коментарът е спам (by default спамботовете попълват всичко). до полето може и да се изпиши: НЕ ПОПЪЛВАЙТЕ. (Ако страницата се зареди без CSS). хората ще прочетат, спамботовете – няма да могат да знаят, какво е НЕ ПОПЪЛВАЙТЕ, защото те не „умеят“ да четат;-)

    И готово.

    Супер лесно.

    И няма нужда от попълване на captcha, maptcha, смятане и тн…

    Ама… още не съм седнал да пиша този plugin, мързи ме :)

  • Longanlon на 29.05.2007г. в 11:45ч.

    това последното е супер хитро, човече!

  • Michel на 29.05.2007г. в 13:06ч.

    @Longanlon:

    Аха, много е хитро :)

    Виждал съм го в един-два сайта (по-точно, не съм го виждал;-) …и не мисля, че някой е направил плъгинче за WordPress, което да е толкова просто – да прави проверка, дали едно скрито поле е попълнено или не е, ако спре да ме мързи, току-виж сам ощастливил половината блогърли по света с „WordPress Anti Spam Plugin Which Doesn’t Require Any user Input and Works 99.99% Perfect“ ;-)

  • Michel на 29.05.2007г. в 13:08ч.

    „половината БЛОГЪРИ“, сорри ;-D

  • Георги на 29.05.2007г. в 15:54ч.

    Бацета, картинки е истината.

    1. Това в „колко прави едно + две“ за половин час някой е написал парсър за него. При достатъчно желание може да започне да ти отговаря и кога е създадена първата българска държава и т.н.

    2. Checkbox и превю само ще дразни. Има го този вариант по блоговете, трябва да кликаш като хамалин.

    3. Това с невидимото поле … аз ако съм на мястото на спамъра, ще ти дойда на блог, ще събмит-на 1-2 пъти и като схвана за какво става въпрос ще напиша бот-а, който няма да ти попълва полето.

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

  • Michel на 29.05.2007г. в 16:37ч.

    @георги:

    1. Това може да се усложни леко. Освен това, работи на много сайтове и е ефективно. Значи, може и без картинки;-)

    2. Checkbox не е дразнещо. Име, email, www, [x] маркирай тук ако не е СПАМ, готово. Нито сложно нито дразнещо! А Preview-то е готин feature, защото ти позволява да видиш как ще изглежда коментарът ти преди да натиснеш SUBMIT (не е свързано с анти-спам меркит, но блоговете, които го имат, са много, и е добре да имаш preview). :)

    3. Ти ако си на мястото на спамъра, никога няма да дойдеш на сайта ми:) Ще пратиш вместо това 1000 тъпи бота да спамват всички сайтове в интернет, които не са защитени с нищо, и това е. Ти кога си видял жив спамър да попълва форми и полета, пък били те скрити или не? ;-) Има много сайтове, които се пазят с такова невидимо поле и работи 99.999%. Ботовете не са интелигентни. Нито четат нито разбират нищо. Просто вкарват боклук в отворени форми. Мисля, и че не могат да OCR-ват, нещо легенди се носят ама надали е вярно… :)

    Cheers :)

  • turin на 29.05.2007г. в 20:30ч.

    Да си кажа и тук – понеже тихичко се прокрадваше думата “картинка” (ех, „Вчера“)… Нали ви казвам – ползвайте reCAPTCHA. Хем върши работа, хем помага на смислен проект. Е, разбира се, Captcha и reCAPTCHA остават с един основен проблем – ограничават достъпа на незрящите читатели, защото екранните четци не се справят с картинките.
    Но ако изобщо ще се ползва защита с картинки, определено трябва reCAPTCHA

  • Пешо на 30.05.2007г. в 17:51ч.

    reCAPTCHA си има и звуково възпроизвеждане… То и на CAPTCHA може да се спретне.

  • sQAEERTE на 19.06.2011г. в 01:05ч.

    C’est trиs facile! Dиs que vous passez une commande sur notre site, vous кtes automatiquement inscrit dans notre programme de remise et commencez а en profiter dиs votre prochaine commande. Votre remise augmentera avec chaque nouvelle commande.
    ,site de pharmacie en ligne
    caverta 100 mg
    Cosmetique
    buy cheap tramadol