איך האבטחה עובדת

אין מפתח מסד נתונים בדפדפן

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

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

כל בקשה נבדקת מול כלל

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

כלל שהמודל כתב ואינו במילון שהשרת מכיר לא נשמר: הוא מוחלף בברירת המחדל הבטוחה של אותה פעולה. הפירוט המלא נמצא במי רואה מה.

משתמש של אפליקציה אחת אינו משתמש באחרת

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

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

האתר שלכם לא מדבר עם אף אחד

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

האתרים יושבים על שם מתחם נפרד מזה של המערכת, כך שקוד שרץ באתר בנוי לא יכול להגיע לחשבון שלכם כאן.

מה שלא מספרים

מזהה של פרויקט מופיע בכתובת, ולכן הוא לעולם לא מעניק גישה בעצמו. בקשה למשאב שאינכם רשאים לגעת בו מקבלת «לא נמצא» ולא «אין הרשאה» — כי התשובה השנייה מאשרת שהמשאב קיים.

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