Doporučujeme: Nejlevnější domény | Levný PHP webhosting | CZ doména zdarma | 60 GB FTP hosting | Ruby On Rails hosting | Italo.cz | Stahovač videí z YouTube

Můj blog – až 10 % špičkového kódu navíc!

Netradiční ochrana proti spam robotům

Datum: 23. 4. 2006 17.14 | Autor: Lukáš | 1948× | Kategorie: PHP | Komentáře: 4
Dneska jsem přemýšlel, jak zabezpečit Megaupload proti stahovačům ze zahraničí. Ač je to v pravidlech zakázané, je prostě každý druhý soubor mp-trojka. Mně to nijak nevadí, ale pokud by mě oslovil nějaký příslušný úřad, začal bych to mazat - teď nemám důvod, na 200 GB disk se toho vleze dost.
Ale zpátky k tomu omezení. Číselný kód je blbost - i lidé ze zahraničí umí číst, tohle by tak akorát zastavilo nějaké zbloudilé spamovací roboty, kteří by omylem kliknuli na "Stahuj". Chtělo to něco, co budou vědět jen Češi. A pak mě to napadlo. Před tím, než budete stahovat jakýkoli soubor, budete muset odpovědět na nějakou totálně primitivní otázku. Prozatím jsem tam umístil otázky na barvy aut. Jak jinak než přimitivní - na dotaz Jakou barvu má zelené auto? ví odpověď jen Čech (nebo Slovák). Zahraniční návštěvník si sice otázku může přeložit ve slovníku, ale pak už nedokáže dát odpověď do správného pádu - zelenou (ukázka). Pro české návštěvníky ze zahraničí, kteří nemají k dispozici českou klávesnici s diakritikou, je řešení jednoduché - musí tak dlouho obnovovat stránku, dokud se neobjeví otázka, na jejíž odpověď není potřeba diakritika.

A jak je to vůbec řešené?
V databázi mám uložené id otázky, otázku a odpověď, struktura tabulky vypadá takto:


CREATE TABLE `upload_otazky` (
 `id` int(11) NOT NULL auto_increment,
 `otazka` varchar(100) NOT NULL default '',
 `odpoved` varchar(15) NOT NULL default '',
 PRIMARY KEY (`id`),
 UNIQUE KEY `otazka` (`otazka`)
) ENGINE=MyISAM ;



U formuláře k stahování souboru stačí náhodně vybrat id a otázku - SELECT id,otazka FROM upload_otazky ORDER BY RAND() LIMIT 1 a dále vložit skrytý input, který bude obsahovat id aktuální otázky. Po odeslání (= kliknutí na "Stahuj") vyberu z databáze odpověď, která je u příslušného id (odesláného tím skrytým inputem) a porovnám ji s odeslanou odpovědí :). Pokud je vše v pořádku, pošlu soubor, v opačném případě přesměruji zpět :).

Tak uvidíme, jak se to osvědčí. Samozřejmě se to dá použít, jak název článku napovídá, i proti spam robotům - ti nemají ani nejmenší ponětí, jaká je správná odpověď.

Podobné články:
Český spam.sux.cz





Komentáře:

  1. didi23. 4. 2006 18.21

    Jo to je dobrej nápad.



    odpovědět
  2. Ses23. 4. 2006 20.42

    Super nápad... Možná se taky někdy bude hodit...
    Jen poznámka, v tom textu máš odkaz na magaupload, ale nemáš tam zadanou koncovku .cz... ;)



    odpovědět
  3. Lukáš23. 4. 2006 21.33

    Dík, už jsem to opravil :)



    odpovědět
  4. martin20. 5. 2006 10.38

    nevím, nepodařilo se mi to zprovoznit...



    odpovědět

Přidat nový komentář:




Ochrana proti spamu. Napište prosím číslici pět:
Zaškrtněte prosím tuto kolonku: