Nová Google reCAPTCHA

U rozšířených systémů je poměrně složité se bránit proti spamu. Jednoduché ochrany vyžadující JavaScript nebo řešení typu vytvoření speciálního lákavého políčka, které uživatel nesmí vyplnit, ale robot se nachytá, sice u méně významných webů fungují poměrně spolehlivě.

U větších služeb, kde se už vyplatí hromadný útok, je ale taková ochrana nedostatečná. Proto se zpravidla používají různé obrázky obsahující slova nebo čísla a je vyžadováno, aby je uživatel rozluštil – tzv. obrázková CAPTCHA.

S tou ale mají postupem času větší problém uživatelé než roboti.

No CAPTCHA reCAPTCHA

Ověření, že nejsem robot

Google se nyní pokusil vytvořit řešení, které by mělo dokázat ověřit, že člověk není robot, pomocí kliknutí do políčka Nejsem robot.

Použití na stránce

  1. Správce webu si do reCAPTCHA systému přidá svou doménu, čímž získá veřejný klíč stránky (Site key) a tajný klíč (Secret key).

  2. Na stránku se připojí skript od Google:

    <script src='https://www.google.com/recaptcha/api.js'></script>
  3. Na požadovaném místě formuláře se vykreslí políčko pro ověření.

    <div class="g-recaptcha" data-sitekey="klíč stránky"></div>
  4. Při ověření, že člověk není robot, se vyplní formulářový prvek g-recaptcha-response, který se následně běžným odesláním formuláře odešle na server.

  5. Na straně serveru se při zpracování zavolá stránka, které se přidá tajný klíč (Secret key) a hodnota políčka g-recaptcha-response.

    https://www.google.com/recaptcha/api/siteverify?secret=tajný klíč&response=obsah políčka

    Výsledkem je potom objekt v JSONu se stavem ověření (více v dokumentaci).

    {
      "success": true|false,
      "error-codes": [...]   // optional
    }

    Na základě toho ve své aplikaci určíme, jestli se jedná o robota nebo ne.

Živá ukázka

Jak to funguje

Celé rozhodování robot/uživatel funguje na základě sledování chování uživatele na stránce. Pomocí JavaScriptu je možné získat spoustu informací o prohlížeči, rozlišení a podobně, navíc potom sledovat každý pohyb myši nebo mačkání kláves.

Kromě toho může Google použít informace, co o daném návštěvníkovi má z jiných svých služeb.

Nejsem robot

Skript od Google tedy šmíruje uživatele a při kliknutí na Nejsem robot tato data pošle k ověření na svůj server. Odpověď ze serveru Google se přidá do formuláře na stránce, z něho se odešle na server dané aplikace, odkud se pošle na server Google k ověření.

Postup ověřování robota/uživatele

Možná úskalí

  1. Jako vždy – vložením cizího skriptu získává jeho majitel nad stránkou obrovskou moc.

  2. Uživatelé přihlášení ke svému Google účtu budou na webu používající reCAPTCHA ochranu automaticky identifikovatelní (podobně jako tomu je u Facebooku a jeho Like boxů a tlačítek).

  3. Při nerozpoznání uživatele se stále zobrazí nečitelná změť znaků.

    Opisování nečitelných obrázků

    Proto by nasazení reCAPTCHA mělo nastat až v případě, kdy selžou pro uživatele přívětivější metody.

  4. Spolehlivost ochrany před roboty na základě monitorování chování na stránce je diskutabilní. Je nejspíš jen otázkou času, kdy se roboti dokáží při vyplňování chovat více „jako člověk“ než živí návštěvníci.

Mobilní zařízení

Na mobilních zařízeních není možné monitorovat pohyby kursorem, takže zde opisování textu nahrazuje určování zvířat.

Určování koček

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Vyloučení vlastních návštěv v Google Analytics

Odstranění vlastních návštěv v Google Analytics

Jak v Google Analytics vyloučit ze statistik svých webů vlastní návštěvy.

Přidání URL do Seznamu a Google

Jak přidat stránku na Seznam a Google

Adresy, na kterých lze dát vyhledávačům vědět o svém novém webu.

Vliv návštěvnosti na SEO

Má návštěvnost vliv na SEO?

Má smysl z pohledu SEO (či jiného) se hnát za co nejvyšší návštěvností?

Vlastní styl Google Maps

Změna vzhledu Google Mapy

Mapu od Googlu na vlastním webu je možné přestylovat do jiné podoby.

Česká písma (250 fontů)

Česká písma z Google Fonts

Seznam fontů z Google Fonts, které obsahují znaky s diakritikou pro psaní českého textu.

Komentáře