Skip to main content

Κατανόηση των νέων στοιχείων "IFRAME" σε HTML5

Week 7 (Ιούνιος 2025)

Week 7 (Ιούνιος 2025)
Anonim

Το στοιχείο σάς επιτρέπει να ενσωματώσετε άλλες ιστοσελίδες απευθείας στην ιστοσελίδα σας. Αλλά όταν χρησιμοποιείτε iframes υπάρχουν ορισμένα ζητήματα ασφάλειας και σχεδίασης που δεν αντιμετωπίστηκαν στο HTML 4.01. Το HTML5 φέρνει σε αυτό το στοιχείο τρία νέα χαρακτηριστικά για να αντιμετωπίσει αυτές τις ανησυχίες:

Το χαρακτηριστικό του sandbox

ο sandbox χαρακτηριστικό του IFRAME στοιχείο είναι ένα πολύ χρήσιμο χαρακτηριστικό ασφαλείας των iframes. Όταν το τοποθετείτε σε ένα IFRAME στοιχείο, καθοδηγείτε τον πράκτορα χρήστη να αποκλείσει λειτουργίες που ενδέχεται να θέσουν σε κίνδυνο την ασφάλεια του ιστότοπου και των χρηστών του.

Για παράδειγμα:

sandbox = "" >

Ενημερώνει το πρόγραμμα περιήγησης να αποκλείει όλες τις λειτουργίες που ενδέχεται να αποτελούν κίνδυνο ασφαλείας. Συγκεκριμένα, τα πρόσθετα δεν επιτρέπονται. Τα έντυπα δεν μπορούν να υποβληθούν. Οι δέσμες ενεργειών Sscripts δεν θα εκτελούνται και οι συνδέσεις εκτός του IFRAME δεν επιτρέπονται. Τέλος, δεν επιτρέπεται η πρόσβαση σε cookies, τοπικό αποθηκευτικό χώρο και άλλες σελίδες στον ίδιο τομέα (προέλευση).

Στη συνέχεια, χρησιμοποιώντας το sandbox τις τιμές λέξεων-κλειδιών, μπορείτε να ενεργοποιήσετε ξανά ορισμένες από τις λειτουργίες. Αυτές οι λέξεις-κλειδιά είναι:

  • αδειοδότησης-Από μορφή υποβολής
  • επιτρέψτε-ίδιας προέλευσης-Διαγραφή σε δέσμες ενεργειών για πρόσβαση σε περιεχόμενο όπως cookies από τον ίδιο τομέα προέλευσης
  • επιτρέψτε-scripts-Διαγραφή σεναρίων για εκτέλεση σε αυτό IFRAME
  • επιτρεπόμενη πλοήγηση-Παρακαλώ το IFRAME συνδέσεις και δέσμες ενεργειών στο _μπλουζα στόχος

Δεν είναι καλή ιδέα να ορίσετε και τα δύο επιτρέψτε-scripts και επιτρέψτε-ίδιας προέλευσης λέξεις-κλειδιά μαζί για την ίδια IFRAME. Εάν το κάνετε αυτό, τότε η ενσωματωμένη σελίδα μπορεί να αφαιρέσει πλήρως το sandbox αποδίδουν οφέλη ασφαλείας.

Το χαρακτηριστικό srcdoc

ο srcdoc χαρακτηριστικό είναι ένα χαρακτηριστικό που δίνει στον σχεδιαστή του Web μεγαλύτερο έλεγχο στα iframes καθώς και περισσότερη ασφάλεια. Αντί να συνδεθεί με μια ιστοσελίδα σε διαφορετική διεύθυνση URL, ο σχεδιαστής του ιστού τοποθετεί το HTML που πρόκειται να εμφανιστεί σε ένα IFRAME μεσα στην srcdoc Χαρακτηριστικό.

Αρχικά, ίσως να σκεφτόμαστε: "Πώς είναι αυτό διαφορετικό από το να βάλεις την HTML δεξιά στη σελίδα;" Και με κάποιους τρόπους, δεν είναι τρομερά διαφορετικό. Αλλά πρέπει να έχετε κατά νου μια από τις λειτουργίες του IFRAME στοιχείο, το οποίο είναι η διατήρηση μη αξιόπιστων δεδομένων ξεχωριστά από την υπόλοιπη τοποθεσία.

Τοποθετώντας την HTML που δημιουργείται από μια μη αξιόπιστη πηγή, όπως μια φόρμα, σε ένα IFRAME μπορείτε να "sandbox" το μη αξιόπιστο περιεχόμενο και να το εμφανίσετε στη σελίδα. Τα σχόλια του Blog είναι ένα παράδειγμα. Τα περισσότερα blog έχουν μόνο περιορισμένο αριθμό ετικετών HTML που μπορούν να χρησιμοποιήσουν οι σχολιαστές στα σχόλιά τους. Αλλά με την τοποθέτηση αυτών των σχολίων σε ένα sandboxed IFRAME χρησιμοποιώντας το srcdoc χαρακτηριστικό, τα σχόλια μπορούν να είναι πιο ισχυρά ενώ ταυτόχρονα προστατεύουν το χώρο ως σύνολο.

Ασφάλεια και Iframes

Τα παραπάνω δύο χαρακτηριστικά παρέχουν ασφάλεια για σας IFRAME στοιχεία, αλλά δεν είναι απόδειξη σε όλους τους κακόβουλους ιστότοπους. Εάν ο κακόβουλος ιστότοπος μπορεί να πείσει έναν χρήστη να έχει άμεση πρόσβαση στο εχθρικό περιεχόμενο (όπως πληκτρολογώντας τη διεύθυνση URL στο πρόγραμμα περιήγησης), μπορούν ακόμα να επιτεθούν.

Εάν είναι δυνατόν, είναι καλύτερο να ορίσετε το περιεχόμενο που βρίσκεται μέσα στο sandboxed IFRAME ως κείμενο / html-sandboxed Τύπος MIME.

Το απρόσκοπτο χαρακτηριστικό

ο χωρίς ραφή attribute είναι ένα χαρακτηριστικό boolean που λέει στο πρόγραμμα περιήγησης να εμφανίσει το IFRAME σαν να ήταν μέρος του γονικού εγγράφου. Αν θέλετε IFRAME για να εμφανίσετε απρόσκοπτα, απλά να συμπεριλάβετε αυτό το χαρακτηριστικό στο στοιχείο:

χωρίς ραφή >

Αλλά κάνοντας το IFRAME απρόσκοπτη είναι κάτι περισσότερο από το βλέμμα, είναι επίσης το πώς η σελίδα αλληλεπιδρά με το πλαίσιο. Για παράδειγμα:

  • Σύνδεσμοι στο IFRAME θα ανοίξει στο γονικό παράθυρο, εκτός αν το IFRAME σελίδα έχει το στόχο _ΕΑΥΤΟΣ σειρά.
  • CSS στο IFRAME θα προστεθούν στον καταρράκτη ολόκληρου του εγγράφου.
  • Το ριζικό στοιχείο του IFRAME η σελίδα θεωρείται παιδί του IFRAME.
  • Το πλάτος και το ύψος του IFRAME ρυθμίζονται με τρόπο παρόμοιο με τον τρόπο με τον οποίο θα οριστούν άλλα στοιχεία σε επίπεδο μπλοκ.
  • Όταν το γονικό έγγραφο προβάλλεται από ένα εργαλείο απόδοσης ομιλίας όπως ένα πρόγραμμα ανάγνωσης οθόνης, το IFRAME θα διαβαστεί χωρίς να το αναγγείλει ως ξεχωριστό έγγραφο.
  • Οποιεσδήποτε δέσμες ενεργειών στο γονικό έγγραφο θα επηρεάσουν το IFRAME έγγραφο με τον ίδιο τρόπο. Για παράδειγμα, αν ένα σενάριο περιέχει όλα τα πλαίσια στη σελίδα, οι σύνδεσμοι στο IFRAME θα αναφέρονται επίσης.

Με άλλα λόγια, το χωρίς ραφή attribute αποδίδει πολύ περισσότερα από την απλή αφαίρεση των ορίων από το IFRAME. Εάν πρόκειται να ορίσετε ένα IFRAME για να είναι απρόσκοπτη, θα πρέπει να είστε πολύ σίγουροι για το περιεχόμενο, ώστε να μην προσθέτετε κανένα κίνδυνο ασφαλείας στον ιστότοπό σας, ενσωματώνοντας έναν κακόβουλο ιστότοπο.