Створюємо цифрові рішення, які працюють на бізнес
Розробнику
Може зацікавити
IDN-домени: Punycode у Unicode і назад.
Система доменних імен розуміє лише латиницю, цифри й дефіс. Щоб домен кирилицею взагалі міг існувати, його переписують латиницею за спеціальним правилом — це і є Punycode.
Префікс xn-- позначає, що далі йде закодована назва. Побачити її можна в сертифікаті, у налаштуваннях пошти або в логах сервера — там домен майже завжди у цьому вигляді.
Українська «а» і латинська «a» виглядають однаково, але для мережі це різні символи. На цьому будують шахрайські домени.
Домен написаний звичайними латинськими літерами й у Punycode не потребує кодування.
Одна літера замінена кириличною. На вигляд не відрізнити, а домен інший — і починається з xn--.
Тому перевірка й корисна: якщо звичайний на вигляд латинський домен раптом перетворюється на xn--, у ньому є нелатинські символи. Для банківського чи платіжного посилання це привід не переходити.
Домени з кирилицею та іншими національними символами (IDN) насправді зберігаються в DNS у закодованому вигляді з префіксом xn--. Цей конвертер перетворює домени в обидва боки: приклад.укр → xn--80apaahi.xn--j1amh і назад. Кодування потрібне при налаштуванні DNS, SSL-сертифікатів, поштових серверів — скрізь, де система не розуміє кирилицю.
Ще одне важливе застосування — безпека: шахраї реєструють домени, візуально ідентичні відомим, підмінюючи латинські літери кириличними (наприклад, «а» чи «о»). Прогнавши підозрілий домен через конвертер, ви побачите його справжню xn--форму й одразу зрозумієте, підробка це чи ні.