ישנם כמה גורמים עקריים
1- מניעת injection ל sql
2- מניעת שתילת קוד xss - javascript
3- אבטחה של בסיס נתונים
4. מנע נפילות שיגיעו למשתמש קצה
1. מניעת sql injection
למקרה זה יש פתרון פשוט , כל השאילתות לעבוד רק עם פרמטרים ,לא לשרשר משתנים למחרוזת sql
2. מניעת שתילת קוד javascript או תגיות html זדוניות
למקרה זה ישנם כמה דברים שצריך לבצע:
-בדיקת אורכי וסוג שדה - בדיקה ברמת סרבר , השתמש ב regular expression
-בדיקת משתני request ,cookies
-אם חייב לאפשר הכנסת קוד html לשדות - תבצע קידוד htmlencode
-קידוד קוד פלט - שלא יוכלו לשתול קוד גאווה סקריפט
-אל תציג כפלט את מה שאתה מכניס קקלט, או משתני session, application ללא קידוד
-תשתמש ב meta encode
-אם אתה קולט שמות קבצים בשדות ,תשתמש בשם המלא כולל הנתיב
- אם אתה קולט url בשדות - תקודד encodeurl
- הזהר מתאגים אלו ניתן להשתמש בהם לשתילת קןד זדוני