ñandú.com.arxn--and-6ma2c.com.armünchen.dexn--mnchen-3ya.decontacto@correo.españa.escontacto@correo.xn--espaa-rta.eshttps://日本語.jp/ページhttps://xn--wgv71a119e.jp/%E3%83%9A%E3%83%BC%E3%82%B8аррӏе.comxn--80ak6aa92e.comEtiket tamamen Latin harflerine benzeyen Kiril veya Yunan harfleriyle yazılmış. Tanınmış bir alan adı gibi görünebilir: bağlantıya güvenmeden önce xn-- biçimini kontrol edin.
Herhangi bir metni xn-- öneki ve alan adı normalleştirmesi olmadan saf Punycode algoritmasıyla kodlar veya çözer. Kendi uygulamanızda hata ayıklamak için kullanışlıdır.
maana-ptaNasıl çalışır
DNS yalnızca ASCII harfleri, rakamları ve kısa çizgileri kabul eder; bu yüzden ñandú.com.ar gibi bir alan adı olduğu gibi iletilemez. Uluslararasılaştırılmış alan adları (IDN) bunu Punycode (RFC 3492) ile çözer: ASCII dışı karakter içeren her etiket, sıradan harfleri koruyan ve özel olanların konumunu sona ekleyen bir algoritmayla kodlanır ve başına xn-- öneki eklenir. Böylece ñandú, xn--and-6ma2c olur.
IDNA, kodlamadan önce adı normalleştirir: küçük harfe çevirir, Unicode biçimlerini birleştirir ve Japonca 。 gibi alternatif noktaları dönüştürür. Bu araç, tarayıcının bir adresi açarken uyguladığı eşlemenin (UTS #46) aynısını kullanır; dolayısıyla sonuç, sonunda DNS'e sorulan adla örtüşür. E-postalarda yalnızca alan adı, URL'lerde yalnızca ana makine dönüştürülür.
Ayrıca her etiketi uzunluğu ve kullandığı yazı sistemleriyle birlikte ayrıştırır; bir alan adı alfabeleri karıştırdığında veya Latin harfleriyle aynı görünen Kiril ya da Yunan harfleriyle yazıldığında uyarır: bu, bir bağlantının tanınmış bir siteye aitmiş gibi göründüğü homograf saldırılarının temelidir.
Örnekler
ñandú.com.arxn--and-6ma2c.com.arYalnızca özel karakter içeren etiket değişir; com ve ar aynı kalır. DNS'e ve bir sertifikanın SAN'larına girilmesi gereken biçim budur.faß.dexn--fa-hia.deIDNA2008'de Almanca ß geçerli bir harftir ve kodlanır. Önceki standartta ss'ye dönüşür ve farklı bir alan adı olan fass.de'yi gösterirdi: bu yüzden bazı eski sistemler başka bir adı çözümler.аррӏе.comxn--80ak6aa92e.comXudong Zheng'in 2017'de yayımladığı homograf: apple ile birebir aynı görünen beş Kiril harfi. O zamandan beri Chrome ve Firefox bu tür alan adlarını xn-- biçiminde gösterir.пример.рфxn--e1afmkfd.xn--p1aiÜst düzey alan adları da uluslararası olabilir: .рф, Rusya'nın Kiril alfabesiyle yazılan alan adıdır ve DNS'te xn--p1ai olarak yazılır.Kullanım senaryoları
- Türkçe karakterli veya aksanlı bir alan adının xn-- biçimini alıp DNS kayıtlarına, nginx ya da Apache yapılandırmasına veya bir sertifikanın SAN'larına girmek.
- Bir günlükte, oltalama raporunda veya tarayıcının adres çubuğunda görünen bir xn--'nin arkasında hangi gerçek alan adının olduğunu anlamak.
- Şüpheli bir bağlantıyı Latin harflerini taklit eden Kiril veya Yunan harflerine karşı incelemek.
- Uluslararasılaştırılmış bir e-posta adresinin alan adını SMTPUTF8 desteklemeyen bir sunucu için dönüştürmek.
- Uluslararası bir alan adının kodlandıktan sonra etiket başına 63 karakteri aşmadığını doğrulamak.
Sık sorulan sorular
xn-- öneki ne anlama gelir?
Etiketin Punycode ile yazıldığını belirten ACE (ASCII Compatible Encoding) önekidir. Üçüncü ve dördüncü konumunda kısa çizgi bulunan etiketler bu önekler için ayrılmıştır; bu nedenle kayıt kuruluşları geçerli bir IDN olmadığı sürece xn-- ile başlayan bir alan adı oluşturulmasına izin vermez.
DNS'te, web sunucusunda ve sertifikada hangi biçimi kullanmalıyım?
Tüm teknik yerlerde xn--'li ASCII biçimini: DNS kayıtları, nginx'te server_name, Apache'de ServerName, sertifikanın SAN'ları ve Host üst bilgileri. Unicode biçimi yalnızca insanlara göstermek içindir; tarayıcılar sorgu yapmadan önce onu dönüştürür.
Homograf saldırısı nedir?
Başka bir alfabenin harflerini kullanarak, örneğin Latin a yerine Kiril a ile, başka bir alan adıyla aynı görünen bir alan adı kaydetmektir. Tarayıcılar, bir etiket yazı sistemlerini karıştırdığında veya tanınmış bir alan adına benzediğinde xn-- biçimini gösterir. Bir bağlantı normal görünüyor ama ASCII biçimi xn-- ile başlıyorsa şüphelenin.
Bir e-posta adresinde Türkçe karakter veya aksan kullanılabilir mi?
Alan adında evet; herhangi bir sunucu için xn--'ye dönüştürülebilir. @ işaretinden önceki kısım ise başka bir konu: ASCII dışı karakterler, yol üzerindeki tüm sunucuların SMTPUTF8'i (RFC 6531) desteklemesini gerektirir ve bu kısmın eşdeğer bir Punycode biçimi yoktur.
Büyük harfli alan adım neden değişti?
Alan adları büyük/küçük harf ayrımı yapmaz ve IDNA kodlamadan önce her şeyi küçük harfe çevirir: MÜNCHEN.de ile münchen.de aynı alan adıdır, xn--mnchen-3ya.de. Saf Punycode ise büyük harfleri korur; bu yüzden öneksiz dönüştürücü farklı sonuçlar verir.