Phát hiện homoglyph trong tên miền, tên người dùng và tin nhắn
Homoglyph là ký tự trông giống một ký tự khác quen thuộc hơn: chữ а Kirin (U+0430) và chữ a Latinh (U+0061) giống hệt nhau trong hầu hết phông chữ nhưng là hai điểm mã khác nhau. Trình phát hiện kiểm tra từng ký tự và liệt kê mọi ký tự giả mạo cùng vị trí, điểm mã, hệ chữ Unicode và ký tự mà nó bắt chước.
Ví dụ minh họa
- Đầu vào
- pаypаl.com / Αdmіn
- Hệ chữ được phát hiện
- Chữ La tinh (Latn), Chữ Kirin (Cyrl), Chữ Hy Lạp (Grek)
- Ký tự bị đánh dấu
- 4
| Vị trí | Ký tự | Điểm mã | Hệ chữ | Ký tự thay thế | Quy tắc |
|---|---|---|---|---|---|
| 1 | а | U+0430 | Chữ Kirin | a | Bảng ký tự dễ nhầm |
| 4 | а | U+0430 | Chữ Kirin | a | Bảng ký tự dễ nhầm |
| 13 | Α | U+0391 | Chữ Hy Lạp | A | Bảng ký tự dễ nhầm |
| 16 | і | U+0456 | Chữ Kirin | i | Bảng ký tự dễ nhầm |
- Bảo toàn Unicode có thể đọc được
- paypal.com / Admin
Cách hoạt động
- Mỗi ký tự được đối chiếu với bảng tích hợp gồm các ký tự giả mạo phổ biến thuộc hệ chữ Kirin, Hy Lạp, biến thể Latinh và ký tự toàn độ rộng. Ký tự khớp sẽ được đánh dấu cùng chữ cái, chữ số hoặc dấu câu ASCII mà nó bắt chước.
- Các ký tự không có trong bảng sẽ được chuẩn hóa Unicode NFKC. Nếu NFKC làm thay đổi chúng, như với chữ toàn độ rộng và chữ ghép như fi, chúng được đánh dấu là dạng tương thích.
- Vị trí được đếm theo điểm mã Unicode bắt đầu từ 0. Một từ trộn chữ Latinh với chữ Kirin hoặc Hy Lạp là dấu hiệu cảnh báo rõ ràng, vì từ hợp lệ hiếm khi đổi hệ chữ giữa chừng.
Chuyển đổi là nỗ lực tốt nhất: các sự nhầm lẫn được ánh xạ và việc gấp NFKC là mang tính quyết định, nhưng một số Unicode hợp pháp sẽ không được gắn cờ.
Văn bản của bạn
Dán hoặc nhập - kết quả cập nhật khi bạn nhập (được gỡ lỗi nhẹ khi nhập dài).
đã quét 18 ký tự
4 đáng ngờ
Bảo toàn Unicode có thể đọc được
Bản gốc (đã đánh dấu các ký tự đáng ngờ)
Các ký tự đáng ngờ trong chế độ xem ban đầu được gạch chân và gắn nhãn “nghi ngờ”. Ngoài màu sắc nổi bật.
psuspicious character аypsuspicious character аl.com / suspicious character Αdmsuspicious character іn
Đầu ra được làm sạch
Phân tích ký tự
| Chỉ số (dựa trên 0) | Bản gốc | thay thế | Điểm mã | Lý do |
|---|---|---|---|---|
| 0 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 1 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 2 | y | y | U+0079 | Not flagged as a confusable or compatibility character. |
| 3 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 4 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 7 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 8 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 9 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 10 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 11 | / | / | U+002F | Not flagged as a confusable or compatibility character. |
| 12 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 13 | Α | A | U+0391 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 14 | d | d | U+0064 | Not flagged as a confusable or compatibility character. |
| 15 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 16 | і | i | U+0456 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 17 | n | n | U+006E | Not flagged as a confusable or compatibility character. |