Skip to content
Rozszerzenie TYPO3

mathguard dla TYPO3

Matematyczny CAPTCHA dla TYPO3: Proste zadania rachunkowe zamiast CAPTCHA graficznych.

Umów bezpłatną konsultację

CAPTCHA matematyczny to ochrona antyspamowa o niskich barierach, której większość stron nie zna

Spam w formularzach kontaktowych jest tematem ciągłym. Najpopularniejszym rozwiązaniem jest Google reCAPTCHA, które jednak przesyła dane użytkownika do Google i komplikuje zgodność z RODO. CAPTCHA oparte na obrazach (“kliknij wszystkie sygnalizatory”) frustrują użytkowników i są niedostępne dla czytników ekranu. mathguard idzie inną drogą: rozszerzenie pokazuje w formularzu proste zadanie rachunkowe (“ile to jest 3 + 7?”). Ludzie rozwiązują to w kilka sekund, automatyczne boty w większości zawodzą. Żadnego zewnętrznego JavaScriptu, żadnych ciasteczek, żadnego przesyłania danych do stron trzecich.

Dla instytucji publicznych, uczelni i firm z wymaganiami dostępności (WCAG 2.1, ustawa o zapewnianiu dostępności cyfrowej) CAPTCHA matematyczny jest jedną z niewielu form CAPTCHA bez zagadek obrazkowych, pod warunkiem że zadanie pojawia się w formularzu jako tekst. Redukcja spamu wynosi od 85 do 95 procent przychodzącego ruchu botów. Dla porównania: Google reCAPTCHA v3 osiąga podobne wartości, ale przesyła dane do serwerów Google przy każdym załadowaniu strony, nawet bez interakcji z formularzem.

Typowe scenariusze to formularze kontaktowe, komentarze i rejestracje

Scenariuszem standardowym jest formularz kontaktowy na firmowej stronie. Bez ochrony antyspamowej codziennie w skrzynce redakcji ląduje od 20 do 200 zgłoszeń od botów. mathguard dodaje pole rachunkowe, które jest umieszczane w formularzu między polem e-mail a przyciskiem wysyłki. Zadanie rachunkowe jest generowane losowo przy każdym załadowaniu strony, dzięki czemu boty nie mogą wstępnie obliczyć rozwiązania.

Drugi scenariusz: funkcje komentarzy na blogach i stronach informacyjnych. Gdy odwiedzający mogą zostawiać komentarze pod artykułami, spam jest nieunikniony. mathguard chroni formularz komentarzy bez konieczności posiadania przez odwiedzających konta Google lub specjalnej aplikacji.

Trzeci scenariusz: rejestracje użytkowników. Gdy strona oferuje konta frontendowe (np. dla portalu klienta lub chronionego obszaru pobrań), mathguard chroni formularz rejestracji przed zautomatyzowanym tworzeniem kont. Zadanie rachunkowe to ostatnia przeszkoda przed wysłaniem, dodatkowo do Double-Opt-In.

Architektura techniczna generuje zadania rachunkowe po stronie serwera z walidacją hasha

mathguard działa całkowicie po stronie serwera. Przy każdym wywołaniu formularza rozszerzenie generuje losowe zadanie rachunkowe: sumę dwóch liczb od 0 do 9. Rozwiązanie nie stoi w formularzu otwartym tekstem; ukryte pole zawiera hash MD5 z wyniku, bieżącej godziny i stałej liczby, a przy wysyłce mathguard porównuje z nim hash odpowiedzi. Metoda nie potrzebuje sesji ani ciasteczka.

Integracja z formularzami TYPO3 odbywa się przez interfejs PHP: rozszerzenie obsługujące formularz wywołuje getCaptcha(), aby wyświetlić zadanie, i validateCaptcha(), aby sprawdzić odpowiedź. Przez TypoScript można dostosować tekst pytania i kolor. Gotowych integracji ani przykładów dla powermail i TYPO3 Form Framework rozszerzenie z 2009 roku nie zawiera; Form Framework wtedy jeszcze nie istniał.

mathguard rysuje zadanie jako małą grafikę z losowych znaków w bloku <pre>, a nie jako czytelny tekst. Czytnik ekranu odczytuje przy tym tylko ciąg znaków; CAPTCHA matematyczny staje się przyjazny czytnikom ekranu dopiero wtedy, gdy zadanie jest w formularzu tekstem. Nawet wtedy każde zadanie rachunkowe pozostaje przeszkodą dla osób z dyskalkulią, na co wprost zwraca uwagę W3C.

Dla dodatkowego bezpieczeństwa mathguard można połączyć z polem honeypot: niewidocznym polem formularza, które boty wypełniają, ale prawdziwi użytkownicy ignorują. Uzupełniająco można zastosować walidację znacznika czasu: gdy formularz jest wypełniany w czasie poniżej 3 sekund, z dużym prawdopodobieństwem jest to bot. Kombinacja CAPTCHA matematycznego, honeypota i sprawdzania znacznika czasu osiąga redukcję spamu powyżej 99 procent.

Częste problemy to sprytne boty, zmiana godziny i irytacja UX

Problem pierwszy: zaawansowane boty rozwiązujące zadania rachunkowe. Proste boty parsujące tekst mogą zinterpretować “ile to jest 3 + 7?” i podać właściwą odpowiedź “10”. Rozwiązanie: prezentować zadanie jako lekko zaciemniony tekst (“trzy plus siedem to?”) lub rozszerzyć zadanie o kontekst (“ile nóg ma krzesło minus jedna?”). mathguard w standardowej konfiguracji używa zadań numerycznych, co wystarcza na 85 do 95 procent botów.

Problem drugi: zmiana godziny. Ponieważ bieżąca godzina wchodzi do hasha, walidacja zawodzi, gdy między wywołaniem formularza a wysłaniem zmieni się pełna godzina, chociaż użytkownik wprowadził poprawną odpowiedź. Rozwiązanie: dostosować walidator tak, aby akceptował także hash poprzedniej godziny.

Problem trzeci: irytacja UX u użytkowników. Niektórzy odwiedzający odbierają zadanie rachunkowe jako protekcjonalne (“czy muszę udowadniać, że umiem liczyć?”). Rozwiązanie: umieścić przyjazną wskazówkę nad polem (“ochrona antyspamowa: prosimy rozwiązać to krótkie zadanie”) i dyskretnie wkomponować zadanie w projekt formularza.

Technika jest minimalna, ale samo rozszerzenie pochodzi z 2009 roku

Rozszerzenie nie ma głębokich zależności API od rdzenia TYPO3: zadanie, hash i sprawdzenie to kilka linii standardowego PHP. Jego ostatnia wersja 1.0.0 pochodzi jednak z 2009 roku i według TER nie obsługuje żadnej z utrzymywanych dziś wersji TYPO3. Dla projektów, które chcą obyć się zupełnie bez rozszerzenia, tę samą logikę można odtworzyć jako własny walidator w TYPO3 Form Framework lub jako finisher powermail w czasie poniżej godziny. Gosign we własnych projektach wdraża kombinację honeypota, walidacji znacznika czasu i opcjonalnego CAPTCHA matematycznego jako trzystopniową ochronę antyspamową, która obywa się bez usług zewnętrznych i jest skuteczna przeciwko ponad 99 procentom zautomatyzowanych ataków. Decyzję, czy CAPTCHA matematyczne jest widoczne, czy działa tylko jako niewidoczny fallback, podejmujemy projektowo na podstawie oczekiwanej ilości spamu i wymagań dostępności.

Bezpłatna konsultacja: 30 minut ze specjalistą TYPO3

Analizujemy Twój projekt, szacujemy nakład i termin - bez zobowiązań, bez przygotowania.

Omów ochronę antyspamową, 30 min, bezpłatnie

25 lat doświadczenia z TYPO3 · 800+ przeanalizowanych rozszerzeń · Rozwój przyspieszony przez AI

Rozwój przyspieszony przez AI: 75% szybciej

Aktualizacja TYPO3 i audyt RODO

Aktualizujemy Twoją instalację TYPO3 ekonomicznie do aktualnej wersji LTS - wraz ze wszystkimi rozszerzeniami, również przestarzałymi i niewspieranymi.

Wszystkie rozszerzenia zmigrowane

Również przestarzałe, niewspierane lub własne.

Cena stała

Przejrzyste koszty, bez ukrytych prac dodatkowych.

Przyspieszone AI

30-50% taniej niż rynek dzięki analizie kodu wspomaganej przez AI.

Zero utraty danych

Pełna migracja danych z zabezpieczeniem rollback.

Audyt RODO: Sprawdzamy Twoją instalację TYPO3 pod kątem zgodności z RODO - zgody cookie, tracking, rozszerzenia, formularze i hosting - i wdrażamy wszystkie działania ekonomicznie.

Gosign to agencja cyfrowa z Hamburga z 25-letnim doświadczeniem w rozwoju TYPO3. Przeanalizowaliśmy ponad 800 rozszerzeń TYPO3 i dziś rozwijamy je przy wsparciu AI nawet o 70% szybciej niż metodami klasycznymi. Naszymi klientami są średnie przedsiębiorstwa, uczelnie wyższe i instytucje publiczne w Europie.

Stan: kwiecień 2026

Umów bezpłatną konsultację

30 minut ze specjalistą TYPO3, bez zobowiązań.

Umów spotkanie