ñ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.comHet label bestaat volledig uit Cyrillische of Griekse letters die er precies zo uitzien als Latijnse. Het kan zich voordoen als een bekend domein: controleer de xn--vorm voordat je de link vertrouwt.
Codeert of decodeert willekeurige tekst met het pure Punycode-algoritme, zonder het prefix xn-- en zonder domeinnormalisatie. Handig om een eigen implementatie te debuggen.
maana-ptaHoe het werkt
DNS accepteert alleen ASCII-letters, cijfers en koppeltekens, dus een domein als ñandú.com.ar kan niet ongewijzigd worden verstuurd. Geïnternationaliseerde domeinen (IDN) lossen dat op met Punycode (RFC 3492): elk label met tekens buiten ASCII wordt gecodeerd met een algoritme dat de gewone letters behoudt en de positie van de speciale tekens aan het einde toevoegt, en krijgt het prefix xn--. Zo wordt ñandú xn--and-6ma2c.
Vóór het coderen normaliseert IDNA de naam: alles wordt omgezet naar kleine letters, Unicode-vormen worden gelijkgetrokken en alternatieve punten zoals de Japanse 。 worden omgezet. Deze tool gebruikt dezelfde mapping (UTS #46) die de browser toepast bij het openen van een adres, zodat het resultaat overeenkomt met wat uiteindelijk bij DNS wordt opgevraagd. Bij e-mailadressen wordt alleen het domein omgezet en bij URL's alleen de host.
Daarnaast splitst de tool elk label uit met zijn lengte en de gebruikte schriften, en waarschuwt wanneer een domein alfabetten mengt of is geschreven met Cyrillische of Griekse letters die identiek zijn aan Latijnse: dat is de basis van homograafaanvallen, waarbij een link lijkt te komen van een bekende site.
Voorbeelden
ñandú.com.arxn--and-6ma2c.com.arAlleen het label met speciale tekens verandert; com en ar blijven gelijk. Dit is de vorm die je in DNS en in de SAN's van een certificaat invoert.faß.dexn--fa-hia.deMet IDNA2008 is de Duitse ß een geldige letter en wordt hij gecodeerd. Met de vorige standaard werd hij ss en wees hij naar fass.de, een ander domein: daarom lossen sommige oudere systemen iets anders op.аррӏе.comxn--80ak6aa92e.comDe homograaf die Xudong Zheng in 2017 publiceerde: vijf Cyrillische letters die er precies zo uitzien als apple. Sindsdien tonen Chrome en Firefox dit soort domeinen in hun xn--vorm.пример.рфxn--e1afmkfd.xn--p1aiOok topleveldomeinen kunnen internationaal zijn: .рф is dat van Rusland in het Cyrillisch en wordt in DNS geschreven als xn--p1ai.Gebruiksscenario's
- De xn--vorm van een domein met accenten of trema's opvragen om records in DNS aan te maken, in de configuratie van nginx of Apache te gebruiken of in de SAN's van een certificaat op te nemen.
- Begrijpen welk echt domein er achter een xn-- zit dat opduikt in een log, in een phishingmelding of in de adresbalk van de browser.
- Een verdachte link controleren op Cyrillische of Griekse letters die Latijnse nabootsen.
- Het domein van een geïnternationaliseerd e-mailadres omzetten voor een server die SMTPUTF8 niet ondersteunt.
- Controleren dat een internationaal domein na het coderen niet meer dan 63 tekens per label heeft.
Veelgestelde vragen
Wat betekent het prefix xn--?
Het is het ACE-prefix (ASCII Compatible Encoding) dat aangeeft dat het label in Punycode staat. Labels met koppeltekens op de derde en vierde positie zijn gereserveerd voor zulke prefixen, dus registers staan niet toe dat je een domein aanmaakt dat met xn-- begint als het geen geldige IDN is.
Welke vorm gebruik ik in DNS, op de webserver en in het certificaat?
De ASCII-vorm, met xn--, op alle technische plekken: DNS-records, server_name van nginx, ServerName van Apache, SAN van het certificaat en Host-headers. De Unicode-vorm is alleen bedoeld om aan mensen te tonen; browsers zetten hem om voordat ze de aanvraag doen.
Wat is een homograafaanval?
Daarbij wordt een domein geregistreerd dat er hetzelfde uitziet als een ander door letters uit een ander alfabet te gebruiken, zoals de Cyrillische a in plaats van de Latijnse. Browsers tonen de xn--vorm wanneer een label schriften mengt of op een bekend domein lijkt. Als een link er normaal uitziet maar de ASCII-vorm met xn-- begint, wees dan wantrouwig.
Kun je accenten gebruiken in een e-mailadres?
In het domein wel, en dat kan voor elke server worden omgezet naar xn--. Het deel vóór het apenstaartje is een ander verhaal: met niet-ASCII-tekens moeten alle servers onderweg SMTPUTF8 (RFC 6531) ondersteunen, en er bestaat geen equivalente Punycode-vorm voor.
Waarom is mijn domein met hoofdletters veranderd?
Domeinnamen zijn niet hoofdlettergevoelig, en IDNA zet alles om naar kleine letters vóór het coderen: MÜNCHEN.de en münchen.de zijn hetzelfde domein, xn--mnchen-3ya.de. Pure Punycode behoudt hoofdletters wel, daarom geeft de converter zonder prefix andere resultaten.