Ειδικοί χαρακτήρες και IDN
Ενότητα 2: Επιλογή ενός καλού ονόματος · Χρόνος ανάγνωσης: 8 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να εξηγήσετε πώς λειτουργούν τα ονόματα domain με τόνους και umlaut, να διαβάσετε ένα όνομα σε punycode και να κρίνετε πότε είναι προτιμότερο να μη χρησιμοποιήσετε ένα τέτοιο όνομα.
Βασικές έννοιες: IDN, punycode, xn--, IDNA2008, επιτρεπόμενοι χαρακτήρες ανά κατάληξη, email και IDN, επίθεση ομογράφων
Υπάρχουν ονόματα με τόνους και σύμβολα
Το DNS σχεδιάστηκε αρχικά για τα γράμματα a έως z, τα ψηφία και την παύλα. Παρ' όλα αυτά, συναντάτε ονόματα domain με γράμματα όπως é, ü ή ß. Αυτά τα ονόματα ονομάζονται IDN: internationalized domain names. Σας επιτρέπουν να γράψετε ένα όνομα όπως γράφεται στη δική σας γλώσσα, για παράδειγμα με ένα γερμανικό umlaut ή έναν γαλλικό τόνο.
Η σειρά μαθημάτων για το DNS αναφέρει σύντομα τα IDN στο μάθημα 1.2. Εδώ τα εξετάζετε από τη σκοπιά κάποιου που επιλέγει όνομα: επιτρέπεται στην κατάληξή σας, πώς φαίνεται ένα τέτοιο όνομα στο παρασκήνιο και είναι συνετή επιλογή;
Στο παρασκήνιο: punycode
Το ίδιο το DNS εξακολουθεί να γνωρίζει μόνο τα a έως z, τα ψηφία και την παύλα. Γι' αυτό ένα όνομα με ειδικούς χαρακτήρες μετατρέπεται σε μια σειρά απλών χαρακτήρων με το xn-- μπροστά. Αυτή η μετατροπή ονομάζεται punycode.
Η μετατροπή γίνεται ανά label, δηλαδή ανά τμήμα ανάμεσα σε δύο τελείες. Μετατρέπεται μόνο το label με τους ειδικούς χαρακτήρες· η κατάληξη παραμένει ως έχει. Ένα παράδειγμα από την DNS Belgium: το belgië.be γίνεται στο DNS xn--belgi-rsa.be. Και ένα γερμανικό αρτοποιείο με το όνομα bäckerei.example εμφανίζεται στο DNS ως xn--bckerei-5wa.example.
Βλέπετε το μοτίβο:
- Στην αρχή βρίσκεται το xn--. Αυτό δείχνει ότι ακολουθεί ένα μετατραπέν όνομα.
- Έπειτα ακολουθούν τα απλά γράμματα του ονόματος, χωρίς τους ειδικούς χαρακτήρες: belgi, bckerei.
- Μετά την τελευταία παύλα ακολουθεί ένας σύντομος κωδικός που καθορίζει ποιος ειδικός χαρακτήρας ανήκει σε ποια θέση.
Δεν χρειάζεται να υπολογίσετε μόνοι σας αυτόν τον κωδικό. Τον υπολογίζουν για εσάς οι browsers, τα προγράμματα email και οι registrars. Αν θέλετε να τον ελέγξετε, χρησιμοποιήστε έναν μετατροπέα punycode: μετατρέπει ένα όνομα με τόνους στη μορφή xn-- και αντίστροφα. Αν πληκτρολογήσετε ένα όνομα xn-- στον browser σας, συχνά βλέπετε στη γραμμή διευθύνσεων το όνομα με τους ειδικούς χαρακτήρες.
Οι κανόνες για αυτό ορίζονται στο IDNA2008, μια σειρά προτύπων του διαδικτύου (RFC 5890 έως και 5894). Το ίδιο το punycode ορίζεται στο RFC 3492. Από αυτούς τους κανόνες προκύπτει και κάτι που παρατηρείτε και στα απλά ονόματα: δύο παύλες στην τρίτη και τέταρτη θέση ενός label είναι δεσμευμένες για μετατραπέντα ονόματα. Αν δείτε ένα όνομα με δύο παύλες σε αυτή τη θέση, τότε δεν πρόκειται για απλό όνομα. Γι' αυτό ένα registry όπως η DENIC δεν επιτρέπει τέτοια ονόματα ως κανονική καταχώριση.
Ποιες καταλήξεις επιτρέπουν ποιους χαρακτήρες
Το αν μπορείτε να καταχωρίσετε ένα IDN εξαρτάται από την κατάληξη. Κάθε registry αποφασίζει μόνο του ποιοι χαρακτήρες επιτρέπονται.
| Κατάληξη | Ειδικοί χαρακτήρες; |
|---|---|
| .nl | Όχι. Μόνο a έως z, ψηφία και η παύλα |
| .de | Ναι, μια καθορισμένη λίστα, όπως ä, ö, ü, ß και é |
| .be | Ναι, μεταξύ άλλων é, è, ë, ç, ä, ö, ü, ß και œ |
Για άλλες καταλήξεις ελέγξτε στο registry ή ρωτήστε τον registrar σας. Αν η Bakkerij Example θέλει να χρησιμοποιήσει το όνομά της "Café Example" ως όνομα domain, τότε με την ολλανδική κατάληξη .nl αυτό δεν γίνεται με é: γίνεται cafe χωρίς τόνο.
Γιατί χρειάζεται προσοχή
Ένα IDN ακούγεται ελκυστικό: το όνομα εμφανίζεται ακριβώς όπως το γράφετε. Στην πράξη όμως υπάρχουν μειονεκτήματα.
- Πληκτρολόγηση. Πολλοί άνθρωποι δεν έχουν é ή ü στο πληκτρολόγιό τους ή δεν ξέρουν πώς να τα γράψουν. Πληκτρολογούν τότε το όνομα χωρίς τόνο και καταλήγουν κάπου αλλού.
- Προφορική μετάδοση. Στο τηλέφωνο πρέπει να πείτε επιπλέον: "με ένα u με δύο τελείες". Αυτό συχνά οδηγεί σε λάθη.
- Email. Μια διεύθυνση email σε IDN δεν λειτουργεί παντού το ίδιο καλά. Δεν δέχεται κάθε φόρμα ιστοσελίδας ούτε κάθε πρόγραμμα email ειδικούς χαρακτήρες σε μια διεύθυνση. Ο πελάτης σας λαμβάνει τότε μήνυμα σφάλματος ή συμπληρώνει τη διεύθυνση διαφορετικά.
- Εμφάνιση. Ορισμένα προγράμματα εμφανίζουν τη μορφή xn-- αντί για το όνομα με τους τόνους. Τότε ο πελάτης σας βλέπει κάτι δυσανάγνωστο εκεί όπου περιμένει το όνομά σας.
Γι' αυτό η συμβουλή είναι: χρησιμοποιήστε ως κύριο όνομα ένα όνομα χωρίς ειδικούς χαρακτήρες, και για το email σας. Αν το όνομά σας έχει umlaut ή τόνο, καταχωρίστε και τις δύο μορφές και ανακατευθύνετε τη μορφή IDN στην απλή μορφή. Για το ü μπορείτε επίσης να σκεφτείτε τη μορφή με ue, όπως έχουν συνηθίσει οι Γερμανοί.
Η επίθεση ομογράφων
Τα IDN έχουν και μια σκοτεινή πλευρά. Ορισμένα γράμματα από άλλα αλφάβητα μοιάζουν ακριβώς με λατινικά γράμματα. Ένα κυριλλικό а φαίνεται ίδιο με ένα κανονικό a, αλλά για τον υπολογιστή είναι διαφορετικός χαρακτήρας. Οι εγκληματίες το εκμεταλλεύονται για να δημιουργήσουν ένα ψεύτικο όνομα που στην οθόνη φαίνεται ίδιο με ένα πραγματικό. Αυτό ονομάζεται επίθεση ομογράφων.
Αν κάνετε κλικ σε έναν σύνδεσμο με ένα τέτοιο όνομα, νομίζετε ότι βρίσκεστε στον ιστότοπο της τράπεζάς σας ή του προμηθευτή σας, ενώ στην πραγματικότητα βρίσκεστε σε απατεώνα. Γι' αυτό οι browsers εμφανίζουν μερικές φορές ένα τέτοιο όνομα στη μορφή xn--, ώστε να δείτε ότι κάτι δεν πάει καλά. Αν δείτε απροσδόκητα ένα όνομα xn-- στη γραμμή διευθύνσεων σε έναν ιστότοπο που γνωρίζετε, να είστε σε επιφυλακή.
Για το δικό σας όνομα αυτό σημαίνει: δεν μπορείτε να εμποδίσετε κάποιον να καταχωρίσει ένα τέτοιο παρόμοιο όνομα, μπορείτε όμως να παρακολουθείτε τι συμβαίνει γύρω από το όνομά σας (μάθημα 7.2).
Σύνοψη
- Ένα IDN είναι ένα όνομα domain με ειδικούς χαρακτήρες· στο DNS αποθηκεύεται ως punycode με το xn-- μπροστά.
- Μετατρέπεται μόνο το label με τους ειδικούς χαρακτήρες· η κατάληξη παραμένει ως έχει.
- Το .nl δεν επιτρέπει ειδικούς χαρακτήρες, ενώ τα .de και .be τους επιτρέπουν (μια καθορισμένη λίστα).
- Τα IDN είναι δύσκολα στην πληκτρολόγηση, στην προφορική μετάδοση και στη χρήση ως διεύθυνση email: επιλέξτε ένα απλό όνομα ως κύριο όνομα.
- Σε μια επίθεση ομογράφων, γράμματα από άλλο αλφάβητο μοιάζουν με κανονικά γράμματα· ένα απροσδόκητο όνομα xn-- είναι προειδοποίηση.
Κουίζ
Άσκηση
Άσκηση A2.4: Ανάγνωση punycode (μελέτη περίπτωσης). Ένας συνάδελφος της Bakkerij Example έχει τρεις ερωτήσεις σχετικά με ονόματα με ειδικούς χαρακτήρες. Χρησιμοποιήστε έναν μετατροπέα punycode ή την εξήγηση από αυτό το μάθημα. Συμπληρώστε ολόκληρο το όνομα, μαζί με την κατάληξη.
- Punycode του café.example. Πεδίο συμπλήρωσης: γράψτε το όνομα όπως εμφανίζεται στο DNS.
- Όνομα με ειδικούς χαρακτήρες για το xn--bcher-kva.example. Πεδίο συμπλήρωσης: γράψτε το όνομα όπως το διαβάζει ένας επισκέπτης.
- Επιτρέπεται το ab--cd.example ως απλό όνομα (όχι IDN); Επιλογή: ναι ή όχι.
Το πρόγραμμα συγκρίνει τις απαντήσεις σας με ένα σταθερό κλειδί. Αν και οι τρεις είναι σωστές, η ένδειξη γίνεται πράσινη.
