§

Είσοδος

Λειτουργία
Στυλ οντότητας
Εύρος κωδικοποίησης
§

Έξοδος

Ομάδες Ιστού ΗΠΑ και Ηνωμένου Βασιλείου χρησιμοποιούν κωδικοποίηση HTML οντοτήτων κάθε φορά που κείμενο που παρέχεται από χρήστη καταλήγει μέσα σε μια σελίδα που αποδίδεται από διακομιστή.

Πώς λειτουργεί η κωδικοποίηση HTML οντοτήτων

Μια HTML οντότητα είναι μια αναφορά χαρακτήρα που το πρόγραμμα περιήγησης αναλύει ξανά σε έναν μόνο χαρακτήρα.

  1. Επιλέξτε λειτουργία και εύρος. Η λειτουργία κωδικοποίησης διατρέχει την είσοδο χαρακτήρα προς χαρακτήρα. Η αποκωδικοποίηση ψάχνει για μοτίβα οντοτήτων.
  2. Επιλέξτε στυλ οντότητας. Οι ονομαστικές διαβάζονται καλά στον κώδικα. Οι δεκαδικές και δεκαεξαδικές καλύπτουν κάθε κωδικό σημείο Unicode.
  3. Διάσχιση εισόδου. Κατά την κωδικοποίηση, κάθε κωδικό σημείο αναζητείται σε έναν πίνακα 200 οντοτήτων. Τα misses πέφτουν σε αριθμητική μορφή.
  4. Αντιστοίχιση σε χαρακτήρες. Τα named matches επιλύονται μέσω αντίστροφου πίνακα. Τα numeric πηγαίνουν μέσω String.fromCodePoint.
  5. Ζωντανή λειτουργία. Ενεργοποιήστε τη ζωντανή λειτουργία και κάθε πληκτρολόγηση επανεκτελεί τη μετατροπή με καθυστέρηση 150 ms.

Γιατί να κωδικοποιήσετε HTML οντότητες

  • Αποτροπή καταστροφής διάταξης από είσοδο χρήστη. Όταν ένας χρήστης πληκτρολογεί ένα < σε ένα σχόλιο, η κωδικοποίηση αποτρέπει την ερμηνεία του ως μέρους ετικέτας.
  • Διατήρηση έγκυρων τιμών ιδιοτήτων. Η ενσωμάτωση συμβολοσειράς με εισαγωγικά σε μια ιδιότητα HTML χρειάζεται αντικατάσταση του εισαγωγικού.
  • Εξουδετέρωση τυχαίου HTML σε αποθηκευμένα δεδομένα. Αρχεία καταγραφής με γωνιακές αγκύλες και συμπλεκτικά σύμβολα κωδικοποιούνται για εμφάνιση ως κείμενο.
  • Ασφαλής κοινή χρήση αποσπασμάτων κώδικα. Η ανάρτηση παραδείγματος ετικέτας χρειάζεται κωδικοποίηση των αγκυλών.

Κοινές εφαρμογές

Η κωδικοποίηση οντοτήτων εμφανίζεται όπου το απλό κείμενο συνθέτει HTML.

  • Πρότυπα από διακομιστή: Jinja2, ERB, Twig και Handlebars.
  • Συγγραφή email και newsletters.
  • Τεκμηρίωση και δείγματα κώδικα.

Ένα παράδειγμα

Επικολλήστε <script>alert('hi')</script> με λειτουργία Κωδικοποίηση, στυλ Ονομαστικές.

FAQ

Τι είναι οι HTML οντότητες;

Οι HTML οντότητες είναι αναφορές χαρακτήρων. Υπάρχουν σε τρεις μορφές: ονομαστικές, δεκαδικές και δεκαεξαδικές.

Πότε να χρησιμοποιώ ονομαστικές έναντι αριθμητικών;

Ονομαστικές όταν θέλετε αναγνώσιμο κώδικα. Αριθμητικές για παλαιότερους ή αυστηρότερους καταναλωτές.

Η αποκωδικοποίηση χειρίζεται δεκαεξαδικές οντότητες;

Ναι. Ο αποκωδικοποιητής χρησιμοποιεί ένα regex που ταιριάζει και τις τρεις μορφές.

Είναι ασφαλές για χρήση με μη αξιόπιστη είσοδο;

Το codec λειτουργεί μόνο στο πρόγραμμα περιήγησης. Η ασφάλεια εξαρτάται από το πλαίσιο ενσωμάτωσης.

Η κωδικοποίηση οντοτήτων από το πρόγραμμα περιήγησης βρίσκεται στο όριο μεταξύ εισόδου χρήστη και απόδοσης HTML.