
select * מחזירה את כל השדות. מחליפים אותה בבחירה של שדות מסוימים בלבד: ID, FirstName, LastName ו-UserName.delete user.password.getOneUserAsync כך שיחזיר רק את ארבעת השדות. ב-updateUserAsync אין צורך, כי העדכון לא שולח סיסמה.הטקסט המלא של הדקות הראשונות בהרצאה «Preventing Password Response» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לבעיית סקיוריטי הבאה שקיימת באתר הזה, אבל לצורך כך אנחנו רוצים לראות משהו כאשר אנחנו מבצעים לוגי-אין. דבר ראשון, אני פותח באתר F12 ואני מסתכל רגע, בואו נעבור לאפליקיישן ונחפש את ה-Session Storage.
ב-Session Storage האתר מכיל מידע לגבי ההרשמה של היוזר. שזה בסדר גמור, כי אני כן רוצה לשמור בצד של הקליינט את העובדה שהוא עשה לי לוגד אין, כן או לא.
כרגע אני רואה שהסשן סטורג' פנוי לגמרי. בלוקל סטורג', אם הייתי שומר את זה, אז היה נשמר גם עבור גלישות הבאות. אני רוצה לשמור את זה כמובן בסשן סטורג', בשביל שזה יהיה רק בגלישה הנוכחית, שהוא יהיה רג'יסטר פר בגלישה הנוכחית.
אם הייתי רוצה, נניח, לשמור את זה גם עבור גלישות הבאות, שאם מחר הוא ייכנס לאתר הוא לא יצטרך לבצע לוג אין לדוגמא כמו בפייסבוק לדוגמא. אז בלוג אין אולי היה כדאי לבצע איזשהו צ'ק בוקס של ריממבר מי שאם היוזר מסמן ריממבר מי אז אני לא שומר לו את זה בסשן אני שומר את זה בלוקל אבל אפילו את זה אין לנו אני רוצה לשמור כרגע רק בסשן סטורג' בואו נראה מה קורה כאשר אנחנו
מבצעים לוג אין. אז היוזר מנסה להיכנס עם איזשהו יוזרניים ופסוורד מוישה ונכניס כאן 123, לא, בעצם זה היה מושיקו ו-1234 הייתה הסיסמה ונוריד את זה טיפה למטה, נבצע לוג אין ואנחנו רואים שיש לנו פה חיבור של היוזר ואנחנו עכשיו יכולים להיכנס לדף המוצרים, מה שלא יכלנו לבצע לפני זה.
אוקיי, אבל מה אנחנו רואים שכתוב פה? ID, first name, last name, username ו-password.
זה הדבר שאנחנו רוצים למנוע. ה security hack שקיימת פה כרגע זה שהאתר מחזיר בצורה שגויה כמובן את הפסוורד וזה משהו שאסור לעשות כי אז כל האקר יכול לבוא ולהתחיל לשים F12 עבור אתרים שחברים שלו גולשים בעבודה לדוגמה ולראות את הסיסמאות שלהם.
אז מה אנחנו רוצים לבצע? אנחנו רוצים לגשת לאתר בכל מקום שבו החזרנו את הסיסמה, לבטל את ההחזרה הזאת, למנוע את זה. כרגע זה היה בלוג אין.
למה זה הוחזר? למה גם הסיסמה הוחזרה? כי יש פה שאילתא שהיא נראית תמימה, אבל היא מכילה בתוכה את הבעיה הזאת. Select all from users. אני לא רוצה לבחור את כל השדות של יוזר.
אם אני מסתכל בדאטאבייס על יוזר, ליוזר יש ID, first name, last name, user. ופסוורד. בואו נניח שאת ה-ID אני כן רוצה, אולי אני עושה איתו משהו בהמשך, אבל את הפסוורד בהחלט אני לא רוצה להחזיר ללקוח.
לכן הפעולה הראשונה שאנחנו עושים זה מבינים שאנחנו לא מחזירים כל הפרטים בלוגאין ומבצעים החזרה רק של דברים ספציפיים שאנחנו רוצים. לדוגמה, ID, First Name, Last Name ו-User Name.
ועכשיו פתרנו את הבעיה עבור לוגאין. הדבר הבא זה לחפש בכל מקום שאנחנו מחזירים את כל המידע, לראות שאנחנו צריכים לטפל בזה. הנה דבר נוסף, כאשר היוזר עושה רג'יסטריישן,