Η ιδιότητα integrity του HTML <script>
Ορισμός και χρήση
ακεραιότητα
Η ιδιότητα επιτρέπει στον περιηγητή να ελέγξει το κώδικα που αποκτήθηκε, για να διασφαλίσει ότι ο κώδικας δεν θα φορτωθεί αν ο κώδικας της πηγής έχει αλλαχθεί.
Η Ακεραιότητα των Υπο πόρων (Subresource Integrity, SRI) είναι μια προδιαγραφή του W3C που επιτρέπει στους προγραμματιστές ιστοσελίδων να διασφαλίσουν ότι οι πόροι που φιλοξενούνται σε τρίτους διακομιστές δεν έχουν αλλαχθεί. Προτείνεται η χρήση του SRI!
Όταν χρησιμοποιείται το SRI, η ιστοσελίδα αποθηκεύει το hash, ο διακομιστής αποθηκεύει το αρχείο (στο παράδειγμα αυτό είναι αρχείο .js). Ο περιηγητής κατεβάζει το αρχείο, και μετά το ελέγχει, για να διασφαλίσει ότι ταιριάζει με ακεραιότητα
Η τιμή του hash στο χαρακτηριστικό ταιριάζει. Αν ταιριάζει, θα χρησιμοποιηθεί αυτό το αρχείο, αν δεν ταιριάζει, θα αποκλειστεί το αρχείο.
Μπορείτε να χρησιμοποιήσετε τον διαδικτυακό δημιουργό hash SRI για να δημιουργήσετε το hash της ακεραιότητας: Δημιουργτής hash SRI.
Παράδειγμα
Χρήση των ιδιοτήτων integrity και crossorigin για σύνδεση σε CDN:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> </script>
Γλώσσα
<script integrity="filehash">
Αξία ιδιότητας
Τιμή | Περιγραφή |
---|---|
filehash | Το hash του αρχείου του εξωτερικού σكрипτ. |
Υποστήριξη περιηγητών
Τα αριθμήματα στη διάταξη αναφέρουν την έκδοση του πρώτου προγράμματος περιήγησης που υποστηρίζει αυτήν την ιδιότητα.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
45.0 | 17.0 | 43.0 | 13.0 | 66.0 |