poniedziałek, 22 września 2025

Testy walidacji adresów e-mail

 

1) Pusty / pominięty

  • Form: email=

  • JSON: {"email": ""}

  • 🔎 Test: walidacja i obsługa błędów

  • 📌 Obserwuj: status code, body, timing

2) Spacje / przycinanie

  • Form: email=alicetest@example.com

  • JSON: {"email": " alicetest@example.com "}

  • 🔎 Test: trimming i kanonikalizacja

  • 📌 Obserwuj: akceptację, mail sink target

3) Zduplikowany parametr (dwuznaczność parsera)

  • Form: email=alicetest@example.com&email=bobtest@example.com

  • 🔎 Test: który parametr wybiera serwer (pierwszy/ostatni/merge)

  • 📌 Obserwuj: do której skrzynki trafia wiadomość

4) Percent-encoded

  • Form: email=%61licetest%40example.com (czyli alicetest@example.com)


  • JSON: {"email": "%61licetest%40example.com"}

  • 🔎 Test: zachowanie przy dekodowaniu / podwójnym dekodowaniu

  • 📌 Obserwuj: odpowiedź serwera i zachowanie e-mail

5) Plus-tag / subaddressing

  • Form: email=alice+shopping@example.com

  • 🔎 Test: normalizacja plus-tag (strip vs. keep)

  • 📌 Obserwuj: które konto/skrzynka jest trafiona

6) Zmiana wielkości liter & Unicode homoglify

  • Form: email=User@EXAMPLE.com lub email=User@exampIe.com (litera l vs. I)

  • 🔎 Test: normalizacja case i Unicode

  • 📌 Obserwuj: routing i dopasowanie skrzynki

7) Edge-case z kropkami

  • Form: email=local.part@example.com

  • Form: email=local..dots@example.com

  • 🔎 Test: parsowanie edge-case wg RFC

  • 📌 Obserwuj: akceptację/odrzucenie i routing

8) Znak kontrolny (tylko staging)

  • Form: email=alicetest@example.com\n

  • JSON: {"email": "alicetest@example.com\n"}

  • 🔎 Test: sanityzacja przed templatingiem / injection indicators

  • ⚠️ Nie uruchamiać na produkcji — sprawdzać w stagingu z mail sink

9) Null-byte marker (tylko staging)

  • Form: email=alice%00test@example.com

  • 🔎 Test: obsługa null-byte i obcinanie

  • 📌 Obserwuj: błędy serwera, truncation, output do mail sink

10) Bardzo długi local-part / adres

  • Form: email= + a * 1024 + @example.com

  • 🔎 Test: limity bufora i odporność

  • 📌 Obserwuj: odpowiedzi 4xx/5xx, truncation

11) Brak @ / niepoprawny format

  • Form: email=no-at-symbol lub email=@no-local-part.com

  • 🔎 Test: walidacja i obsługa błędów

  • 📌 Obserwuj: odrzucenie vs. sukces (ryzyko enumeracji)

12) Nieistniejąca domena / brak MX

  • Form: email=user@nonexistent-example.test

  • 🔎 Test: sprawdzanie DNS/MX i side-channels

  • 📌 Obserwuj: odpowiedź pośrednią serwera lub błąd

Brak komentarzy:

Prześlij komentarz

Proszę zostaw swój komentarz w celu dopowiedzenia tego czego ja nie wiedziałem lub wywołania ciekawej dyskusji. Wprowadziłem moderowanie komentarzy ze względu na dużą popularność bloga wśród różnych SEO botów :)