Skip to main content

הבנת האלמנטים החדשים של IFRAME ב- HTML5

Week 7 (מאי 2025)

Week 7 (מאי 2025)
Anonim

האלמנט מאפשר לך לשלב דפי אינטרנט אחרים ישירות בדף האינטרנט שלך. אבל בעת שימוש iframes יש כמה בעיות אבטחה ועיצוב שלא טופלו ב- HTML 4.01. HTML5 מביא שלושה מאפיינים חדשים למרכיב זה כדי לסייע בשאלות אלו:

מאפיין ארגז חול

ה ארגז החול תכונה של IFRAME רכיב היא תכונה אבטחה מאוד שימושי של iframes. כאשר אתה מציב אותו ב IFRAME , אתה מורה לסוכן המשתמש לאסור תכונות שעלולות לגרום לסיכון אבטחה לאתר ולמשתמשים בו.

לדוגמה:

sandbox = "" >

אומר לדפדפן לאסור את כל התכונות שעלולות להיות סיכון אבטחה. באופן ספציפי, יישומי פלאגין אינם מותרים. לא ניתן להגיש טפסים. Sscripts לא יפעל וקישורים מחוץ IFRAME לא מורשים. לבסוף, גישה לקובצי Cookie, לאחסון מקומי ולדפים אחרים באותו דומיין (מקור) אינם מותרים.

לאחר מכן, באמצעות ארגז החול ערכי מילות מפתח, תוכל להפעיל מחדש חלק מהתכונות. מילות מפתח אלו הן:

  • צורות-היתר- הגשת טופס
  • לאפשר את אותו המוצא-כדי לאפשר גישה לתוכן כמו קובצי cookie מאותו תחום מקור
  • לאפשר סקריפטיםסקריפטים -לכדי להפעיל את זה IFRAME
  • לאפשר- top-navigation-allow IFRAME קישורים וסקריפטים ל _חלק עליון יעד

זה לא רעיון טוב להגדיר את שניהם לאפשר סקריפטים ו לאפשר את אותו המוצא מילות מפתח ביחד על אותו IFRAME. אם תעשה זאת, הדף המשובץ יכול להסיר לחלוטין את ארגז החול תכונה, שלילת כל הטבות אבטחה.

המאפיין srcdoc

ה סרדוק תכונה היא תכונה המעניקה מעצב אינטרנט יותר שליטה על iframes, כמו גם אבטחה יותר. במקום לקשר לדף אינטרנט בכתובת אתר אחרת, מעצב האינטרנט מציב את ה- HTML שיוצג ב- IFRAME בתוך ה סרדוק תכונה.

בהתחלה, אתה עלול לחשוב, "איך זה שונה מאשר לשים את ה- HTML הנכון בדף?" ובמובנים מסוימים, זה לא שונה מאוד. אבל אתה צריך לזכור את אחד הפונקציות של IFRAME , כלומר לשמור על נתונים לא מהימנים בנפרד משאר האתר.

על ידי הצבת HTML שנוצר על ידי מקור לא מהימן, כגון טופס, לתוך IFRAME אתה יכול "ארגז החול" את התוכן לא מהימן ועדיין להציג אותו בדף. הערות לבלוג הן דוגמה. רוב הבלוגים יש רק מספר מוגבל של תגי HTML המגיבים יכולים להשתמש בהערות שלהם. אבל על ידי הצבת הערות אלה ארגז חול IFRAME משתמש ב סרדוק תכונה, הערות יכול להיות חזק יותר תוך שמירה על האתר כולו.

אבטחה ואיפרמס

שתי התכונות לעיל לספק אבטחה עבור שלך IFRAME אלמנטים, אבל הם לא הוכחה נגד כל האתרים הזדוניים. אם האתר הזדוני יכול לשכנע משתמש לגשת ישירות לתוכן העוין (כגון על ידי הקלדת כתובת האתר בדפדפן), עדיין ניתן לתקוף אותם.

אם הדבר אפשרי, מומלץ להגדיר את התוכן שנמצא בארגז חול IFRAME כמו טקסט / HTML-sandboxed סוג MIME.

התכונה חלקה

ה ללא תפר תכונה היא תכונה בוליאנית שאומרת לדפדפן להציג את IFRAME כאילו היה חלק ממסמך האב. אם אתה רוצה IFRAME כדי להציג בצורה חלקה, פשוט לכלול תכונה זו באלמנט:

ללא תפר >

אבל עושה את IFRAME חלקה יותר מאשר רק את המראה, זה גם איך הדף אינטראקציה עם המסגרת. לדוגמה:

  • קישורים ב IFRAME ייפתח בחלון האב, אלא אם כן IFRAME הדף כולל את היעד _עצמי בחר.
  • CSS ב IFRAME יתווספו למפל של המסמך כולו.
  • יסוד השורש של IFRAME דף נחשב לילד של IFRAME.
  • רוחב וגובה IFRAME נקבעים באופן דומה לאופן שבו ייקבעו אלמנטים אחרים ברמת החסימה.
  • כאשר מסמך האב מוצג על ידי כלי עיבוד דיבור כמו קורא מסך, IFRAME ייקראו מבלי להכריז על כך כעל מסמך נפרד.
  • כל סקריפטים במסמך האב ישפיעו על IFRAME מסמך באותו אופן. לדוגמה, אם סקריפט רשום את כל המסגרות בדף, הקישורים שב- IFRAME יהיה רשום גם כן.

במילים אחרות, ללא תפר תכונה עושה הרבה יותר מאשר רק להסיר את הגבולות מ IFRAME. אם אתה מתכוון להגדיר IFRAME כדי להיות חלקה, אתה צריך להיות בטוח מאוד של התוכן, כך שאתה לא להוסיף שום סיכון אבטחה לאתר האינטרנט שלך על ידי הטבעה של אתר זדוני.