Karıştırılabilir karakterleri güvenli metne normalleştirin
Karıştırılabilir karakterleri normalleştirmek, her benzer karakteri taklit ettiği sıradan karakterle değiştirmek demektir; böylece aynı görünen iki dize karşılaştırmada da eşit olur. Bunu kullanıcı adlarını karşılaştırmadan, engelleme listeleriyle eşleştirmeden veya yinelenen kimlikleri ayıklamadan önce yapın.
Çözümlü örnek
- Girdi
- Cоnfig file: аdmin2, Noёl, café
- Bulunan yazı sistemleri
- Latin (Latn), Kiril (Cyrl)
- İşaretlenen karakterler
- 7
| Konum | Karakter | Kod noktası | Yazı sistemi | Karşılığı | Kural |
|---|---|---|---|---|---|
| 0 | C | U+FF23 | Latin | C | NFKC normalleştirme |
| 1 | о | U+043E | Kiril | o | Karıştırılabilir karakter tablosu |
| 7 | fi | U+FB01 | Latin | fi | NFKC normalleştirme |
| 10 | : | U+FF1A | Ortak | : | Karıştırılabilir karakter tablosu |
| 12 | а | U+0430 | Kiril | a | Karıştırılabilir karakter tablosu |
| 17 | 2 | U+FF12 | Ortak | 2 | Karıştırılabilir karakter tablosu |
| 22 | ё | U+0451 | Kiril | ë | Karıştırılabilir karakter tablosu |
- Okunabilir Unicode'u Koru
- Config file: admin2, Noël, café
- Katı ASCII Geri Dönüşü
- Config file: admin2, Noel, café
Nasıl çalışır
- Bilinen benzerler önce yerleşik tabloya göre değiştirilir. Tablo dışındaki karakterler NFKC ile normalleştirilir; NFKC tam genişlikli biçimleri, bitişik harfleri ve diğer uyumluluk karakterlerini standart karşılıklarına dönüştürür.
- Okunabilir Unicode'u Koru, tablo tanımlıyorsa aksanlı harfi korur; örneğin Kiril ё → ë. Katı ASCII Geri Dönüşü bunun yerine düz ASCII harfini kullanır (ё → e).
- Tabloda olmayan ve NFKC'nin değiştirmediği harfler korunur; bu yüzden café her iki modda da aksanını korur. Normalleştirilmiş metin bir karşılaştırma anahtarıdır, güvenlik kararı değildir: orijinali de saklayın ve işaretlenen karakterleri inceleyin.
Dönüşüm en iyi çabadır: eşlenen kafa karıştırıcılar ve NFKC katlaması belirleyicidir, ancak bazı meşru Unicode'lar işaretlenmez.
Metniniz
Yapıştırın veya yazın — siz yazarken sonuçlar güncellenir (uzun giriş için hafifçe geri çevrilir).
30 karakter tarandı
7 şüpheli
Katı ASCII Geri Dönüşü
Orijinal (şüpheli karakterler işaretlenmiştir)
Orijinal görünümdeki şüpheli karakterlerin altı çizilmiştir ve "şüpheli" olarak etiketlenmiştir. rengi vurgulamanın yanı sıra.
suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Temizlenmiş çıktı
Karakter analizi
| Dizin (0 tabanlı) | Orijinal | Değiştirme | Kod noktası | Sebep |
|---|---|---|---|---|
| 0 | C | C | U+FF23 | NFKC normalization changed this character (compatibility or width folding). |
| 1 | о | o | U+043E | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 2 | n | n | U+006E | Not flagged as a confusable or compatibility character. |
| 3 | f | f | U+0066 | Not flagged as a confusable or compatibility character. |
| 4 | i | i | U+0069 | Not flagged as a confusable or compatibility character. |
| 5 | g | g | U+0067 | Not flagged as a confusable or compatibility character. |
| 6 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 7 | fi | fi | U+FB01 | NFKC normalization changed this character (compatibility or width folding). |
| 8 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 9 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 10 | : | : | U+FF1A | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 11 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 12 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 13 | d | d | U+0064 | Not flagged as a confusable or compatibility character. |
| 14 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 15 | i | i | U+0069 | Not flagged as a confusable or compatibility character. |
| 16 | n | n | U+006E | Not flagged as a confusable or compatibility character. |
| 17 | 2 | 2 | U+FF12 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 18 | , | , | U+002C | Not flagged as a confusable or compatibility character. |
| 19 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 20 | N | N | U+004E | Not flagged as a confusable or compatibility character. |
| 21 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 22 | ё | e | U+0451 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 23 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 24 | , | , | U+002C | Not flagged as a confusable or compatibility character. |
| 25 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 26 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 27 | a | a | U+0061 | Not flagged as a confusable or compatibility character. |
| 28 | f | f | U+0066 | Not flagged as a confusable or compatibility character. |
| 29 | é | é | U+00E9 | Not flagged as a confusable or compatibility character. |