Модул 2 · 2.4
Специални знаци и IDN
Модул 2: Избор на добро име · Време за четене: 8 минути
Цел на урока: След този урок ще можете да обясните как работят домейните с ударения и умлаути, да четете име в punycode и да прецените кога е по-добре да не използвате такова име.
Основни понятия: IDN, punycode, xn--, IDNA2008, разрешени знаци според разширението, имейл и IDN, хомографска атака
Имена с ударения съществуват
DNS първоначално е създадена за буквите от a до z, цифрите и тирето. Въпреки това виждате домейни с букви като é, ü или ß. Такива имена се наричат IDN: internationalized domain names (интернационализирани имена на домейни). Те позволяват дадено име да се изпише така, както е прието на Вашия език, например с немски умлаут или френско ударение.
Курсът за DNS споменава накратко IDN в урок 1.2. Тук ги разглеждате като човек, който избира име: възможно ли е при Вашето разширение, как изглежда такова име зад кулисите и разумно ли е изобщо?
Зад кулисите: punycode
Самата DNS и до днес познава само буквите от a до z, цифрите и тирето. Затова име със специални знаци се преобразува в поредица от обикновени знаци с xn-- отпред. Това преобразуване се нарича punycode.
То се прилага за всеки етикет поотделно, тоест за всяка част между две точки. Преобразува се само етикетът със специални знаци; разширението остава непроменено. Пример от DNS Belgium: belgië.be в DNS става xn--belgi-rsa.be. А немска пекарна с името bäckerei.example в DNS се казва xn--bckerei-5wa.example.
Виждате закономерността:
- Отпред стои xn--. Това е знакът, че следва преобразувано име.
- След това идват обикновените букви от името, без специалните знаци: belgi, bckerei.
- След последното тире следва кратък код, който определя кой специален знак на кое място стои.
Не е нужно сами да изчислявате този код. Браузърите, имейл програмите и регистраторите правят това вместо Вас. Ако искате да проверите, използвайте конвертор за punycode: той преобразува име с ударения във формата xn-- и обратно. Ако въведете xn-- име в браузъра си, в адресната лента често ще видите името със специалните знаци.
Правилата за това са описани в IDNA2008, поредица от интернет стандарти (RFC 5890 до 5894 включително). Самият punycode е описан в RFC 3492. От тези правила следва и нещо, което ще забележите при обикновените имена: две тирета на трета и четвърта позиция в етикета са запазени за преобразувани имена. Ако видите име с две тирета на това място, значи то не е обикновено име. Затова регистър като DENIC не допуска такива имена като обикновена регистрация.
Кои разширения какви знаци допускат
Дали можете да регистрирате IDN, зависи от разширението. Всеки регистър сам определя кои знаци са разрешени.
| Разширение | Специални знаци? |
|---|---|
| .nl | Не. Само a до z, цифри и тире |
| .de | Да, по фиксиран списък, например ä, ö, ü, ß и é |
| .be | Да, наред с други é, è, ë, ç, ä, ö, ü, ß и œ |
За други разширения проверете при регистъра или попитайте своя регистратор. Ако Bakkerij Example иска да използва името си „Café Example“ като домейн, при нидерландското разширение .nl това не е възможно с é: името става cafe без ударение.
Защо трябва да сте внимателни
IDN звучи привлекателно: името стои точно така, както го пишете. На практика обаче има недостатъци.
- Въвеждане. Много хора нямат é или ü на клавиатурата си или не знаят как да ги въведат. Тогава изписват името без ударение и попадат на друго място.
- Съобщаване. По телефона трябва да уточните: „с u с две точки отгоре“. Това често води до грешки.
- Имейл. Имейл адрес на IDN не работи еднакво добре навсякъде. Не всеки уеб формуляр и не всяка имейл програма приемат специални знаци в адреса. Тогава Вашият клиент получава съобщение за грешка или въвежда адреса по друг начин.
- Показване. Някои програми показват формата xn-- вместо името с ударения. Тогава там, където клиентът очаква Вашето име, стои нещо нечетливо.
Затова съветът е: използвайте име без специални знаци като основно име, включително за имейла си. Ако името Ви съдържа умлаут или ударение, регистрирайте и двете форми и пренасочете IDN формата към обикновената. При ü можете да помислите и за формата с ue, както са свикнали германците.
Хомографската атака
IDN имат и тъмна страна. Някои букви от други писмености изглеждат точно като латински букви. Кирилското „а“ изглежда същото като обикновеното латинско a, но за компютъра е различен знак. Измамниците използват това, за да създадат фалшиво име, което на екрана изглежда същото като истинското. Това се нарича хомографска атака.
Ако кликнете върху връзка с такова име, мислите, че сте на сайта на своята банка или доставчик, а всъщност сте при измамник. Затова браузърите понякога показват такова име във формата xn--, за да видите, че нещо не е наред. Ако в адресната лента неочаквано видите xn-- име при сайт, който познавате, бъдете нащрек.
За Вашето собствено име това означава: не можете да попречите някой да регистрира подобно на вид име, но можете да следите какво се случва около Вашето име (урок 7.2).
Обобщение
- IDN е домейн със специални знаци; в DNS той се съхранява като punycode с xn-- отпред.
- Преобразува се само етикетът със специални знаци; разширението остава.
- .nl не допуска специални знаци, а .de и .be ги допускат (по фиксиран списък).
- IDN са трудни за въвеждане, за съобщаване и за използване като имейл адрес: изберете обикновено име като основно.
- При хомографска атака букви от друга писменост приличат на обикновени букви; неочаквано xn-- име е предупреждение.
Тест (quiz)
Задача
Задача A2.4: Четене на punycode (казус). Колега от Bakkerij Example има три въпроса за имена със специални знаци. Използвайте конвертор за punycode или обясненията от този урок. Въведете цялото име, заедно с разширението.
- Punycode на café.example. Поле за попълване: напишете името така, както е записано в DNS.
- Името със специални знаци при xn--bcher-kva.example. Поле за попълване: напишете името така, както го чете посетителят.
- Допустимо ли е ab--cd.example като обикновено име (не IDN)? Избор: да или не.
Програмата сравнява отговорите Ви с фиксиран ключ. Ако и трите са верни, резултатът е зелен.
