PracticU

אבטחה - MVC Security - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס MVC › אבטחה - MVC Security - חלק 1
מילון מושגים:
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
Entity Framework - ספריית מיקרוסופט שממפה בין אובייקטים בקוד לבין טבלאות במסד נתונים, ומאפשרת לעבוד עם הנתונים בלי לכתוב SQL ישיר.
פריימוורק - מסגרת תוכנה שמספקת מבנה וכלים מוכנים לפיתוח יישומים, כדי לחסוך כתיבת קוד חוזר.
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.

אבטחה - MVC Security - חלק 1
השיעור פותח את נושא האבטחה באתר MVC: איך מונעים גישה לדפים לא מורשים, ואיך מתמודדים עם בקשות מזויפות מצד תוקפים.
הכנת טבלת הלוגין
1. טבלה חדשה: בבסיס הנתונים Northwind, שאינו כולל מנגנון אבטחה, מוסיפים טבלה בשם Logins עם שדה מפתח UserID מסוג int עם מספור אוטומטי, ושדות Username ו-Password מסוג nvarchar שאינם יכולים להיות ריקים.
2. בדיקה: מכניסים שורת משתמש לדוגמה, ורואים אותה בטבלה לאחר רענון.
3. חיבור ל-Entity Framework: ב-EDMX מבצעים Update Model from Database ומוסיפים את הטבלה החדשה, ואחר כך Clean ו-Rebuild.
הטבלה מוכנה, והשלב הבא הוא להתחבר אליה לצורך כניסה לאתר.
השיעור הבא בקורס: אבטחה - MVC Security - חלק 2
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: אבטחה - MVC Security - חלק 1

  1. 00:00

    הרשאות גישה לדפים לפי משתמשים ו-Roles

  2. 00:58

    הוספת טבלת Logins למסד Northwind

  3. 01:36

    הגדרת Identity ועמודות UserName ו-Password

  4. 02:12

    שמירת הטבלה והוספת משתמש

  5. 02:49

    עדכון המודל ב-Entity Framework

תמלול ההרצאה: אבטחה - MVC Security - חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «אבטחה - MVC Security - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:13

    יכול להיות שיש לכם באתר דף שאתם רוצים שכולם יצליחו לגלוש אליו, נניח דף בית. יכול להיות שיש לכם דף שאתם רוצים שאנשים יצליחו לראות אותו רק במידה והם נרשמו.

  3. 00:24

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

  4. 00:40

    כאן אנחנו הולכים לראות איך לבצע security באתר, כך שאנשים לא יצליחו להיכנס לדפים בלי להירשם, או גם אם הם נרשמים והם לא מורשים לראות את הדפים, הם לא יצליחו לראות אותם.

  5. 00:52

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

  6. 01:05

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

  7. 01:17

    אז בואו נפתח את מסד הנתונים, ניגש לטבלאות ונוסיף טבלה. נגדיר קודם כל איזשהו user ID, אינטג'ר, נגדיר את השדה הזה כשדה מפתח, ונגדיר לו שמסד הנתונים יספק לו איידנטיטי, זאת אומרת מספור אוטומטי רץ.

  8. 01:42

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

  9. 02:01

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

  10. 02:18

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

  11. 02:47

    אחרי שעשינו את זה אנחנו צריכים לגשת לפרויקט ולייבא את הטבלה לאנטיטי פריימורק ואנחנו נכנסים ל-edmx מקש ימני Update model from database בוחרים pluralize ובוחרים את הטבלה היחידה שלא הבאנו נבצע finish נאתר אותה הנה

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: יצירת פילטרים

ההרצאה הבאה: אבטחה - MVC Security - חלק 2

הרצאות קשורות מקורסים אחרים

  • הסבר על MVC
  • Security Groups - חלק 1
  • אבטחה עם VM Templates
  • מושגי יסוד ב-Security

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס Git ו-GitHub עם Visual Studio