Een formulier zonder bescherming verzamelt spam, en een formulier met een bescherming die niets doet verzamelt dezelfde spam terwijl het veilig voelt. De gratis formulierbeschermingscheck beantwoordt de eerste helft van die vraag: welke botbescherming levert de pagina? Dit artikel legt uit hoe u het resultaat leest en waar het antwoord ophoudt.
Wat de check doet
U voert het adres van een pagina met een formulier in. De check leest eerst de robots.txt van die site; als die het ophalen verbiedt of niet te lezen is, stopt de check daar. Anders haalt hij alleen die ene pagina op, onder een duidelijke naam (SilentShieldFormCheck), zonder cookies, met hoogstens drie doorverwijzingen en hoogstens 1 MB. Daarna zoekt hij in de HTML naar kenmerken van bekende aanbieders: scriptadressen, elementklassen en veldnamen. Hij kent Google reCAPTCHA, hCaptcha, Cloudflare Turnstile, Friendly Captcha en SilentShield. Er wordt niets opgeslagen, niet het adres en niet het resultaat.
De vijf resultaten
- Elk formulier heeft een kenmerk. In elk gevonden formulier bevat de HTML het kenmerk van een bekende aanbieder. De bescherming is in het formulier geplaatst.
- Slechts enkele formulieren hebben een kenmerk. De lijst toont welke formulieren het missen.
- Een aanbiederscript wordt geladen, maar geen formulier heeft een kenmerk. De pagina laadt het script van een aanbieder, maar geen van de formulieren bevat een kenmerk. Of en welk formulier het script beschermt, is zonder JavaScript uit te voeren niet te zien.
- Niets gevonden in de geleverde HTML. De pagina heeft formulieren, maar geen kenmerk en geen script van een bekende aanbieder.
- Geen formulier in de geleverde HTML. De formulieren kunnen door een script in de browser worden aangemaakt, wat de check niet ziet.
Wat de check niet kan zien
De check leest de HTML die uw server levert. Hij voert geen JavaScript uit. Dat heeft vier gevolgen die u in gedachten moet houden.
- Een formulier of widget dat een script in de browser aanmaakt, bestaat voor de check niet. “Niets gevonden” betekent dus “niets in de geleverde HTML”, nooit “onbeschermd”.
- Hij kan niet zien of uw server het antwoord controleert. Een widget in het formulier zonder controle op de server houdt niemand tegen.
- Bescherming die vóór de pagina zit, zoals een firewall of een rate limit, laat geen spoor na in de HTML.
- Pagina's achter een login zijn onbereikbaar, omdat de check alleen openbare pagina's ophaalt, zonder cookies.
Een echt voorbeeld: onze eigen aanmeldpagina
Toen we de check op onze eigen aanmeldpagina uitvoerden, meldde de eerste versie twee aanbieders waarvan het script “geladen” was. De pagina laadt geen van beide. De oorzaak waren de gegevens van de pagina zelf: een menu-item met de tekst “Alternatief voor hCaptcha.” stond in een inline script, en de check hield het woord voor de code van een aanbieder. We hebben de regel aangepast, zodat een inline script alleen telt als het een aanbieder aanroept (een render- of execute-aanroep), en dezelfde pagina meldt nu dat er niets is gevonden in de geleverde HTML. De les is de reden waarom de check alleen feiten noemt: een woord op een pagina is geen aanbieder.
Wat u met het resultaat doet
- Is er een kenmerk, test dan de andere helft: verstuur het formulier van buitenaf zonder of met een onjuist antwoord en kijk of uw server het afwijst. Een kenmerk toont alleen dat er een widget is geplaatst.
- Wordt een aanbiederscript geladen zonder kenmerk in het formulier, kijk dan hoe de widget wordt gekoppeld. In veel opstellingen gebeurt dat in de browser nadat de pagina is geladen.
- Is niets gevonden, trek dan niet de conclusie dat het formulier open staat. Kijk in uw serverlogs naar wat er daadwerkelijk binnenkomt en controleer of de bescherming op de server of vóór de pagina draait.
- Besluit u een zichtbare uitdaging te vervangen, vergelijk dan de opties op de pagina CAPTCHA-vergelijking en bekijk met de conversiecalculator wat een zichtbare uitdaging u kost.
De check is een eerste blik op de geleverde HTML, geen audit. Gebruik hem om te zien wat uw pagina over zichzelf zegt en test de rest door het formulier te versturen.