IDN Punycode çeviricisi

2 reytinqdən 5

IDN Punycode çeviricisi beynəlmiləlləşdirilmiş domen adlarını Punycode ASCII formatına, Punycode yazılışını isə oxunaqlı Unicode mətninə çevirən pulsuz alətdir.

Punycode nədir və nə üçün yaradılıb?

Punycode Unicode U-label-larının ASCII A-label-larına IDNA vasitəsilə çevrilməsinin bir hissəsidir. Bu kodlaşdırma ü, é və ya 漢 kimi hərflər olan adların əvvəlcə yalnız əsas latın hərfləri, rəqəmlər və defislər üçün hazırlanmış sistemlərdən keçməsinə imkan verir.

IDNA A-label-ı xn-- ilə başlayır. Bu prefiks IDNA-nı dəstəkləyən tətbiqlərə qalan simvolların U-label-ın Punycode yazılışı olduğunu bildirir. Nöqtələr ayırıcı olaraq qalır, buna görə domenin hər hissəsi ayrıca çevrilir.

Punycode, adətən IDNA kimi qısaldılan "Internationalised Domain Names in Applications" sistemində istifadə olunur. IDNA həmçinin doğrulama və simvolların emalı qaydalarını müəyyənləşdirir, Punycode isə uyğun Unicode label-ının ASCII yazılışını yaradır.

Punycode şifrələmə deyil, kodlaşdırmadır. Hər kəs ASCII formasını yenidən Unicode-a çevirə bilər. Buna görə Punycode məlumatı məxfi saxlamır və heç vaxt məlumat gizlətmək üçün istifadə edilməməlidir.

Beynəlmiləlləşdirilmiş domen adını necə çevirim?

Unicode mətni Punycode/ASCII-yə çevir sahəsinə, ASCII A-label-larını isə IDN/Mətnə çevir sahəsinə daxil et. Müvafiq nəticə Punycode/ASCII və ya IDN/Mətn sahəsində görünəcək.

  1. Dırnaq işarələri olmadan yalnız çevirmək istədiyin domen adını və ya label-ı köçür.
  2. Diakritik işarəli və ya latın əlifbasına aid olmayan simvollar olan Unicode mətni üçün Punycode/ASCII-yə çevir seçimindən istifadə et.
  3. ASCII A-label-ları üçün IDN/Mətnə çevir seçimindən istifadə et.
  4. Çevrilmiş hər label-ı DNS-ə, e-poçt parametrlərinə və ya tətbiq konfiqurasiyasına əlavə etməzdən əvvəl yoxla.

Çevirici PHP-nin idn_to_ascii və idn_to_utf8 funksiyalarından istifadə edir. Emal serverdə aparılır. Daxil etdiyin məlumat HTTPS üzərindən serverə göndərilir və saxlanmır.

Domen çevirmə nümunələri

Sadə bir çevirmə göstərilən adla onun DNS-ə uyğun forması arasındakı əlaqəni aydın göstərir.

Giriş münchen.de

Nəticə xn--mnchen-3ya.de

Nəticəni əks istiqamətdə çevirdikdə yenidən münchen.de alınır. Yalnız ASCII simvollarından ibarət de label-ının çevrilməsinə ehtiyac yoxdur, ü hərfi olan label isə xn-- label-ına çevrilir.

Daxil edilən mətn etibarlı domen adı olmalıdır. Əsas format geniş yayılmış halları belə emal edir:

  • Diakritik işarəli və latın əlifbasına aid olmayan hərflər: uyğun Unicode label-ları IDNA və Punycode vasitəsilə ASCII formasında təqdim olunur.
  • Nöqtələr: hər nöqtə label-ları bir-birindən ayırır. Buna görə domen həm adi ASCII label-larından, həm də kodlaşdırılmış label-lardan ibarət ola bilər.
  • Rəqəmlər və adi defislər: bunlar artıq ASCII simvollarıdır və domen adlarının sintaksis qaydaları imkan verdikdə, adətən oxunaqlı qalır.
  • Boşluqlar: adi DNS host label-larında boşluq etibarlı deyil. Punycode-un onu domenin bir hissəsi kimi saxlamasını gözləmək əvəzinə, təsadüfən əlavə edilmiş boşluğu sil.
  • Durğu işarələri: nöqtə label-ları ayırır, URL yoluna, porta və ya sorğu sətrinə aid simvollar isə host adının bir hissəsi deyil.
  • Boş və ya çox uzun giriş: boş dəyərdə çevriləcək domen yoxdur. DNS hər kodlaşdırılmış label-ı 63 oktetlə məhdudlaşdırır. Buna görə vizual olaraq qısa görünən Unicode label-ı çevrildikdən sonra həddən artıq uzun ola bilər.

Punycode çevirməsi niyə alınmır və ya gözlənilməz mətn yaradır?

Çevirmə adətən daxil edilən məlumat etibarlı IDN mətni olmadıqda, səhv qurulmuş A-label ehtiva etdikdə və ya əvvəlcə başqa kodlaşdırmadan keçirildikdə alınmır. IDN/Mətnə çevirərkən A-label olmayan adi ASCII mətn dəyişmədən qala bilər. Simvolları əl ilə dəyişməzdən əvvəl mənbədə Unicode U-label-larının, ASCII A-label-larının, yoxsa URL kodlaşdırmasından keçmiş host adının olduğunu yoxla.

  • Səhv qurulmuş A-label-lar və ya yanlış kodlaşdırma: səhv qurulmuş xn-- label-ı çevrilməyə bilər. Base64, onaltılıq mətn və faizlə kodlaşdırılmış URL-lər Punycode deyil.
  • Dəstəklənməyən simvollar: Punycode Unicode dəyərlərini təqdim edə bilsə də, IDNA qaydaları və domen reyestrləri müəyyən simvolları, kombinasiyaları və ya yazı sistemlərini rədd edə bilər.
  • Label uzunluğu həddinin aşılması: DNS hər kodlaşdırılmış label-ı 63 oktetlə məhdudlaşdırır. Buna görə Unicode label-ı çevrildikdən sonra həddən artıq uzun ola bilər.
  • Natamam və ya artıq hissələri olan giriş: host adı ilə birlikdə mötərizələri, port nömrəsini və ya HTML atributunun bir hissəsini köçürmək dəyəri etibarsız edə bilər.
  • İki dəfə kodlaşdırılmış giriş: Punycode domenindəki simvollar açıq şəkildə və ya qeyri-standart formada faizlə kodlaşdırılıbsa, onlar faiz ardıcıllıqları kimi görünə bilər. Əvvəlcə URL dekoderi ilə həmin URL kodlaşdırma qatını aç, sonra alınan domeni çevir.
  • Mətn əvəzinə binar məlumat: IDN çevirməsi Unicode domen adı mətni ilə işləyir. İstənilən fayl baytları mətn kimi emal edildikdə doğrulamadan keçməyə və ya mənasız simvollar yarada bilər.

Punycode ilə harada rastlaşa bilərəm?

Punycode-a əsasən domen adlarında, DNS qeydlərində, brauzerlərin ünvan emalında və host adlarını ASCII kimi saxlayan sistemlərdə rast gəlinir. Brauzer təhlükəsizlik qaydalarından və istifadə olunan simvollardan asılı olaraq oxunaqlı beynəlmiləlləşdirilmiş adı göstərə və ya xn-- formasını saxlaya bilər.

E-poçt ünvanlarında @ işarəsindən sonrakı domen hissəsi Punycode ola bilər. Punycode @ işarəsindən əvvəlki poçt qutusu adını kodlaşdırmır. JSON məlumatlarında və sorğu sətirlərində host adı ötürüldükdə Punycode ola bilər, lakin JSON və sorğu sətri sintaksisi adi mətn üçün Punycode tələb etmir.

Data URI-lər məzmun üçün adətən faizlə kodlaşdırmadan və ya Base64-dən istifadə edir. Punycode yalnız daxilindəki mətndə beynəlmiləlləşdirilmiş host adı olduqda burada görünür. Eyni qaydada, yol və ya sorğu dəyərləri üçün URL kodlayıcısından, host adının özü üçün isə Punycode-dan istifadə et.

Tez-tez verilən suallar

IDN çeviricisinə tam URL daxil edə bilərəm?

Host adını URL-dən çıxarıb yalnız həmin hissəni çevirmək daha təhlükəsizdir. Sxem, port, yol, fraqment və sorğu hissəsinin ayrıca sintaksis qaydaları var. Bu bölmələrdəki simvollar üçün Punycode əvəzinə URL kodlaşdırması lazım ola bilər.

Domen adında xn-- label-ının olması saytın təhlükəli olduğunu göstərir?

Xeyr. Bir çox qanuni beynəlmiləlləşdirilmiş domen xn-- label-larından istifadə edir. Bununla belə, müxtəlif yazı sistemlərindəki vizual baxımdan oxşar simvollardan aldadıcı adlar yaratmaq üçün istifadə oluna bilər. Parol və ya ödəniş məlumatlarını daxil etməzdən əvvəl kodu açılmış yazılışı və gözlədiyin təşkilata aid olub-olmadığını yoxla.

Punycode domenində emoji işlətmək olar?

Punycode alqoritmi emojilərin kod nöqtələrini kodlaşdıra bilsə də, IDNA domen label-larında emojiyə icazə verilmir. Domen reyestrinin qaydaları icazə verilən yazı sistemləri və simvollar üçün əlavə məhdudiyyətlər də qoya bilər.

Brauzerim niyə Unicode əvəzinə Punycode göstərir?

Label bir neçə yazı sistemini qarışdırdıqda, saxtalaşdırma ilə əlaqələndirilən simvollar ehtiva etdikdə və ya brauzerin göstərmə qaydalarına uyğun gəlmədikdə brauzer ASCII formasını saxlaya bilər. Bu, çevirmənin səhv olduğunu göstərmir, sadəcə görüntüləmə zamanı tətbiq olunan təhlükəsizlik tədbiridir.

Çevrilmiş domen adı DNS-də mütləq işləyəcək?

Xeyr. Uğurlu çevirmə domenin qeydiyyatdan keçirildiyini, əlçatan olduğunu və ya müvafiq reyestr tərəfindən qəbul edildiyini sübut etmir. Nəticədən istifadə etməzdən əvvəl label uzunluğunu və oxunaqlı yazılışı yoxla, həmçinin reyestrin həmin simvolları qəbul etdiyini təsdiqlə.

Populyar alətlər