בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP

HTML Encode

תרחיש

(משימה דיי שיגרתית של קליטת טקסט מהמשתמש והצגתו על המסך)
בד"כ הקוד יכיל אלמט HTML מסוג INPUT נניח TEXT והמטרה היא פשוטה להציג בדפדפן טקסט שהקליד הלקוח בתיבת TEXT
קוד אופייני נראה כך :

<%= request("myInputBox") %> <form> <input type=text name=myInputBox> <input type=submit> </form>

ננסה להקליד קצת טקסט ונראה שאכן הקוד עובד.
אבל אם נקליד את הטקסט  

<B>

באופן לא מפתיע נגלה שלא מוצג כלום בדפדפן
הצצה ב-VIEW SOURCE תגלה לנו ש

<B>

קיים אבל הדפדפן התייחס אליו כמו לכל תג HTML אחר.

תרחיש נוסף

(במשתנה אנחנו מחזיקים מחרוזת כלשהיא ורוצים להציג אותה בתיבת TEXT בד"כ לתורך עריכה וכו...)
קוד אופייני נראה כך :

<% myStr= "Hello World" %> <input type=text name=myInputBox value=<%=myStr%> >

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

<% myStr= "Hello World" %> <input type=text name=myInputBox value="<%=myStr%>" >

ואכן הבעיה נפתרת למקרה הפרטי של רווח בטקסט אבל מה יקרה אם יהיו גרשיים בטקסט כמו כאן :

<% myStr= "Hello""World" %> <input type=text name=myInputBox value="<%=myStr%>" >

אולי אולי אפילו הסימן "גדול מ" כמו כאן :

<% myStr= "Hello>World" %> <input type=text name=myInputBox value="<%=myStr%>" >

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

<% myStr= "Hello>World" %> <input type=text name=myInputBox value="<%=server.htmlencode(myStr)%>" >

הערה חשובה

לפעמים Server.htmlencode משבש טקסט עיברי זהו באג ידוע ומיקרוסופט ממליצים להתקין את העידכונים האחרונים בשרת מניסיון אישי לא תמיד עוזר.
במאמר הבא urlencode כמה למה ומתי ..



         

מחבר: יגאל רשטניקוברמת קושי: 1  ||  עוד לא דורגכל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם