Bomby długości - wartości testowe

Wartości dobrane do typowych limitów i do różnicy między znakiem a bajtem. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.

length-bombs wersja 1.0, aktualizacja 2026-09-08 CC-BY-4.0

Wpisuj je po jednej skrótem AltShiftN w palecie albo weź wszystkie do skryptu poleceniem nkb emit length-bombs.

Pusta wartość

length-bombs/len-0
  • 0 grafemów
  • 0 punktów kodowych
  • 0 bajtów
  • 0 jednostek UTF-16
Co psuje
Pusta wartość sprawdza granicę między polem niewypełnionym a wypełnionym niczym.
Co robi poprawna aplikacja
Pola wymagane odrzucają ją z jasnym komunikatem, a pola opcjonalne zapisują jako pustą.

255 znaków

length-bombs/len-255
255 × a
  • 255 grafemów
  • 255 punktów kodowych
  • 255 bajtów
  • 255 jednostek UTF-16
Co psuje
Klasyczna szerokość kolumny: jeden znak poniżej limitu, dokładnie na limicie i jeden ponad to trzy różne ścieżki w kodzie.
Co robi poprawna aplikacja
Przyjęte na limicie i odrzucone powyżej, z limitem podanym w komunikacie.

256 znaków

length-bombs/len-256
256 × a
  • 256 grafemów
  • 256 punktów kodowych
  • 256 bajtów
  • 256 jednostek UTF-16
Co psuje
Jeden znak ponad klasyczny limit, czyli miejsce, w którym zwykle dochodzi do cichego obcięcia.
Co robi poprawna aplikacja
Odrzucone z komunikatem, nigdy po cichu obcięte do 255.

254 znaki

length-bombs/len-254
254 × a
  • 254 grafemy
  • 254 punkty kodowe
  • 254 bajty
  • 254 jednostki UTF-16
Co psuje
Wartość tuż pod limitem, która pokazuje, czy limit nie jest przesunięty o jeden w którąkolwiek stronę.
Co robi poprawna aplikacja
Przyjęte bez zastrzeżeń.

1000 znaków

length-bombs/len-1000
1 000 × a
  • 1 000 grafemów
  • 1 000 punktów kodowych
  • 1 000 bajtów
  • 1 000 jednostek UTF-16
Co psuje
Pola komentarza i opisu zaprojektowane na jedno zdanie, a używane do wypracowań.
Co robi poprawna aplikacja
Przyjęte albo odrzucone z podanym limitem - nie przyjęte i obcięte.

4000 znaków

length-bombs/len-4000
4 000 × a
  • 4 000 grafemów
  • 4 000 punktów kodowych
  • 4 000 bajtów
  • 4 000 jednostek UTF-16
Co psuje
Limit częsty w starszych kolumnach baz danych i pierwszy rozmiar, przy którym pola tekstowe zaczynają po cichu zawodzić.
Co robi poprawna aplikacja
Ta sama zasada co wyżej, stosowana spójnie w interfejsie i w bazie.

65535 znaków

length-bombs/len-65535
65 535 × a
  • 65 535 grafemów
  • 65 535 punktów kodowych
  • 65 535 bajtów
  • 65 535 jednostek UTF-16
Co psuje
Limit najczęstszego typu kolumny tekstowej. Jego przekroczenie zwykle kończy się surowym błędem bazy danych.
Co robi poprawna aplikacja
Czytelny komunikat zamiast strony z błędem bazy danych.

100000 znaków

length-bombs/len-100000
100 000 × a
  • 100 000 grafemów
  • 100 000 punktów kodowych
  • 100 000 bajtów
  • 100 000 jednostek UTF-16
Co psuje
Liczniki znaków, układ, logi i każdy dalszy eksport, wszystko naraz.
Co robi poprawna aplikacja
Odrzucone wcześnie, zanim wartość przejdzie przez cały system.

128 znaków, 256 bajtów

length-bombs/bytes-vs-chars
128 × ą
  • 128 grafemów
  • 128 punktów kodowych
  • 256 bajtów
  • 128 jednostek UTF-16
Co psuje
128 znaków, ale 256 bajtów: pole z limitem w bajtach odrzuca wartość, którą interfejs uznał za poprawną.
Co robi poprawna aplikacja
Ta sama jednostka limitu po obu stronach, podana w komunikacie.

64 emoji

length-bombs/emoji-truncation
64 × 😀
  • 64 grafemy
  • 64 punkty kodowe
  • 256 bajtów
  • 128 jednostek UTF-16
Co psuje
Obcinanie po bajtach przecina ostatni znak na pół i daje wartość, która nie jest już poprawnym tekstem.
Co robi poprawna aplikacja
Obcinanie, jeśli w ogóle następuje, zachodzi na granicach znaków - nigdy w połowie znaku.

200 znaków bez spacji

length-bombs/one-word-200
200 × a
  • 200 grafemów
  • 200 punktów kodowych
  • 200 bajtów
  • 200 jednostek UTF-16
Co psuje
200 znaków bez spacji: układy, które zawijają tekst na spacjach, wypychają wartość poza jej kontener.
Co robi poprawna aplikacja
Zawinięte albo przycięte w obrębie kontenera, bez wychodzenia na otaczający interfejs.

Jeden znak

length-bombs/len-1
a a
  • 1 grafem
  • 1 punkt kodowy
  • 1 bajt
  • 1 jednostka UTF-16
Co psuje
Najkrótsza niepusta wartość, przeciw rzadko testowanym regułom długości minimalnej.
Co robi poprawna aplikacja
Przyjęty albo odrzucony zgodnie z podanym minimum, a nie przyjmowany po cichu tam, gdzie minimum istnieje.