מקודד / מפענח ישויות HTML
בצעו בריחה לטקסט לשימוש בטוח ב-HTML, המירו תווים מיוחדים לישויות מספריות, או פענחו ישויות חזרה לטקסט רגיל.
ישויות HTML נפוצות
| תו | ישות | מספרי | תיאור |
|---|---|---|---|
| & | & | & | אמפרסנד |
| < | < | < | סימן קטן-מ |
| > | > | > | סימן גדול-מ |
| " | " | " | מירכאות כפולות |
| ' | ' | ' | גרש (מירכה בודדת) |
| ⍽ | |   | רווח בלתי שביר |
| © | © | © | סימן זכויות יוצרים |
| ® | ® | ® | סימן מסחרי רשום |
| ™ | ™ | ™ | סימן מסחרי |
| € | € | € | סימן אירו |
| £ | £ | £ | סימן לירה שטרלינג |
| ¥ | ¥ | ¥ | סימן ין |
| ¢ | ¢ | ¢ | סימן סנט |
| § | § | § | סימן סעיף |
| ° | ° | ° | סימן מעלה |
| ± | ± | ± | סימן פלוס-מינוס |
| × | × | × | סימן כפל |
| ÷ | ÷ | ÷ | סימן חילוק |
| … | … | … | שלוש נקודות אופקיות |
| – | – | – | קו מפריד בינוני (En dash) |
| — | — | — | קו מפריד ארוך (Em dash) |
| « | « | « | מירכאות זווית שמאליות |
| » | » | » | מירכאות זווית ימניות |
| · | · | · | נקודה אמצעית |
אודות מקודד / מפענח ישויות HTML
HTML משתמש בכמה תווים לתחביר שלו עצמו, ולכן את סימן האמפרסנד, סימני קטן-מ וגדול-מ והמירכאות יש לכתוב כישויות כמו &, < ו-" כשהם מופיעים כטקסט. בריחתם היא גם קו ההגנה הראשון מפני XSS (הזרקת סקריפטים בין אתרים) כשמציגים קלט משתמש בדף. בחרו „תווים מיוחדים” כדי לבצע בריחה רק לחמשת התווים האלה, או „כל התווים שאינם ASCII” כדי להפוך גם אותיות עם סימני ניקוד, סמלים ואמוג׳י לישויות מספריות כמו é — שימושי למערכות ישנות, לתבניות דוא״ל ולקבצים בקידוד לא ידוע. מצב פענוח עושה את ההפך: הוא ממיר ישויות בשם, עשרוניות והקסדצימליות חזרה לתווים קריאים, בדיוק כפי שדפדפן עושה. טבלת הייחוס מציגה את הישויות שתזדקקו להן בתדירות הגבוהה ביותר. הכול פועל בדפדפן שלכם.
FAQ
מה ההבדל בין ' לבין '?
שתיהן מציינות גרש. ' מוגדרת ב-HTML5 וב-XML אך לא ב-HTML 4 הישן, ולכן הצורה המספרית ' היא הבחירה הבטוחה ביותר ועובדת בכל מקום.
האם בריחת HTML מספיקה למניעת XSS?
בריחת חמשת התווים המיוחדים מגינה על טקסט שממוקם בין תגיות ובתוך מאפיינים במירכאות. הקשרים של כתובות URL, JavaScript ו-CSS דורשים קידוד משלהם, ולכן השתמשו גם במנוע תבניות שמבצע בריחה כברירת מחדל ובמדיניות אבטחת תוכן (CSP).
האם להשתמש בישויות בשם או בישויות מספריות?
ישויות מספריות עובדות לכל תו Unicode ובכל מפענח. ישויות בשם קלות יותר לקריאה אך קיימות רק לחלק מהתווים. בדפי UTF-8 בדרך כלל צריך לבצע בריחה רק לתווים המיוחדים.