Po přechodu na doménu druhého řádu se mi stala nepříjemná věc – novou doménu si oblíbili i spam boti.
Během noci robůtci vytvořili několik účtů, „napsali“ pár komentářů. Ráno jsem tedy všechen ten balast promazal a IP adresy odesílatelů (především z Ruska a Ukrajiny) zabanoval a počítal s tím, že budu mít nějakou dobu pokoj. Další ráno však situace podobná – další boti si hráli. Tak jsem v nastavení systému zapnul zaregistrování účtu až po potvrzením e-mailem a začal jsem uvažovat že ke komentářům budu muset dát captchu, či nějaké podobné ověření „Jste člověk?“. Na druhou stranu captchu nemám zrovna v lásce, to opisování většinou nečitelného kódu mě nebaví a totálně odrazuje od přidávání nějakých komentářů.
Ten den jsem se ještě bavil s kamarádem Arxeissem, který mi řekl že ti boti se snaží vyplnit všechny políčka (inputy) tak ať udělám jeden input navíc, skryji ho přes CSS a při odesílání formuláře (pro registraci, přidání komentáře apd.) kontroluji jestli je v něm něco zadáno – pokud je, jedná se o bota a komentář nepřidávat. Tento nápad se mi velmi zalíbil, protože mi usnadní práci (nemusím mazat nesmyslné komentáře od botů) a přitom stále nijak neomezuje „normální“ lidi.
Tímto jednoduchým řešením jsem se zbavil většiny nežádoucí aktivity na webu. Hodně o tomto řešení se dá dočíst i na internetu, někteří doporučují pojmenovávat ten skrytý input nějak lákavě pro boty (typicky jako URL, message, name, …).
Příklad
<input type="text" name="URL" style="display:none;"/>
Komentáře
Zasílate odpověď ke stávajícímu příspěvku (zrušit).