Lewati ke konten utama

Normalisasi karakter yang membingungkan menjadi teks aman

Menormalkan karakter yang membingungkan berarti mengganti setiap tiruan dengan karakter biasa yang ditirunya, sehingga dua string yang tampak sama juga dianggap sama saat dibandingkan. Lakukan ini sebelum membandingkan nama pengguna, mencocokkan daftar blokir, atau menghapus ID duplikat.

Contoh langkah demi langkah

Masukan
Cоnfig file: аdmin2, Noёl, café
Aksara yang ditemukan
Latin (Latn), Sirilik (Cyrl)
Karakter yang ditandai
7
PosisiKarakterTitik kodeAksaraPenggantiAturan
0CU+FF23LatinCNormalisasi NFKC
1оU+043ESirilikoTabel karakter mirip
7fiU+FB01LatinfiNormalisasi NFKC
10:U+FF1AUmum:Tabel karakter mirip
12аU+0430SirilikaTabel karakter mirip
172U+FF12Umum2Tabel karakter mirip
22ёU+0451SirilikëTabel karakter mirip
Pertahankan Unicode yang Dapat Dibaca
Config file: admin2, Noël, café
Penggantian ASCII yang ketat
Config file: admin2, Noel, café

Cara kerjanya

  • Tiruan yang dikenal diganti lebih dulu berdasarkan tabel bawaan. Karakter di luar tabel dinormalkan dengan NFKC, yang mengubah bentuk lebar penuh, ligatur, dan karakter kompatibilitas lain menjadi padanan standarnya.
  • Mode Pertahankan Unicode yang Dapat Dibaca mempertahankan huruf beraksen jika tabel mendefinisikannya, misalnya ё Kiril → ë. Mode Penggantian ASCII yang ketat memakai huruf ASCII biasa sebagai gantinya (ё → e).
  • Huruf yang tidak ada di tabel dan tidak diubah NFKC tetap dipertahankan, jadi café tetap beraksen di kedua mode. Teks yang dinormalkan adalah kunci pembanding, bukan putusan keamanan: simpan juga teks aslinya dan tinjau karakter yang ditandai.

Konversi adalah upaya terbaik: kebingungan yang dipetakan dan pelipatan NFKC bersifat deterministik, tetapi beberapa Unicode yang sah tidak akan ditandai.

Teks Anda

Tempel atau ketik — hasil diperbarui saat Anda mengetik (sedikit di-debounce untuk input yang panjang).

30 karakter dipindai
7 mencurigakan
Penggantian ASCII yang ketat
Modus konversi

Mode ASCII yang ketat secara agresif menggantikan kemiripan yang diketahui dengan ASCII. Itu dapat mengubah teks non-Latin yang sah ketika karakter ada di peta yang dibundel atau dilipat NFKC.

Asli (karakter mencurigakan ditandai)

Karakter mencurigakan dalam tampilan asli digarisbawahi dan diberi label “susp.” selain menonjolkan warna.

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Keluaran yang dibersihkan
Analisis karakter
Indeks (berbasis 0)AsliPenggantianPoin kodeAlasan
0CCU+FF23NFKC normalization changed this character (compatibility or width folding).
1оoU+043ENon-ASCII confusable mapped to a safer Latin ASCII equivalent.
2nnU+006ENot flagged as a confusable or compatibility character.
3ffU+0066Not flagged as a confusable or compatibility character.
4iiU+0069Not flagged as a confusable or compatibility character.
5ggU+0067Not flagged as a confusable or compatibility character.
6 U+0020Not flagged as a confusable or compatibility character.
7fifiU+FB01NFKC normalization changed this character (compatibility or width folding).
8llU+006CNot flagged as a confusable or compatibility character.
9eeU+0065Not flagged as a confusable or compatibility character.
10::U+FF1ANon-ASCII confusable mapped to a safer Latin ASCII equivalent.
11 U+0020Not flagged as a confusable or compatibility character.
12аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
13ddU+0064Not flagged as a confusable or compatibility character.
14mmU+006DNot flagged as a confusable or compatibility character.
15iiU+0069Not flagged as a confusable or compatibility character.
16nnU+006ENot flagged as a confusable or compatibility character.
1722U+FF12Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
18,,U+002CNot flagged as a confusable or compatibility character.
19 U+0020Not flagged as a confusable or compatibility character.
20NNU+004ENot flagged as a confusable or compatibility character.
21ooU+006FNot flagged as a confusable or compatibility character.
22ёeU+0451Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
23llU+006CNot flagged as a confusable or compatibility character.
24,,U+002CNot flagged as a confusable or compatibility character.
25 U+0020Not flagged as a confusable or compatibility character.
26ccU+0063Not flagged as a confusable or compatibility character.
27aaU+0061Not flagged as a confusable or compatibility character.
28ffU+0066Not flagged as a confusable or compatibility character.
29ééU+00E9Not flagged as a confusable or compatibility character.

Panduan lainnya