Czym są znaki mylące?

Znaki mylące to litery, cyfry i symbole, które wyglądają prawie identycznie w wielu czcionkach, ale są w rzeczywistości różnymi znakami. Na przykład mała litera "l" (el), wielka litera "I" (i), cyfra "1" i symbol potoku "|" mogą być prawie nierozróżnialne w czcionkach bezszeryfowych, takich jak Arial lub Helvetica. Podobnie wielka litera "O" i cyfra "0" są często mylone.

Te wizualne niejasności powodują rzeczywiste problemy. W programowaniu użycie 0 (zera) zamiast O w nazwie zmiennej prowadzi do błędów, które są niezwykle trudne do zauważenia. W kontekście bezpieczeństwa atakujący wykorzystują znaki mylące do tworzenia zwodniczych adresów URL, nazw użytkowników lub haseł. W codziennym pisaniu czytelnicy mogą źle zinterpretować słowa lub kody, gdy podobnie wyglądające znaki są zamieniane.

W przeciwieństwie do homoglifów — które obejmują znaki z różnych systemów pisma (takie jak cyrylica "а" naśladująca łacinę "a") — znaki mylące istnieją w obrębie tego samego zestawu ASCII. Są częścią codziennej klawiatury, co czyni je jeszcze łatwiejszymi do przeoczenia.

Opis narzędzia

To narzędzie skanuje Twój tekst i podświetla każdy znak należący do grupy znaków mylących, używając kolorowych podkreśleń. Każda grupa podobnie wyglądających znaków otrzymuje własny kolor, co ułatwia dostrzeżenie potencjalnych niejasności na pierwszy rzut oka. Najedź kursorem na dowolny podświetlony znak, aby zobaczyć jego dokładną tożsamość, w tym pełną nazwę i punkt kodowy Unicode.

Możesz wybrać, które grupy znaków mylących mają być podświetlane, używając wielokrotnego menu rozwijającego, co pozwala skupić się na konkretnych niejasności, które są istotne dla Twojego przypadku użycia.

Przykłady

Wejście:

Il1|egal passw0rd: S5Z2B8

Co zostaje podświetlone:

  • I, l, 1, | — podświetlone na czerwono (grupa l / I / 1 / |)
  • 0 — podświetlone na niebiesko (grupa O / 0)
  • S, 5 — podświetlone na fioletowo (grupa S / 5)
  • Z, 2 — podświetlone na pomarańczowo (grupa Z / 2)
  • B, 8 — podświetlone na turkusowo (grupa B / 8)

Przykład etykiety po najechaniu:

Najechanie na l pokazuje: Lowercase L (U+006C) Najechanie na I pokazuje: Uppercase I (U+0049)

Funkcje

  • Kolorowe podświetlanie dla 14 grup znaków mylących
  • Etykiety po najechaniu pokazujące dokładną nazwę znaku i punkt kodowy Unicode
  • Wybieralne grupy do skupienia się na konkretnych niejasności
  • Podświetlanie w czasie rzeczywistym podczas pisania
  • Panel podsumowania pokazujący wykryte grupy i liczby wystąpień

Obsługiwane grupy

Grupa Znaki Częsta mylenie
l / I / 1 / | mała l, wielka I, cyfra 1, potok Najczęstsze w czcionkach bezszeryfowych
O / 0 wielka O, cyfra 0 Częste w kodach i hasłach
rn / m r, n, m "rn" przypomina "m" w wielu czcionkach
S / 5 wielka S, cyfra 5 Podobne krzywe
Z / 2 wielka Z, cyfra 2 Podobieństwo przekątnej linii
B / 8 wielka B, cyfra 8 Podobieństwo pętli podwójnej
G / 6 wielka G, cyfra 6 Nakładanie się zakrzywionego kształtu
D / O / 0 wielka D Przypomina O i 0 w zaokrąglonych czcionkach
q / g mała q, mała g Mylenie się znaków dolnych
cl / d mała c, mała d "cl" przypomina "d" w ciasnym kerningiem
vv / w mała v, mała w "vv" przypomina "w"
` / ' akcent gravis, apostrof Prawie identyczne w większości czcionek
; / : średnik, dwukropek Różnią się tylko kropką vs przecinkiem
- / – / — łącznik, półpauza, pauza Różne długości łączników

Przypadki użycia

  • Przegląd kodu: Wyłapanie przypadkowego użycia O zamiast 0 lub l zamiast 1 w nazwach zmiennych, kluczach API lub wartościach konfiguracyjnych
  • Audyt bezpieczeństwa: Wykrycie potencjalnie zwodniczego tekstu w adresach URL, adresach e-mail lub treści generowanej przez użytkowników, gdzie znaki mylące mogą być używane do phishingu lub podszywania się
  • Typografia i korekta: Weryfikacja, że prawidłowe znaki są używane w numerach seryjnych, kluczach licencji lub dowolnym tekście, gdzie precyzja ma znaczenie

Porady

  • Używaj czcionki o stałej szerokości w swoim edytorze, aby zmniejszyć niejasność wizualną podczas pisania kodu
  • Jeśli zależy Ci tylko na konkretnym myleniu (np. l vs 1), usuń zaznaczenie wszystkich innych grup, aby zmniejszyć szum
  • Najedź kursorem na dowolny podświetlony znak, aby potwierdzić jego dokładną tożsamość za pomocą etykiety