Autor Zpráva
Watchick
Profil
zdravím, na stránce: http://travian.damak.cz/tips.php?id=32&str=1#676 jsem včera nainstaloval anitspam, protože se začaly rojit spammerksé programy...
Ale problém podle všeho nepřestal, pokud zadáte kód správně, příspěvek pošle, pokud špatně vyhodí error, tedy funguje, je možné žee roboti přečtou tento antispamový obrázek?
Co by jste doporučili jako další postup?
Taps
Profil
Watchick
http://php.vrana.cz/ochrana-formularu-proti-spamu.php
srigi
Profil
je možné žee roboti přečtou tento antispamový obrázek?
Je to velmi pravdepodobne.

Co by jste doporučili jako další postup?
Nasad Javascript. Pouzi dva radio boxy (Robot, Clovek), prednastav Robota na zakliknuteho a pomocu JS to prepni na Clovek a cely tento box skri. Radio buttony ale pomenuj nejako inak.
Watchick
Profil
Může pomoct tohle? http://travian.damak.cz/tips.php?id=32&str=1 schování příkladu do obrázku?
imploder
Profil
Můžeš vyzkoušet časový limit jako past na roboty. Od načtení formuláře se bude odpočítávat několik sekund a pak až se formulář bude dát poslat. Do té doby bude odesílací tlačítko javascriptem zašeděné (disabled), aby na to někdo neklikl. Robot asi nebude umět javascript, takže na to "klikne". Pokud se odešle formulář dřív (dal bych limit tak 10s, aby to zase neobtěžovalo normální návštěvníky), komentář se neodešle a limit se počítá odznova. Po několika takových pokusech by mohlo být varování a pak ban.

Captcha není moc vhodné řešení, člověk to musí psát a není až takový problém ji strojově přečíst (a u těch záludnějších s tím mívá problémy i člověk).

srigi
Radio box bych na něco takového nepoužil, robot má jenom 2 možnosti a je dost pravděpodobné, že to prostě zkusí přepnout a trefí se. Spíš nějaký kód v políčku hidden, doplňovaný javascriptovou funkcí nejlépe tak, že nikde v kódu nebude vcelku (tj. poskládání po kouskách). Nevýhoda ale pořád je, že pokud má někdo vypnutý JS, tak taky nic nepošle. Podobné řešení je i na této diskuzi, automaticky se doplní určité číslo do hidden inputu pokud je zapnutý JS, jinak se musí doplnit ručně.
Joker
Profil
imploder
Můžeš vyzkoušet časový limit jako past na roboty.
Ovšem robot zhusta funguje tak, že si načte a nějak vyplní ten formulář, to si někam uloží a potom se ta data snaží odesílat na adresu uvedenou v atributu action formuláře.
Tzn. když bude na formuláři skryté políčko s časem načtení formuláře, asi to robotům moc vadit nebude, protože si ten čas uloží při prvním načtení formuláře, takže mezi načtením a odesláním formuláře mohou uplynout třeba měsíce.

Může pomoct třeba tohle:
- Do formuláře se dá odesílací tlačítko (input type="submit"), přes CSS se schová (display:none), text se mu dá třeba "Zahodit příspěvek" a funkčnost přesně taková- při odeslání formuláře přes tohle tlačítko se příspěvek zahodí. Tohle tlačítko se pak ve formuláři umístí před skutečné odesílací tlačítko.
Člověk to tlačítko neuvidí, když uvidí neklikne a když klikne, bude funkčnost v souladu s popiskem :-). Naopak většina robotů CSS neumí a formulář buď odešlou prvním submitem, nebo alespoň ve snaze vyplnit všechna políčka formuláře to pole "Zahodit příspěvek" nastaví.

Zkoušel jsem to u sebe na webu a větší část robotů se na tohle skutečně nechala nachytat.
Pak ještě používám limit počtu odkazů v příspěvku- člověk narozdíl od spamrobota obvykle v jednom komentáři nenaposílá 10+ adres, zejména ne na webu, který adresy zobrazuje textově a ne jako odkazy :-D
imploder
Profil
Joker
Ovšem robot zhusta funguje tak, že si načte a nějak vyplní ten formulář, to si někam uloží a potom se ta data snaží odesílat na adresu uvedenou v atributu action formuláře.
Pokud si nejdřív načte větší množství formulářů a až potom je začne vyplňovat a odesílat, tak limit do té doby vyprší a pak to opravdu nefunguje. Netuším, jestli to někteří roboti dělají, běžně se pokusí odeslat formulář hned, a tak na ně časový limit funguje; v testu několikavrstevné antispamové obrany vyšla tahle jako nejúčinnější. Pokud robot formulář hned odešle, tak ničeho nedosáhne a časový limit běží odznova. Robota zpracovávajícího formuláře hromadně dávno po načtení nebo zpožděně ve frontě pochopitelně něco takového nezastaví.
EDIT: Skryté políčko s časem není potřeba, pokud se to udělá na straně serveru. Třeba takto: při každém vygenerování formulář dostane náhodné ID a toto ID se společně s aktuálním časem uloží na serveru a vloží se do formuláře jako hidden políčko. Pro přidání komentáře se pak ID musí najít a v čase (opět na straně serveru) musí být aspoň ten stanovený rozdíl. ID se smaže a komentář se vloží. Měl se ještě občas spouštět (cronem) údržbový skript, který bude starší ID mazat.

Není něco jako přehled běžně používaných spambotů a jejich chování? Hodně by to pomohlo při vymýšlení antispamu, takhle se dá jen dohadovat co asi teoreticky nějaký hypotetický robot udělá a testovat metodou projde/neprojde. Určitě by všem pomohlo mít o skutečně používaných spambotech nějaké konkrétní informace.
bohyn
Profil
Casovy limit nekteri SPAM boti uz umi obejit. Kdyz pochopi ze na strance je kontrola casu, posilaji formulare zpozdene. Zezacatku zkousi posilat furt stejny formular a ti chytrejsi se casem nauci formulare zpozdovat. Ostatni postupne odpadaji a odchazeji. V mem pripade se do finale propracoval (asi) jediny SPAM bot, ale ten trpi malou invenci v "boundary" (pouziva se pri uploadu souboru) a posila furt stejny retezec, takze ma taky smulu.
imploder
Profil
http://www.honeynet.org/papers/bots/

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: