Autor Zpráva
goff
Profil *
Ahoj, mám Google formulář, který mi posílá záznamy do google tabulky. Přizpůsobil jsem si ho tak, aby z toho byl v podstatě jen běžný formulář a ten jsem vložil na web. Aby tam nechodil spam, implementoval jsem ReCaptchu, ale po pár dnech od zveřejnění se začal objevovat spam v záznamech. Trochu mě překvapuje ten počet - jsou to třeba jen dva záznamy denně. Věřím tomu, že kdyby to dělal robot, byl by aktivnější. Zase se mi ale nezdá, že by to někdo fakt posílal. Napadá mě jen, že nemusí ReCaptcha fungovat. Formulář vypadá takhle:

<form id="formular" action="https://docs.google.com/forms/u/0/d/e/IDformuláře/formResponse" method="post">
<span class="jmeno">Jméno*:</span>
<input type="text" class="jmenopole" name="entry.číslo" required>
<span class="zprava">Zpráva*:</span>
<textarea class="zpravapole" rows="5" name="entry.číslo" required></textarea>
<button target="_self" class="g-recaptcha" data-sitekey="klíč" data-callback='onSubmit' data-action='submit' type="submit">odeslat</button>
</div>
<p style="font-size: 12px; letter-spacing: 1px; line-height: 12px; padding-bottom: 10px; color: black;width: 70%;margin-left: auto;margin-right: auto;" class="googlewarning">This site is protected by reCAPTCHA and the Google
    <a style="color: var(--bila);" href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a style="color: var(--bila);" href="https://policies.google.com/terms">Terms of Service</a> apply.</p>
 <script>
   function onSubmit(token) {
     document.getElementById("formular").submit();
   }
 </script>
</form>
v headu mám tenhle kód:
<script src="https://www.google.com/recaptcha/api.js"></script>

Je to prostě jen nějaká standardní chybovost ReCaptchy nebo tam mám něco špatně? Recaptchu mám ve verzi 3.
goff
Profil *
Opravdu by někdo nedokázal poradit? Do teď to byl v podstatě bezúdržbový systém bez spamu. Po nahození nového webu je tam ale pořád nějaký spam - viz tenhle screenshot.

Možná ještě napíšu, jak to funguje technicky. Mám nějaký Google formulář, který byl do teď embedovaný na webu. Google formulář je v administraci na Googlu nastaven tak, že všechny záznamy vloží do nějaké Google sheets tabulky. Ten Google formulář má ale nějaký vzhled, který příliš neladí se vzhledem webu, takže jsem po vzoru tohohle videa vzal id jednotlivých polí ve formuláři a vytvořil s nimi nový formulář, který odesílá data do toho původního formuláře od Googlu (ten to pak pošle do Google sheets). Předpokládal jsem, že postačí přidat recaptchu způsobem, jak to vidíte v úvodním příspěvku, ale evidentně tam něco nefunguije správně. Předchozí řešení, kdy tam byl embedovaný google formulář, mi žádný spam neposílalo, předpokládám, že tam měli nějak taky řešenou recaptchu, a tím, že jsem si vytvořil vlastní verzi formuláře, jsem tenhle úkol převzal na sebe.
Firibix
Profil
Reakce na goffa:
reCAPTCHA vyžaduje implementaci na straně klienta a zároveň na straně serveru. Klient vybere správné obrázky, reCAPTCHA mu za odměnu pošle klíč potvrzující úspěšný průchod kontrolou robotů. Klíč klient vloží do skrytého pole ve formuláři. Server při zpracovávání formuláře vezme klíč, který mu poslal klient, a pošle na reCAPTCHA požadavek na ověření platnosti klíče. Pokud je platný, klient není robot.

1.) Používají vůbec Google Forms reCAPTCHu? Pokud na serveru není ověření implementováno, kontrola samozřejmě nebude fungovat.

2.) Každý web při registraci pro reCAPTCHu dostane dvojici site key a secret key. Klient na základě site key získá potvrzující klíč, server takový klíč na základě secret key může ověřit. Google Forms nejspíš používají vlastní secret key, takže logicky s klíčem vygenerovaným na základě tvého site key nemůže ověření fungovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0