تسوية المحارف الملتبسة إلى نص آمن
تعني تسوية المحارف الملتبسة استبدال كل محرف منتحِل بالمحرف العادي الذي يقلّده، حتى تتساوى عند المقارنة سلسلتان تبدوان متطابقتين. افعل ذلك قبل مقارنة أسماء المستخدمين أو المطابقة مع قوائم الحظر أو إزالة المعرّفات المكررة.
مثال محلول
- الإدخال
- Cоnfig file: аdmin2, Noёl, café
- أنظمة الكتابة المكتشفة
- اللاتينية (Latn), السيريلية (Cyrl)
- المحارف المُعلَّمة
- 7
| الموضع | المحرف | نقطة الترميز | نظام الكتابة | البديل | القاعدة |
|---|---|---|---|---|---|
| 0 | C | U+FF23 | اللاتينية | C | تسوية NFKC |
| 1 | о | U+043E | السيريلية | o | جدول المحارف الملتبسة |
| 7 | fi | U+FB01 | اللاتينية | fi | تسوية NFKC |
| 10 | : | U+FF1A | عام | : | جدول المحارف الملتبسة |
| 12 | а | U+0430 | السيريلية | a | جدول المحارف الملتبسة |
| 17 | 2 | U+FF12 | عام | 2 | جدول المحارف الملتبسة |
| 22 | ё | U+0451 | السيريلية | ë | جدول المحارف الملتبسة |
- الحفاظ على Unicode القابل للقراءة
- Config file: admin2, Noël, café
- الرجوع الصارم لـ ASCII
- Config file: admin2, Noel, café
طريقة العمل
- تُستبدل المحارف المنتحِلة المعروفة أولاً وفق الجدول المدمج. أما المحارف خارج الجدول فتُسوّى باستخدام NFKC التي تحوّل الصيغ كاملة العرض والحروف المركبة وغيرها من محارف التوافق إلى مقابلاتها القياسية.
- يحتفظ وضع «الحفاظ على Unicode القابل للقراءة» بالحرف ذي العلامة عندما يحدده الجدول، مثل ё السيريلي → ë. أما وضع «الرجوع الصارم لـ ASCII» فيستخدم حرف ASCII البسيط بدلاً منه (ё → e).
- تبقى الحروف غير الموجودة في الجدول والتي لا تغيّرها NFKC كما هي، لذا تحتفظ café بعلامتها في الوضعين. النص المُسوّى مفتاح للمقارنة وليس حكماً أمنياً: احتفظ بالأصل أيضاً وراجع المحارف المُعلَّمة.
يعتبر التحويل أفضل جهد: تعتبر العناصر القابلة للارتباك المعينة والطي NFKC أمرًا حتميًا، ولكن لن يتم وضع علامة على بعض Unicode الشرعي.
النص الخاص بك
اللصق أو الكتابة - يتم تحديث النتائج أثناء الكتابة (يتم حذفها قليلاً للإدخال الطويل).
تم فحص 30 أحرف
7 مشبوهة
الرجوع الصارم لـ ASCII
الأصلي (تم وضع علامة على الأحرف المشبوهة)
يتم وضع خط تحت الأحرف المشبوهة في العرض الأصلي ويتم تصنيفها على أنها "susp". بالإضافة إلى تسليط الضوء على اللون.
suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
الناتج بعد التنظيف
تحليل الأحرف
| الفهرس (على أساس 0) | أصلي | استبدال | نقطة الكود | السبب |
|---|---|---|---|---|
| 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. |