בניית אתרים זה דבר מאוד חשוב, אך חשוב לזכור שגם ההגנה על האתר היא חלק בלתי נפרד מבניית אתר.
עכשיו הרבה אנשים שואלים את עצמם אם אני בונה למישהו אתר שבו אני רק מאחסן תגובות בעמוד אחד מה כבר יקרה?
אז אני אסביר מה יקרה, דבר ראשון יוכלו לכתוב HTML בתגובות ולהריץ סקריפטים ולהעביר לדף של אדם מתחרה.
דבר זה נקרא stored xss והדרך היחידה להגן עליו היא לעשות רשימה לבנה של פקודות שמותר להכניס.
כי אם אתה עושה רשימה שחורה יותר קל לעקוף כי תוקף יחשוב על דברים שלא חשבת עליהם אף פעם.
עכשיו דבר שני אתה אומר למה להגן על SQL injection?
הסיבה היא שאם לא תגן על זה למרות שזה רק דף של תגובות, יכולים להוסיף עוד טבלאות ל DB שלך.
ולמחוק את כל התגובות, ולעשות דברים שלא חלמת עליהם.
לכן חשוב כשאתה בונה אתר, לחשוב תמיד איך למנוע מהתוקף לבצע התקפה גם אם זה נראה לך משהו שלא נראה מזיק.
בשביל להגן על SQL injection יש כמה דרכים
קודם צריך לחשוב אם זה מספר או מילים שאתה מקבל בטופס.
כי זה מפגר להשתמש על משהו שהוא מספר בפונקציה שמבריחה תווים מסוכנים.
עדיף לבדוק אם זה מספר או לעשות איזה regex שיהפוך כל מה שלא מספר למספר או כלום.
לגבי XSS יש כמה אפשרויות, יש פונקציות שכותבים את כל הפקודות בצורה כזאת ככה שכל תג HTML יוצג על המסך.
ויש כאלה שפשוט מורידים את התגים.
כמובן שיש מקרים קיצוניים שזה לא יעזור, ולכן אתם צריכים לחשוב טוב טוב באיזה מצב אתם נמצאים ולפי זה להחליט מה לבצע.
לסיכום: אם אתה בונה אתר גם אם הוא נראה פשוט, תמיד תכתוב מוגן.
אם תהפוך את זה להרגל אז יהיה לך יותר קל לבצע את זה כבר כמובן מאליו ולא תצטרך לבזבז על זה הרבה זמן.
יש אנשים שלא מעניין אותם אבטחת מידע ואחרי זה צריכים לפנות לחברות חיצוניות ולשלם כמה אלפי שקלים כדי שיעשו
בדיקת חדירות לאתר וחבל על הכסף.
עדיף ללמד את המפתח על דברים שהוא יכול להימנע מלכתחילה.
אני לא אומר שהוא צריך להפסיק להשתמש בשירותים של בדיקת חדירות אבל יכולים להיות מקרים שהוא לא הצטרך להגיע אליהם בכלל.