חיבור האפליקציה לנתונים
הוצג| English | משמעות |
|---|---|
| parameterised query/ˌpærəˈmetəraɪzd ˈkwɪərɪ/ | שאלה פאראמטרית |
ID תקף עדיין יכול לבקש נתונים פרטיים
- ID סטודנט יכול להיות שלם תקף ועדיין שייך למישהו אחר. אימות קלט לבדו לא צריך לפתוח רשימת קורסים פרטיים.
- למסלול זה, סטודנט מאומת יכול לקרוא רק את רשימתו个人. פתור זהות הפונה והטף מדיניות זו לפני חילוץ השורות הפרטיות.
מזהה סטודנט שהוגש הוא מהסוג הנכון. מה צריך לבדוק עוד עבור חיפוש פרטי?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
צורה תקינה אינה מבטיחה גישה.
חילוץ רק השורות והשדות המותרים
- Query ממוחזר (Parameterised query) קושר את ID הסטודנט המותר כנתון. בחר רק את השדות שהממשק זקוק להם, כמו ID קורס וכותרת.
- אל תוריד רשומות פרטיות לכל סטודנט וחביא את הרצויות מהדפדפן. המקבל יכול לבדוק את התגובה המלאה.
מדוע יש למנוע שליחת פרטי רישומים פרטיים עבור כל תלמיד ולהסתירם רק על ידי סינון בדפדפן?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
לבצע בדיקות גישה לנתונים פרטיים במחשב המרכזי לפני החזרת שורות.
הגדרת תגובות ריקות ומסרבות
- בחוזה זה, סטודנט מורשה ללא קורסים מקבל 200 ו
[]. משאב שאינו קיים או קורא שמסרבת עוקבים בהסכם API. - חלק מהמדיניות משתמש ב404 כדי למנוע חשיפת קיום פרטי. שמרו על מדיניות זו כשורה; אל תשתמשו בתגובת הצלחה כדי להסתיר כשל בסינת נתונים לא צפוי.
תחת חוזה מסלול זה, קיים תלמיד מורשה אך אין לו שום קורס. איזו תשובה מתאימה?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
רשימה ריקה מוצלחת היא תוצאה מוגדרת, ולא כשל בסיס נתונים.
הדמיית התגובה ללא מערבולת במצבים
- בהצלחה, הדמיית כותרות הקורס הנבחרים כטקסט. הציגו "אין עוד קורסים" רק לאחר תגובה ריקה מוצלחת.
- במהלך טעינה, הציגו שהבקשה מתנחלת. בכשל, הסבירו שהרשימה לא נטענה והציעו ניסיון חוזר מתאים; אל תטענו שהרשימה ריקה.
כתוב הודעות נפרדות לרשימה ריקה מוצלחת ולבקשה שנכשלה.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
"אין קורסים עדיין" שונה מ"לא ניתן להטמיע קורסים. נסה שוב.".
התאם את התקדמות ההחזרה לתצוגה.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
תציג רק את מה שהתוצאה הנצפית תומכת בה.
טיפול בשינוי ללא שמירה חלקית
- כתיבה המכילה שינויים מרובים בקשר לבסינת נתונים עשויה לדורש עסקה: בצעו את השינויים הרצויים יחד או ביטלו אותם בכשל.
- ואלידציה והסמכת הכתיבה באופן עצמאי. קריאה מוצלחת קודמת אינה ממסדת כל שינוי מאוחר יותר או הופכת ערך תפסנית לבטוח להעתקה לתוך SQL.
ערך בתפריט נופל בטוח להדבקה לתוך SQL מכיוון שהמשתמשים לא יכולים לשלוח ערכים אחרים.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הפונים יכולים לשלוח בקשות מעורבות. יש לקשר את הערך ולאמת אותו במחשב המרכזי.
כתיבות מקושרות עשויות לצרוך עסקה כדי שלא כשל ישאיר אחסון חלקי בשינויים המתוכננים.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
עסקה יכולה לאשר את קבוצת השינויים המתוכננת או לבטלה; עדיין נדרשים אימות והסמכה.
ביקורת על המסלול המורשה המלא
- עקבו אחר זהות והסמכה → קלט תקף → חיפוש פראמטר-מודע → תגובה מוגדרת → תצוגה כנה. בדיקת גישה מסרבת לפני בדיקת התצוגה.
- השתמשו בפריטים (fixtures) עבור רשימה רגילה, רשימה ריקה ובקשה כושלת. ודאו ששדות פרטיים ושורות של סטודנטים אחרים אינם נוכחים בתגובות מורשות.
שאלה תקנה היא חלק ממסלול תקון. הקורא, הנתונים המורשים, חוזה התגובה והמצב הנראה לעין חייבים גם הם להיות תואמים.
סדר את תהליך הרשימה המורשת הזו.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
בדיקות המחשב המרכזי מקדימות לחיפוש ולאספקה.