תכונות תוכן, אבטחה ועיצוב עבור IFRAME
האלמנט מאפשר לך לשלב דפי אינטרנט אחרים ישירות בדף האינטרנט שלך. אבל בעת שימוש iframes יש כמה בעיות אבטחה ועיצוב שלא טופלו ב- HTML 4.01. HTML5 מביא שלושה מאפיינים חדשים למרכיב זה כדי לסייע בשאלות אלו:
מאפיין ארגז חול
מאפיין sandbox של אלמנט IFRAME הוא תכונת אבטחה שימושית מאוד של iframes. כאשר אתה מציב אותו באלמנט IFRAME, אתה מורה לסוכן המשתמש לאסור תכונות שעלולות לגרום לסיכון אבטחה לאתר ולמשתמשים שלו.
לדוגמה:
אומר לדפדפן לאסור את כל התכונות שעלולות להיות סיכון אבטחה. באופן ספציפי, יישומי פלאגין אינם מותרים. לא ניתן להגיש טפסים. Sscripts לא יפעל וקישורים מחוץ ל- IFRAME אינם מותרים. לבסוף, גישה לקובצי Cookie, לאחסון מקומי ולדפים אחרים באותו דומיין (מקור) אינם מותרים.
לאחר מכן, באמצעות ערכי מילות המפתח של ארגז החול, תוכל להפעיל מחדש חלק מהתכונות. מילות מפתח אלו הן:
- טופס-טופס-הגשת טופס
- script-allow-same-origin-toow כדי לגשת לתוכן כמו קובצי cookie מאותו תחום מקור
- לאפשר סקריפטים - סקריפטים אפשריים לרוץ IFRAME זה
- allow-top-navigation - אפשר את הקישורים והסקריפטים של IFRAME ליעד _top
אין זה רעיון טוב להגדיר הן את סקריפט ההיתרים והן את מילות המפתח המותאמות לאותו שם, באותו IFRAME. אם תעשה זאת, הדף המשובץ יכול להסיר לחלוטין את המאפיין sandbox, ובכך לבטל כל הטבות אבטחה.
המאפיין srcdoc
תכונה srcdoc היא תכונה המעניקה מעצב אינטרנט יותר שליטה על iframes, כמו גם אבטחה יותר. במקום לקשר לדף אינטרנט בכתובת אתר אחרת, מעצב האינטרנט מציב את ה- HTML שיוצג ב- IFRAME בתוך המאפיין srcdoc.
בהתחלה, אתה עלול לחשוב, "איך זה שונה מאשר לשים את ה- HTML הנכון בדף?" ובמובנים מסוימים, זה לא שונה מאוד.
אבל עליך לזכור את אחד הפונקציות של אלמנט IFRAME, שהוא לשמור על נתונים לא מהימנים בנפרד משאר האתר.
על ידי הצבת HTML שנוצרה על-ידי מקור לא מהימן, כגון טופס, לתוך מסגרת אפשר לסמן "ארגז חול" את התוכן הלא מהימן ועדיין להציג אותו בדף. הערות לבלוג הן דוגמה. רוב הבלוגים יש רק מספר מוגבל של תגי HTML המגיבים יכולים להשתמש בהערות שלהם. אבל על ידי הצבת אותן הערות ב IFRAME sandboxed באמצעות תכונה srcdoc, התגובות יכול להיות חזק יותר תוך שמירה על האתר כולו.
אבטחה ואיפרמס
שתי התכונות שלמעלה מספקות אבטחה עבור רכיבי IFRAME שלך, אך הן אינן הוכחה כנגד כל האתרים הזדוניים. אם האתר הזדוני יכול לשכנע משתמש לגשת ישירות לתוכן העוין (כגון על ידי הקלדת כתובת האתר בדפדפן), עדיין ניתן לתקוף אותם.
אם הדבר אפשרי, מומלץ להגדיר את התוכן שנמצא ב- IFRAME מסוג sandboxed כטקסט / html-sandboxed MIME.
התכונה חלקה
התכונה ללא תפר היא תכונה בוליאנית שאומרת לדפדפן להציג את IFRAME כאילו היה חלק ממסמך האב. אם אתה רוצה שה- IFRAME שלך יוצג בצורה חלקה, פשוט הוסף תכונה זו באלמנט:
אבל מה שהופך את IFRAME חלקה יותר מאשר רק את המראה, זה גם איך הדף אינטראקציה עם המסגרת. לדוגמה:
- קישורים ב- IFRAME ייפתחו בחלון ההורה , אלא אם כן דף ה- IFRAME כולל את היעד _SELF.
- CSS ב- IFRAME יתווסף למפל של המסמך כולו.
- אלמנט הבסיס של הדף IFRAME נחשב לילד של IFRAME.
- הרוחב והגובה של IFRAME נקבעים באופן דומה לאופן שבו יוגדרו רכיבים אחרים ברמת החסימה .
- כאשר מסמך ההורה מוצג על-ידי כלי עיבוד דיבור כמו קורא מסך, IFRAME ייקרא מבלי להודיע על כך כעל מסמך נפרד.
- כל סקריפטים במסמך האב ישפיעו על מסמך IFRAME באותו אופן. לדוגמה, אם סקריפט רשום את כל המסגרות בדף, הקישורים ב- IFRAME יופיעו גם כן.
במילים אחרות, התכונה חלקה עושה הרבה יותר מאשר רק להסיר את הגבולות מן IFRAME. אם אתה מתכוון להגדיר את IFRAME כדי להיות חלקה, אתה צריך להיות בטוח מאוד של התוכן, כך שאתה לא להוסיף שום סיכון אבטחה לאתר האינטרנט שלך על ידי הטבעה של אתר זדוני.