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