[מוסיקה] דוד י Malan: בסדר. אז זה CS50 וזה הוא בסוף השבוע 10. אז כמה מכם אולי ראה את זה כבר, אבל שהופץ לאחרונה הוא מאמר שחשבתי שאני רוצה לקרוא קטע מתוך ולאחר מכן להראות לך שלוש דקות וידאו שמצייר את אותה תמונה. זה היה באמת סיפור נוגע ללב, אני חשב, בצומת זה של עולם אמיתי עם כנות משכנעת משתמש בטכנולוגיה. אז כותרת המאמר היה "ילד oversleeps על רכבת, משתמש ב-Google Maps כדי למצוא את המשפחה 25 שנה מאוחר יותר. "ו כמה פסקאות הראשונה היו, "כשSaroo היה בן חמש, הוא הלך עם אחיו הגדול ללשנורר עבור לשנות ברכבת נוסעת בעיר כשעתיים מעיר הקטן שלו. Saroo התעייף וקפץ על רכבת סמוכה, בו הוא חשב אחיו, ואחר כך נרדם. כשהוא התעורר הוא היה בכלכתה, כמעט 900 קילומטרים משם. Saroo ניסה למצוא את דרכו בחזרה, אבל הוא לא ידע שמו של עיר הולדתו. וכמו ילד קטן יודע קרוא וכתוב בעצום עיר מלאה בילדים שהיו לו נשכחים כמעט שום סיכוי לקבל בבית. הוא היה ילד רחוב לזמן מה עד סוכנות אימוץ מקומית מכור אותו עם זוג אוסטרלי שהביא אותו ל לחיות בובארט, טסמניה. Saroo עבר לשם, למד אנגלית, וגדלה. אבל הוא אף פעם לא הפסיק לחפש בני משפחתו ומולדתו. עשרות שנים מאוחר יותר, הוא גילה גוגל כדור הארץ ופסי רכבת ואחריו. ונותן לעצמו רדיוס שנקבע בהתבסס על כמה זמן הוא חשב שהוא ישן וכמה מהר הוא חשב ברכבת היה הולך, הוא ידע שהוא גדל באקלים חם, הוא ידע שהוא דיבר , ונאמר לי הינדי כילד הוא שהוא נראה כמו שהוא היה ממזרח הודו. סוף סוף, אחרי שנים של הגעלה את תצלומי הלווין, הוא זיהה כמה ציוני דרך. ולאחר שיחה עם מנהל מעיירה סמוכה של דף בפייסבוק, הוא הבין הוא מצא את הבית ". אז הנה אז הוא מספר לי הווידאו שסיפור מנקודת המבט שלו. [השמעת וידאו] -זה היה לפני 26 שנים והייתי רק על מנת להפעיל חמש. אנחנו הגענו לתחנת הרכבת ו עלינו לרכבת יחד. האח שלי פשוט אמר אני אשאר כאן ואני אחזור. ואני רק חשבתי, טוב, אתה יודע, אני יכול גם פשוט ללכת לישון ו אז הוא פשוט יצטרך להעיר אותי. וכשאני מתעורר ביום שלמחרת, כל הקרון היה ריק בבורח רכבת, רכבת שדים לוקחים לי שאני לא יודע מאיפה. אני אימצה את לאוסטרליה למשפחה אוסטרלית. ואמא קשטה את החדר שלי עם את המפה של הודו, שבה לשים ליד המיטה שלי. התעוררתי כל בוקר לראות את המפה ש, ולכן, זה סוג של שמר זכרונות חיים. אנשים היו אומרים, אתה מנסה למצוא מחט בערימת שחת. Saroo, אתה אף פעם לא תמצא אותו. שיהיה לי הבזקים של המקומות ש נהגתי ללכת, את ההבזקים הפרצופים של המשפחה שלי. הייתה שם התמונה של האמא שלי יושבת למטה עם רגליים שלובות רק צופה לה לבכות. חיים הוא פשוט כל כך קשה. זה היה אוצר שלי. ואני מחפש בגוגל ומפת הבין שיש ב-Google Earth גם כן. בעולם שבו אתה יכול להתקרב אליי התחיל לקבל את כל המחשבות האלה ו מה אפשרויות ש זה יכול לעשות בשבילי. אמרתי לעצמי, טוב, אתה יודע, יש לך את כל צילומים זכרונות וציונים דרך שבו אתה נמצא ומאתה יודע מה העיר נראית. זה יכול להיות יישום שאתה ניתן להשתמש בו כדי למצוא את הדרך חזרה. חשבתי, טוב, אני אשים את נקודה על תחנת רכבת כלכתה ברדיוס קו שאתה צריך להיות מחפש סביב אזור זה. אני נתקלתי בפסי רכבת אלה. ואני התחלתי לעקוב אחריו והגעתי ל תחנת רכבת שבאה לידי ביטוי אותה תמונה שהייתה בזיכרונות שלי. כל מה שמתאים. אני רק חשבתי, כן. אני יודע לאן אני הולך. אני רק הולך לתת את המפה שאני יש לי בראש כדי להוביל אותי ולקחת אותי בחזרה לעייר המולדת שלי. הגעתי למפתן הדלת של הבית כי אני נולדתי והתהלכתי כחמישה עשרה מטרים מעבר לפינה. הייתה שם שלוש נשים שעמדו מחוץ צמוד זה לזה. ואחד באמצע צעד קדימה. ואני רק חשבתי, זה היא האמא שלך. היא התקרבה אליו, היא חיבקה אותי, ואנחנו היו שם בערך חמש דקות. היא תפסה לי את היד, והיא לקחה אותי ל הבית ולי בטלפון והיא צלצל אחותי ואחי לומר שהאח שלך יש רק את כל פתאום הופיע כמו רוח רפאים. ואז הייתה המשפחה התאחד שוב. הכל כבר טוב. אני עוזר לאמא שלי החוצה. היא לא צריכה להיות עמל בפרך. היא יכולה להוביל את שאר החיים שלה בשלום. זה היה מחט בערימת שחת, אבל המחט הייתה שם. יש שם הכול. כל מה שיש לנו בעולם הוא ברז של כפתור. אבל אתה צריך שתהיה לו הרצון ו הנחישות כדי לרצות את זה. [השמעת וידאו הסוף] אז סיפור ממש מתוק. וזה מזכיר לי ממש של די נושא שכבר מקבל לא מעט תשומת הלב של המנוח בארגמן, יותר ארצי באופן כללי. במיוחד כאשר הם לוקחים MOOCs השלב מאוחר. MOOCs להיות אלה מסיביים ופתוחים קורסים מקוונים של CS50 שהוא אחד. ואנשים מדברים על איך, ל למשל, במדעי הרוח הן לא ממש התעדכנות או אינם כמעט כמו באופנה כמו שהיו פעם. והייתי ממליץ לך חבר 'ה, הרבה כמו יונתן עשתה ביום שני, לחשוב בערך כמו שאתה יוצא 50, ואנחנו יודעים כבר כ -50% מכם שלא יהיו להמשיך לקחת את מחשב אחר קורס במדע, וזה לגמרי קנס וצפוי. כי אחת ממטרות חובקי העולם ממעמד כזה הוא באמת להעצים אותך עם החבר 'ה פשוט הבנה של איך כל הדברים האלה עובד ואיך העולם הזה עבודות טכנולוגיה. כך שכאשר אתה חוזר בעצמך עולמות, בין אם זה לפני או מד בין אם זה במדעי הרוח או מדעי חברה או תחום אחר בסך הכל, שאתם מביאים קצת הבנה טכנית לשולחן ו עוזר לקבל החלטות חכמות כאשר זה מגיע לשימוש וב כניסתה של טכנולוגיה לתוך העולם שלך. למשל נזכרתי מאוחר מדי של שתיים מהסטודנט לתואר הראשון כיתות שצילמתי לפני שנתיים, שהיו שימושים פשוטים כאלה של טכנולוגיה אבל אי פעם כל כך משכנע. הלילות ראשונים עם פרופ 'טום קלי אם כבר לקח את הכיתה. זה שיעור במוסיקה קלסית על שלב זה שבו אתה לומד כאן משהו קטן על מוסיקה. זה בעצם הלילות ראשון שCS50 שאל את הרעיון של מסלולים למי פחות נוח בבין ונוח יותר. בזמן שלי שהיו להם מסלולים שונים לילדים עם שום מוסיקה לחוות כמוני, ולאחר מכן ילדים ש היה ביצוע שכן הם היו חמש שנים. ומעמד זה, למשל, ממש לא היה לי אתר אינטרנט כמו כל דבר אחר ביותר, אבל זה היה אתר שאפשרו לך מוסיקה לחקור עליו ולהשמיע קטעים מוזיקליים מכיתה, מהאינטרנט, ופשוט להשתמש בטכנולוגיה בצורה מאוד דרך חלקה. עוד שנים ברמה מאוחר יותר כי אני מבוקר, למעשה, באוניברסיטה, 1010 Anthro, מבוא לארכיאולוגיה כאן. זה היה מדהים. ואחד משכנעת עדיין סופר ביותר מובן מאליו, במבט לאחור, משתמש בשל תוכנה הייתה כי הפרופסורים ב הכיתה שהשתמש ב-Google Earth. ישבנו מעבר לרחוב באיזה אולם הרצאות. ואתה לא יכול לנסוע, למשל, למזרח התיכון כדי לחפור כי אחד הפרופסורים רק חזרו על, אבל אנחנו יכולים לעשות את זה כמעט על ידי עפים ב-Google Earth ו מביט במבט ממעוף ציפור על לחפור באתר הוא חזר רק לפני כשבוע מ. אז הייתי ממליץ לך חבר 'ה, במיוחד במדעי הרוח, ללכת לגבות למחלקות האלה אחרי זה כיתת הבאת הפרויקטים הסופיים שלך איתך או רעיונות משלך, ותראה את בדיוק מה שאתה יכול לעשות כדי להחדיר שלך שדות של במדעי רוח או מעבר עם קצת מסוג זה של דבר שאנחנו כבר חקרנו כאן בCS50. אז עם התמונה שציירה, חשב היינו לנסות להתמודד עם שני דברים היום. אחד, תנסה לתת לך תחושה של שבו אתה יכול ללכת אחרי 50. ובפרט, אם תבחר להתמודד עם פרויקט מבוסס אינטרנט כמו נפוץ מאוד, איך אתה יכול ללכת על לקחת את כל CS50 של גלגלי עזר ויוצא לשם על משלך ושלא יצטרך להסתמך על PDF או מפרט של pset? שלא יצטרך להסתמך על CS50 מכשיר יותר. אבל באמת יכול למשוך את עצמך על ידי המגף שלך. עם זאת אמרה, C-מבוסס סופי פרויקטים יתקבלו בברכה. דברים שהשתמשו במעמד ל ספרייה ניידת ב גרפיקה תתקבל בברכה. אנחנו רק יודעים שסטטיסטית הרבה אנשים לנגוס פרויקטים ב-PHP ו פייתון ורובי ו-MySQL ואחרים סביבות, כך יהיו לנו נטייה כלשהי של דברינו כלפי זה. אבל מבט מהיר לאחור. אז לקחנו כמובן מאליו בpset7 למעשה $ _SESSION שהיה קיים. זה היה סופר גלובלי, עולמי, מערך אסוציאטיבי. ומה זה ייתן לך לעשות? מבחינה תפקודית, מה תכונה זו נותנת לנו? כן? כדי לעקוב אחר זהותו של המשתמש. ולמה זה שימושי? כדי להיות מסוגל לאחסן בתוך סופר JHarvard הגלובלי או [? Scroobs?] או זיהוי המשתמש של מלאן כש או שהיא מבקרת באתר. בדיוק. אז אתה לא צריך להיכנס בשוב ושוב. זה יהיה עולם אינטרנט רחב באמת צולע אם בכל פעם שלחצת על קישור באתר כמו פייסבוק או בכל פעם אתה לוחץ על דוא"ל ב-Gmail הייתי צריך לאמת מחדש כדי להוכיח כי זה עדיין לא אתה והשותף שלך שאולי ניגש אליך מחשב בהיעדרך. אז אנחנו משתמשים במושב רק זוכר מי אתה. ואיך זה מיושם מתחת למכסת המנוע? איך אתר זה משתמש, פרוטוקול שדפדפני אינטרנט ושרתים לדבר, איך עושה HTTP, שהוא פרוטוקול חסר נתינות, נניח. ועל ידי חסר נתינות אני מתכוון, ברגע שאתה להתחבר לאתר, להוריד קצת HTMLs, קצת JavaScript, קצת CSS, הסמל של הדפדפן מפסיק להסתובב. אין לך חיבור קבוע בדרך כלל לשרת. זה מכיל. אין עוד מדינה טענה כל הזמן. אז איך מושב מיושם בכזה אופן שבו בכל פעם שאתה עושה את הביקור דף החדש, האתר זוכר מי אתה? מה היישום הבסיסי פירוט? לצעוק את זה. זה מילה אחת. עוגיות. בסדר. אז עוגיות. ובכן, באופן שימוש עוגיות? אנחנו זוכרים שעוגייה היא בדרך רק פיסת המידע. וזה לעתים קרובות גדול אקראי מספר, אבל לא תמיד. ועוגייה נטועה עליך קשה כונן או בזכרון RAM של המחשב שלך, כך כי בכל פעם שתבקר מחדש באותו אתר אינטרנט, הדפדפן שלך מזכיר לי שרת, אני משתמש 1234567. אני משתמש 1234567. וכל זמן שהשרת נזכר משתמש שהוא 1234567 JHarvard, האתר יהיה פשוט להניח שאתה מי שאתה אומר שאתה. ולהיזכר שאנו מציגים את העוגיות האלה סוג של בצורת יד דוכן וירטואלי. הוא נשלח בכותרות HTTP רק כדי להזכיר לשרת שאתה מי שזה חושב שאתה נמצא. כמובן, יש איום. איזה איום זה לפתוח אותנו לאם אנחנו בעצם משתמשים סוג של מועדון או מנגנון פרק שעשועים בשביל לזכור את מי שאנחנו? אם אתה מעתיק קובץ ה-cookie של מישהו ולחטוף הפגישה שלהם, אם אפשר לומר כך, אתה יכול להעמיד פנים שהוא מישהו אחר ו האתר ככל הנראה רק הולך מאמין לך. אז אנחנו נחזור לזה. בגלל נושא האחר מעבר להיום העצמה גם מדברת על העולם מאוד המפחיד שאנחנו חיים ב ורק כמה ממה שאתה עושה ב האינטרנט, כמה ממה שאתה עושה אפילו על הטלפונים הסלולריים שלך היום יכול להיות מעקב על ידי מישהו באמת בין אותך ואת הנקודה ב ' ואייאקס, כזכור. הסתכלנו רק לזמן קצר בזה, למרות שאתה כבר משתמש בה בעקיפין בpset8 כי אתה משתמש Google Maps ו-בגלל שאתה באמצעות Google Earth. Google Maps ו-Google Earth לא להוריד את העולם כולו לשלך שולחן עבודה, כמובן, רגע אתה טוען pset8. זה רק מוריד ריבוע של העולם או ריבוע גדול יותר של כדור הארץ. ואז כל פעם שאתה סוג של לנווט מחוץ לטווח שאתה יכול להבחין - במיוחד אם בחיבור איטי - לך אולי לראות כמה אפור לרגע או קצת דימויים מטושטשים כ הורדות למחשב יותר אריחים כאלה, דימויים כאלה יותר מ עולם, או את כדור הארץ. ואייאקס היא בדרך כלל הטכניקה שבו אתרי אינטרנט עושים את זה. ברגע שאתה זקוק ליותר של המפה, שלך דפדפן הוא הולך להשתמש באייאקס, שהוא לא את עצמו שפה או טכנולוגיה, זה רק טכניקה. זה השימוש ב-JavaScript ללכת לקבל מידע נוסף משרת ש הדפדפן שלך מאפשר לך לקבל מה ש המזרח או מה שממערב מה אחרת כרגע מוצג במפה זו. אז זה נושא שרבים מכם יהיה מפגש בין במישרין ובין בעקיפין באמצעות פרויקטי גמר אם בוחר לעשות משהו שהוא באופן דומה הדינמי של כי משיכת נתונים מאתר צד שלישי. אז יש לנו באמת מרגש ביום רביעי הבא קדימה. אחד חידון, המידע שעבורו הוא על CS50.net כבר. יודע שתהיה פגישת ביקורת ביום שני הקרוב בשעה 5:30. התאריך והשעה כבר פורסמו על CS50.net בכי על סדין. ואל לנו עליך יש לך שאלות. בינתיים הוא כבר Pset8 בידיים שלך. ותנו לי רק כתובת אחת שאלות נפוצות כדי להציל את אנשים קצת לחץ. ברוב המקרים הרבה פטפוטים אנו רואים בשעתי עבודה והרבה את הבאגים שאנחנו רואים הם דיווחו על דונו אכן באגים בקוד של תלמיד. אבל כאשר אתה נתקלנו משהו כמו ב-Google Earth התוספת מתרסק או אפילו לא עובד ואתה בטוח שזה לא אתה, זה לא [? ] נושא? Chamad, זה לא באג שהוכנסת קוד הפצה. מבין רק לידיעתך - זה סוג של תכנית Z - כי בפעם האחרונה שהשתמשנו בבעיה זו להגדיר ונתקלנו דומים בעיות, יש שורת קוד ב service.js שבעצם הוא זה, שאומר, פונה בבניינים. והם עובדים מסביב לפעם האחרונה ש עשה, שוב, מקרי פינה שבה בחודש זה תלמידים פשוט לא יכלו לקבל את לעזאזל דבר לעבודה הוא שינוי אמיתי לכוזב שבשורה אחת של קוד. ולך תמצא אותו אם תחפש דרך service.js. אני לא ממליץ על זה, כי אתה יהיה ליצור נוף הצחיח ביותר קיימברידג', מסצ'וסטס. זה יהיה ממש לשטח את העולם שלך כך שכל מה שאתה רואה הם ההוראה בחורים ועוזרים כמובן על אופק ולא מבנים. אבל מבין מכל הסיבה Google Earth Plug-in נראה עדיין להיות כרכרה שנה מאוחר יותר, ולכן זה יכול להיות שלך להיכשל לשמור. אז במקום אתר נופש עד דמעות, נופש כדי להפוך את מבנים אם אתה יודע זה התוספת שאינו משתפת פעולה ב-Mac או במחשב האישי שלך. אבל, זה שוב מוצא אחרון, אם אתה בטוח שזה לא באג. אז Hackathon. כמה טיזרים רק כדי לעורר אותך. היו לנו לא מעט תשובות מוזמנות. ורק כדי לצייר תמונה של מה מחכה, חשבתי שאני רוצה לתת לך כמה שניות להיזכר בדימויים זה מהשנה שעברה. [מוסיקה] דוד י Malan: חכה, הו. יש לנו אפילו CS50 ההסעות המילולית שלנו. [מוסיקה] דוד י Malan: אז זה מה שמחכה לי שלך במונחים של Hackathon. וזו תהיה הזדמנות, כדי שיהיו ברור, לא להתחיל הסופי שלך פרויקטים אלא כדי להמשיך לעבוד על פרויקט הגמר שלך לצד חבריו לכיתה ואנשי צוות והרבה אוכל. ושוב, אם אתה ער שעת 5:00 בבוקר אנחנו ניקח אותך בדרך לבית הפנקייק הבינלאומי. ההוגן CS50, בינתיים, הוא שיאו לכל הכיתה בי תוכל להביא את המחשבים הניידים והחברים שלך, אולי אפילו בני משפחה לחדר בקמפוס במורד הרחוב כדי להפגין את הפרויקטים שלך על מחשבים ניידים, על שולחנות גבוהים כזה עם המון אוכל וחברים ומוסיקה ברקע, כמו גם את החברים שלנו מהתעשייה. חברות כמו פייסבוק ומיקרוסופט וגוגל ואמזון וצרורות אחרים, כך שאם מעוניין בסתם שומע על העולם האמיתי או משוחח עם אנשים על עולם האמיתי הזדמנויות בזמן התמחות או מלאה, יודע שחלק מהחברים שלנו מהתעשייה תהיה שם. וכמה תמונות שאנחנו יכולים לצייר כאן הם כדלקמן. [מוסיקה] דוד י Malan: בסדר. כך שלאחר מכן הוא הוגן CS50. אז בואו עכשיו להמשיך לספר סיפור שבאמת יהיה להעצים אותך בתקווה לדברים כמו עבודות גמר. אז אחת כמה דברים קטנים לזרעך מוח או לפרויקטים, סופיים או פשוט יותר בדרך כלל לפרויקטים ש ייתכן שתחליט להתמודד לאחר כמובן, כל אלו הן מתועדות על manual.cs50.net בי CS50 מדריך שבו יש לנו המון טכניקות מתועדות. וזו רק סימון מקוצר עבור אומר כי קיים ב בעולם דברים בשם SMS לדוא"ל שערים, אשר הוא דרך מפוארת של אומר, יש שרתים בעולם שיודעים כיצד להמיר מיילים ל הודעות טקסט. אז אם לפרויקט הגמר שלך אתה רוצה כדי ליצור איזשהו נושא נייד שירות המאפשר לך כדי להתריע בפני חברים או משתמשים לאירועים בקמפוס או מה שמגיש באולם D באותו הלילה או כל תכונת התראה כזו, יודע שזה פשוט כמו שליחה דוא"ל כעם שבו אתה PHPMailer ייתכן ששמש לpset7 או שראינו בקצרה לפני שבוע או כך, כדי כתובות כמו זה. ולמעשה אתה יכול טקסט הזה בהנחה יש לחבר שלך הודעות SMS ללא הגבלה תכנית ואתה לא רוצה כדי לגבות מהם 0.10 $. אבל אם אתה שולח דוא"ל לחבר שלך שאתה יודע שיש או ורייזון AT & T להשתמש ב-Gmail ופשוט שולח אותו ל מספר הטלפון שלהם בכל מה תת תחום שיש, להבין שאתה יהיה לשלוח הודעת טקסט. אבל זה אחד מהדברים האלה להיות זהיר של. אם אתה טרול דרך CS50 של השנה שעברה סרטונים שאני חושב שזה היה, זוועה, באג מזוויע, מחריד שכתבתי בקוד בסופו של שליחה על 20,000 טקסט הודעות לחיות לנו תלמידים בכיתה. ורק בגלל שמישהו שם לב ש הם מקבלים טקסט מרובה הודעות ממני עשו לי אמצעים לרמה של בקרת מהירות C ולעצור את התהליך הזה. ג השליטה, אתה זוכר, הוא חבר שלך במקרים של לולאה אינסופית. ולכן צריך להיזהר בכח שאנחנו פשוט נתנו לי ולא אליך בחוסר אחריות, רוב סביר להניח, על סמך הניסיון שלי. אבל זה באינטרנט ויש לו הייתי שם במשך זמן מה. בסדר. אז textmarks.com. אז זה אתר אינטרנט. ויש צרורות של אחרים שם בחוץ כמו גם שיש לנו בשימוש בפועל כמעמד במשך שנים כדי להיות מסוגל כדי לקבל הודעות טקסט. למרבה הצער, שליחת הודעות טקסט היא קל כמו שליחת דואר אלקטרוני מהסוג הזה. מקבל קצת יותר קשה, במיוחד אם אתה רוצה להיות אחד אלה קודים קצרים סקסיים זה רק חמש או שש ספרות ארוכה. כך למשל, במשך שנים שהיית תוכל לשלוח הודעת טקסט - ולך יכול לנסות את זה גם כן - ל41,411. וזה מספר הטלפון של אתחול המסוים הזה. ואם אתה שולח הודעה ל41,411 - אני רק כותב את זה כאן, אז 41,411 - ולאחר מכן לשלוח להם הודעה אוהב SBOY לילד הסעות. ולאחר מכן הקלד במשהו כמו מאת'ר מרובע. אז אתה שולח הודעת טקסט ש למספר הטלפון הזה. תוך כמה שניות אתה צריך לחזור תגובה מהסעות CS50 שירות ילד, המהווה את המעבורת תזמון תוכנה שהיו לנו את יש באינטרנט כבר כמה זמן. וזה יגיב שלך באמצעות הודעת טקסט. בגלל מה שעשינו כמעמד, כפי מתכנת, הוא לכתוב תוכנה, מוגדר חשבון חינם שלנו עם טקסט סימנים להקשיב להודעות טקסט שנשלחו לSBOY במספר הזה. ומה שהם עושים הוא קדימה טקסט אלה הודעות לאתר שלנו מבוסס PHP כ פרמטרים HTTP אומרים, כאן. משתמש זה באמצעות מספר הטלפון הזה שלחתי לך הודעת הטקסט הזה. לעשות איתו מה שאתה רוצה. אז כתב כמה תוכנות שעל קבלת מחרוזת כמו SBOY מאת'ר מרובע, אנו לנתח אותו. שלנו להבין איפה את החללים הם בין מילים. ואנחנו כמעמד להחליט איך להגיב לזה. ואם אתה מנסה את זה עכשיו, למשל, אתה צריך לראות, דרך תשובה בתוך כמה שניות, הולכים לכמה המעבורות הבאות ממאת'ר למרובע, אם בכלל. ויש גם תחנות אחרות. אתה יכול להקליד בוילסטון או אחר כגון עוצר בקמפוס, ושהוא צריך מכיר את המילים האלה. אז parse.com. זה עוד שירות שאנחנו כבר כמה סטודנטים מצביעים ל פרויקט גמר זה נפלא בכך שזה בחינם עבור כמות סבירה של שימוש. ואם אני הולך לparse.com תראה כי מדובר בחלופה ל למעשה יש משהו כמו מסד הנתונים MySQL שלך. ולמען האמת, זה פשוט סוג של מהפנט. זה מה שיש בפנים של ענן גם ביום מעונן. אז parse.com מאפשר לך לעשות חבורה של דברים מעניינים. ויש גם חלופות אחרות לזה שם בחוץ. למשל, אתה יכול להשתמש בם מסד הנתונים כקצה האחורי שלך. אז אתה לא צריך חברת אירוח אתרים. אתה לא צריך שיהיה לי מסד הנתונים. MySQL במקום זה אתה יכול להשתמש בקצה האחורי שלהם. אם אתה עושה פרויקט לסלולרי אנדרואיד או iOS או משהו דומה, יודע כי קיימים דברים כמו שירותי שכיבות כך שאתה יכול לדחוף את ההתראות לחברים שלך או מסכי הבית של המשתמשים. ולאחר מכן חבורה של השני תכונות גם כן. אז אם יש לך עניין, לבדוק את אלה אתרי אינטרנט ואתרי אינטרנט כמוהם רק כדי לראות כמה עמים אחרים " כתפיים אתה יכול לעמוד על לעשות תוכנה ממש מגניבה משלך. עכשיו במונחים של אימות, שאלות ותשובות, הוא איך אתה בעצם מבטיח שהמשתמשים שלך הם אנשים בקמפוס, תלמידי הרווארד או סגל או צוות? אז יש CS50 אימות משלו שירות שנקרא CS50 מזהה. עבור לכתובת אתר ושאתה יכול להגביל אותך אתר לכל עם הרווארד מזהה, למשל. כך יודע שאנחנו יכולים להתמודד עם זה. אתם לא צריכים להיות בעסק לומר, מה הרווארד תעודת הזהות שלך? מה PIN הרווארד שלך? תן לי עכשיו לעשות עם זה משהו. אנחנו נעשה את כל זה. ומה שאנחנו נחזיר לך הוא שמו של מישהו וכתובת דואר אלקטרוני, אבל לא כל דבר רגיש. אפליקציה במכשיר נייד, זה יכול להיות עשוי לעבוד במכשיר נייד, אך זה לא ממש נועד בשביל זה. אז תקבל בסופו של דבר הוצאות שאינן טריוויאלי כמות הזמן לעשות זאת. אז אני הייתי להרתיע המסלול כי לעת עתה. זה באמת מיועד ל יישומים מבוססי אינטרנט. אז אירוח אתרים. אז אם אתה לא ראית על בדף הבית של הקורס - וכאן מקום שבו נתחיל את סיפור - אירוח הוא על כל תשלום עבור בדרך כלל שירות, לארח שרת בבעלות על ידי מישהו אחר באינטרנט שיש לו כתובת ה-IP, ולאחר מכן לשים את שלך אתר על זה. והם בדרך כלל לתת לך דוא"ל חשבונות ומסדי נתונים תכונות כאלה ואחרות. יודע שאם אתה לא רוצה באמת לשלם עבור כזה, ללכת לכתובת האתר ש יש ויש CS50 למעשה ללא כוונת רווח חשבון שאתה יכול להשתמש בו כדי למעשה יש לא http://project הפנימי של המכשיר לפרויקט הגמר שלך. אם אתה באמת רוצה שזה יהיה משהו כמו, isawyouharvard.com, אתה יכול לקנות שם תחום זה - אם כי לא אחת מסוימת ש-- ו אז אתה יכול ללכת על אירוח אותו על שרת אינטרנט ציבורי כמו שאנחנו יכולים להציע אתם דרך כאן. ולמעשה, אם לא מוכר, אם אתה אף פעם לא היה לי isawyouharvard.com, אחת, ללכת לשם. אבל שתיים, שיודע שהיה צעיר שמה של האישה על ידי טז' כדי Toor מדי שני לפני שנים, לפני שלוש שנים, שהיה CS50 בוגרים שקרו יום או ימים לפני הוגן CS50 שלח דוא"ל לרשימת התפוצה של הבית שלה וזהו. יומיים לאחר מכן על ידי CS50 הוגן, הייתה לה מאות משתמשים בכל זוחל על אחד את השני באתר האינטרנט שלה ו אומר איך שהם ראו שלה או לו בקמפוס. אז זה אחד האהוב של CS50 סיפורי הצלחה של פרויקט גמר CS50. אז איך אתה הולך על לשים באתר אוהב את זה באינטרנט? ובכן, יש כמה כגון מרכיבים כאן. אז אחד, אתה צריך לקנות שם דומיין. ישנם מקומות בצרורות העולם שמאתה יכול לקנות שם דומיין. ולמשל, אחד שאנו ממליצים רק בגלל שזה פופולרי וזה זול נקרא namecheap.com. אבל אתה יכול ללכת וgodaddy.com עשרות אחרים שם בחוץ. אתה יכול לקרוא על חוות דעת. אבל ברוב המקרים זה לא משנה ממך לקנות שם דומיין. והם משתנים במחיר ו הם משתנים בסיומת. סיומות כמו. Com,. נטו, . Org,. IO,. טלוויזיה, אלה למעשה להשתנות מחיר. אבל אם אנחנו רוצים לעשות משהו כזה cats.com אנחנו יכולים ללכת לאתר זה, לחץ על חיפוש. יש להניח שזה אחד הוא נלקח. אבל ככל הנראה, catsagainst.com זמין. pluscats.com זמין. Lovecats, catscorner, dampcats.net. כל זה פסאודו תקווה באופן אקראי שנוצר. אם אתה רוצה cats.pw, 1,500 דולרים בלבד, וזה קצת לא שפוי. אז מישהו באמת חטף את כל את שמות מתחם הקשורים לחתולים כאן מחירים משתנים. במאמר מוסגר, בואו נראה. מי שיש לי cats.com? יודע שיש לך חבר 'ה ב לרשותכם די פקודות מתוחכמות עכשיו. כמו שאני יכול, פשוטו כמשמעו, הקלד מי הוא cats.com? ובגלל הדרך שהאינטרנט הוא בנוי למעשה אתה יכול לראות מי רשם את זה. כנראה שהאדם הזה הוא [לא ברור] משתמש בשירות פרוקסי. אז מי בעלי cats.com לא רוצה העולם יודע מי הם. אז הם כבר רשומים אם באמצעות כמה שירות פרטיות אקראי. אבל לפעמים אתה באמת בעלים מקבלים בפועל. וזה אומר, במיוחד אם אתה רודף כמה אתחול ואתה באמת רוצה קצת שם תחום ואתה מוכן לשלם למישהו אחר את זה, אתה יכול להבין את קשר מידע בדרך זו. אבל גם הוא מעניין הזה. בואו לגלול עד החלק הזה בי. אז זה הוא שאותו פלט. וזו רק דביקה. אז כנראה cats.com יכול להיות שלך למחיר הנכון. אבל מה שמעניין כאן הוא ששר שם - זו התעללות מוחלטת של מה שם השרת אמור להיות - את השם שלך שרת לא אמור להיות thisdomainforsale.com. אם אנחנו באמת לבחור משהו כמו - בואו לבחור משהו קצת יותר לגיטימי כמו, מי הוא google.com, ולגלול עד כאן. אז הנה - מה קרה שם? מעניין. מעבר מי - בואו לשמור אותו המפתח נמוך יותר. מי mit.edu? אישור. זה מועיל. אז זה מה שקיוויתי לו. שימוש לגיטימי של שירות DNS. שרתים כאן מצביעים את הדברים הבאים. זו הדרך של MIT לומר, בכל פעם מישהו בעולם, בכל מקום שהם הם, בסוגי mit.edu ולהיטי הזן, המחשב הנייד שלך, בין אם מק או PC, יהיה איכשהו סופו של דבר להבין ש אנשים בעולם שיודעים מה כתובת IP היא לmit.edu או כל תת תחומים בmit.edu או כל שרתים אלה כאן - וזה בעצם נראה כמו תשתית MITs היא די חזק כפי שהיית מצפה. יש להם שמות שרתים מרובים וזה טוב ליתירות. ואכן, נראה שהם יהיו בעולם הופץ ברחבי העולם. חבורה של אלה שנראית בארצות הברית, זוג באסיה, אחד באירופה, שתיים במקום אחר. אבל הנקודה כאן הוא שDNS ש אנחנו כבר לוקחים כמובן מאליו ו בדרך כלל מתואר כטבלת אקסל גדולה שיש לו את כתובות ה-IP ודומיין שמות הוא למעשה מתוחכמים למדי שירות היררכי, כך שב עולם יש למעשה מספר סופי של שרתים שבעצם יודעים איפה כל. coms הם או את כל את. הרשתות הן, שכל . Orgs הם, וכן הלאה. אז כשאתה הולך קדימה ולקנות דומיין שם ממקום כמו שם זול או עבור אבא או כל אתר אחר, אחד הצעדים המרכזיים שאתה צריך לעשות לך, אם אתה עושה את זה גם עבורך סופי פרויקט, הוא לספר את הרשם שממנו אתה קונה את הדומיין שם, בעולם שיודע כתובות ה-IP של האתר, אשר שרתי השם שלך הם. אז אם אתה משתמש, למשל CS50 של אירוח חשבון - במקרה יש לי חשבון זה באמצעות dreamhost.com אשר הוא חברת אירוח אתרים פופולרית - הם יגידו לך שאתה צריך לקנות תחום ולספר לכל העולם שלך, כי של התחום שלך שרת השם הוא ns1.dreamhost.com, ns2.dreamhost.com, וns3.dreamhost.com. אבל זהו זה. רכישת שם דומיין פירושו לתת להם בעלות הכסף ומקבל את תחום, אבל זה יותר כמו השכרה אף. אתה מקבל את זה במשך שנה ולאחר מכן הם הצעת חוק אתה recurringly לשאר החיים שלך עד שאתה לבטל את שם הדומיין. ואז אתה אומר להם ש את שרתי השמות הם. אבל אז תסיים עם הרשם שלך. ומשם תוכלו לקיים אינטראקציה עם רק חברת אירוח האינטרנט שלך, אשר במקרה של CS50 יהיה DreamHost. אבל שוב, יותר תיעוד יהיה מסופק לך אם אתה מחליט ללכת תוואי זה. אז אם אתה עושה את זה אחרי הקורס של הסוף, אינטרנט פשוט googling אירוח החברה תופיע אלפי של אפשרויות. ובדרך כלל הייתי ממליץ לך תשאל את החברים שאולי משמשים חברה לפני אם הם ממליצים היה להם וניסיון טוב. בגלל שיש הרבה לטוס בלילה חברות אירוח אתרים, כמו בחור ב המרתף שלו עם שרת שיש לו כתובת IP. יש לו קצת זיכרון RAM נוסף ודיסק קשיח מרחב ופשוט מוכר אירוח אתרים חשבונות למרות שאין שום דרך ש שרת יכול לטפל במאה משתמשים או אלפי משתמשים. אז מבין שאתה תקבל מה שאתה משלם עבורו. במשך די הרבה זמן לבית האישי שלי דף - וזה היה לגמרי מקובל כי הייתי לי, כאילו, שתיים מבקרים בחודש - אני משלם, כמו, 2.95 דולרים לחודש. ואני די בטוח שזה היה במרתף של מישהו. אבל שוב, אתה לא מקבל בהכרח כל ערבויות של זמן פעילות או יכולת הרחבה. אז שוב, אתה מחפש בדרך כלל במשהו יותר מזה. ובכן, מה עם SSL? אז מה SSL משמש ל? עכשיו בואו נתחיל לנווט ב כיוונים של ביטחון ודברים ש יכול לפגוע בנו. במיוחד כפי שאתה מיזם את בעצמך. מה SSL, או מה SSL משמש ל? אבטחה, אישור. אז הוא משמש לביטחון. מה זה אומר? אז זה עומד על של Secure Sockets Layer. וזה מצויינים על ידי כתובת אתר שמתחיל ב-https. רבים מאיתנו כנראה מעולם לא הקלידו https://, אבל תוכל למצוא לעתים קרובות כי הדפדפן שלך הוא מנותב מHTTP ל HTTPS, כך שהכל נמצא שם לאחר מוצפן. לידיעתך, באמצעות SSL דורש בדרך כלל כי יש לך כתובת IP ייחודית. ובדרך כלל כדי לקבל את כתובת ה-IP ייחודית אתה צריך לשלם אירוח חברה עוד כמה דולרים לחודש. אז מבין שזה מאוד בקלות מיושם בימים אלה על ידי רכישת ה-IP כתובת ועל ידי הקנייה של מה קרא אישור SSL. אבל מבין שזה מגיע בכמה עלות נוספת. וכפי שננסה להפחיד רק קצת, זה אפילו לא בהכרח 100% המגן של מה שזה לא אתה מנסה להגן. אז לביטחון, שלא חשבתי שאני הייתי לעשות סוג של segue האקראי כאן. כפי שאתה אולי יודע מהרצאתו של CS50 קטעי וידאו, צוות ההפקה שלנו כבר אוהד כמו שיש לי של לקיחה ממש נחמד צילום של קמפוס, ואווירי צילום לאחרונה. אם אי פעם אתה מסתכל למעלה ואתה רואה משהו טס עם קצת מצלמה, זה עשוי להיות CS50 למעשה. ואני רק חשבתי שאני רוצה לחלוק דקות של חלק מהקטעים יש צוות אספתי, במיוחד כפי שאנו נראים סמסטר האביב ובסתיו הבא. אם מישהו מכם יש כשרון צילום, צילום וידאו, הייתי עושה זאת אוהב לערב אותך מאחורי הקלעים. אבל יותר על הפרטים האלה בשבוע. [מוסיקה] דוד י Malan: מסתבר שיש כמובן גולף בחלק העליון של את האצטדיון, שאנחנו אף פעם לא ידענו עליו. [מוסיקה] דוד י Malan: אתה יכול לראות קווי מתאר של המזל"ט שם. [מוסיקה] דוד י Malan: החלק הכי טוב כאן הוא, לראות את האצן בצד השמאל. [מוסיקה] דוד י Malan: דוגמה נוספת למה אתה יכול לעשות עם טכנולוגיה זה רק בעקיפין, בכנות, הקשור לביטחון. אבל חשבתי שיהיה יותר דרך של כיף רק אומר, בביטחון. אז בואו נראה אם ​​אנחנו לא יכולים להפחיד אותך החבר 'ה עכשיו לא רק עם קצת כמה איומים, אלא גם משמשים כבסיס הבנה של מה האיומים האלה הם כל כך שנע קדימה אתה יכול להחליט כיצד והאם כדי להגן על את עצמך נגד הדברים האלה וב לפחות להיות מודע להם כמו שאתה לקבל החלטות באשר לשאלה האם או לא לשלוח דואר אלקטרוני ש, או אם לא כדי להיכנס לאתר זה, או לא להשתמש שבגישה לאינטרנט אלחוטי של סייבר הקפה נקודה, כך שאתה יודע מה איומים הם אכן סביבך. אז יונתן התייחסה למשהו אוהב את זה ביום שני. היה לו צילום מסך של חלון. זה אחד הוא של מק. אי פעם כמה מכם שהתקינו תוכנה ב-Mac או במחשב האישי שלך? ברור שכולם. כמה מכם נתנו הרבה מחשבה כדי להקליד את סיסמא שלך כאשר תתבקשו לעשות זאת? אני מתכוון, גם אני לא, למען האמת. אז כמה טובים לנו בפרנואיד. אבל לחשוב על מה שאתה בעצם עושה כאן. ב-Mac או במחשב אישי טיפוסיים יש לך חשבון מנהל מערכת. ובדרך כלל אתה רק אחד באמצעות מחשב נייד לפחות בימים אלה. אז החשבון שלך, או מלאן JHarvard או מה שזה לא יהיה, הוא חשבון מנהל מערכת. ומה משמעות של זה היא שיש לך שורשו גישה למחשב שלך. אתה יכול להתקין כל דבר שאתה רוצה, למחוק כל דבר שאתה רוצה. ובדרך כלל בימים אלה, בגלל החלטות עיצוב מתוארכים לפני שנים, הדרך רוב התוכנות מגיעות מותקן הוא כמנהל מערכת. וגם אם מק או PC שלך יש לפחות קיבל מספיק חכם מעל שנים עם את הגלגולים האחרונים של Mac OS ו-Windows כדי לא לרוץ שלך שם משתמש כברירת מחדל כ מנהל, כאשר אתה מוריד קצת תכנית חדשה מהאינטרנט ולנסות להתקין אותו, אתה כנראה הולך לאתבקש להזין את הסיסמה שלך. אבל לתפוס את זה בשלב הזה, אתה פשוטו כמשמעו, מסר את המפתחות שלך מחשב מעל לכל מה אקראי תכנית שהורידה ו שמאפשר לו להתקין מה שהיא רוצה. וכמו יונתן רמזה, מבין שזה יכול לומר שהוא רוצה להתקין את התוכנה שלך שאכפת לך עליו, Spotify או iTunes או מה שלא יהיה זה שאתה מנסה להתקין. אבל אתה בוטח מחבר, פשוטו כמשמעו, או כותבי התוכנה כדי רק לעשות את מה שהתכנית הוא אמור לעשות. אבל אין שום דבר לעצור את רוב התוכניות ברוב מערכות הפעלה ממחיקת קבצים, מלהעלות אותם לחלק מחברתו של אתר, מחכות מסביב, להצפנת דברים. ושוב, יש לנו סוג של בנוי תשתית כולה על השנים על אמון. וכך תבין שיש לך רק הייתה אמון אנשים אקראי ומקרי חברות על פי רוב. ויונתן רמזה מדי, לפעמים חברות אלה עצמם הן סוג של ביודעין זדוני, בסדר? סוני נתפסה המון ביקורת כמה שנים לפני שהתקנת את מה שכונה ערכת rootkit במחשבים של אנשים ללא ידיעתם. והתמצית זו הייתה שכאשר אתה קניתי תקליטור למשל שהם לא רוצה שתהיו מסוגל להעתיק או לקרוע את המוזיקה של, התקליטור היית התקנה, בלי לדעתך, rootkit במחשב שלך. Rootkit פשוט כלומר תוכנה הפועלת כמנהל שפוטנציאל עושה דברים רעים. אבל בין הדברים שהדבר הזה לא היה זה הסתיר את עצמו. אז כמה אתה יכול להיות די מתמצא עם המחשב שלך ואת יודע, טוב, אני יכול פשוט לפתוח את מנהל המשימות או לעקוב אחר פעילות ואני יכול להסתכל על כל מהתוכניות בשם arcanely כי הם פועלים. ואם משהו נראה חשוד אני פשוט אהרוג אותו או למחוק אותו. אבל זה מה שעשה, כי Rootkit. זה בעצם אמר, אם מפעיל משימות מנהל, לא להראות את עצמך. אז התוכנה הייתה שם. ורק אם אתה באמת, באמת נראה קשה היה לך אפילו למצוא אותו. וזה נעשה בשמו של הגנה מפני העתקה. אבל רק לדמיין מה יכול היו לעשות אחר. עכשיו במונחים של הגנה על עצמך. הרבה אתרים הם להפליא אדיב בכך שהם לשים את אלה סמלי מנעול שבדף הבית שלהם משמעות הדבר היא שהאתר הוא מאובטח. זה מbankofamerica.com הבוקר. אז מה עושה סמל של מנעול הקטן ש יש אומר בסמוך לכניסתן? שום דבר. זה אומר שמישהו יודע איך להשתמש פוטושופ כדי להפוך את תמונה של סמל מנעול. אוהב פשוטו כמשמעו, את העובדה שזה שם הוא אמור להיות חיובי לאותת למשתמש כמו, אוו, אתר אינטרנט מאובטח. אני צריך לסמוך על האתר הזה ועכשיו הקלד את שם המשתמש והסיסמה שלי. ואת זה כבר קונבנציונלי עבור שנים, כפי לאחרונה כמו בבוקר. אבל לשקול את ההרגלים ש זה מכניס אותנו. קחו למשל את ההודעה משתמעת כי כל של בנקים אלה במקרה זה היה שולח אותנו במשך שנים. אם אתה רואה את מנעול, ולאחר מכן לאבטח. בסדר? אז איך אתה יכול להתעלל במערכת אמון אם אתה איש הרע? שים מנעול על אתר האינטרנט שלך, ו באופן הגיוני, המשתמשים כבר במשך שנים התנו להניח מנעול הפירוש מאובטח. וזה באמת עשוי להיות מאובטח. אולי יש לך מאובטח להפליא חיבור SSL HTTPS על מנת אתר מזויף. com. ואף אחד אחר בעולם לא יכול לראות כי אתה עומד להעביר לו או לה שם המשתמש והסיסמה שלך לחשבונך. זה אם כי, אולי, הוא קצת יותר מרגיע. אז זהו צילום מסך של החלק העליון של הדפדפן שלי הבוקר ב bankofamerica.com. ושים לב גם כאן יש סמל של מנעול. מה זה אומר בהקשר זה בכרום לפחות? אז זה עכשיו הוא באמצעות SSL. אז זה בעצם דבר טוב יותר. והעובדה שהוא עושה את זה כרום ירוק נועד למשוך את תשומת לבנו לעובדה שמדובר לא רק על SSL. מדוברת בחברה, כי מישהו יש שאימת הוא למעשה bankofamerica.com. וזה אומר שבנק אוף אמריקה, בעת רכישת SSL כביכול תעודה, אקראי גדול במהות, מספרים אקראיים במידה שמיישמים אבטחה עבורם, הם כבר מאומת על ידי חלק שלישי בלתי תלויה מפלגה שאומר, כן. זהו למעשה מנכ"ל הבנק אמריקה מנסה לקנות את התעודה. לכן Chrome יהיה אמון כי רשות אישורים ולומר ב ירוק, זה bankofamerica.com. ובנק אוף אמריקה משלם רק מעטים מאה דולרים בשביל זה או כמה אלף לעומת כמה עשרות דולרים. אבל גם כאן, כמה מכם אי פעם התנהג באופן שונה בגלל את כתובת האתר בדפדפן שלך היא ירוק במקום שחור? נכון? אז כמה מאיתנו. וזה טוב להיות פרנואיד. אבל אפילו אז, אלו מכם שאפילו שמים לב לדברים האלה, האם אתה באמת לעצור את הכניסה לתוך מאובטח אחרת אתר אם כתובת האתר הוא לא ירוק? בסדר, אז כנראה שלא, נכון? לפחות רובנו, אם זה לא ירוק, סביר להניח שאתה פשוט הולך להיות כמו, לא משנה מה. כאילו, אני רוצה להיכנס לאתר זה. זו הסיבה שאני כאן. אני הולך להיכנס בכל זאת. במאמר מוסגר, כרום הוא קצת יותר טוב לגבי זה. אבל יש הרבה דפדפנים כמו פיירפוקס, למשל, לפחות עבור קצת זמן, שבו סמל של מנעול ש הוא, למעשה אתה יכול לשים את כל סמל משלך. תן לי לראות מה הגרסה האחרונה של פיירפוקס נראה. אז אם אנחנו הולכים לCS50.net. אוקיי, אז הם קיבל טובים יותר גם כן. מהו את הדפדפנים נהגו לעשות אוהבים, הנה למשל [? SaaS של?] מעטר עד כאן. זה מה שנקרא אהוב סמל עבור אתר אינטרנט. לפני שנים - בעצם לא כל כך מזמן - שקטן המגן היה נכון כאן ליד כתובת האתר. בגלל איזה גאון החליט שזה הייתי פשוט נראה די קלאסה שתהיה לי הלוגו הגרפי ימין שלך לצד כתובת האתר שלך. ועיצוב חכם, שלמעשה הוא די משכנע. אז מה עושה התחלת בחור רעה? הם התחילו שינוי האהוב עליהם סמלים או הסמל לברירת המחדל שלהם דף הבית להיות לא פסגה אבל מנעול, שהיה לי שום משמעות. חוץ מהסמל האהוב עליהם היה היה לו שום מנעול סימנים של ביטחון. אז את הלקחים כאן הם כמה אני חושב. אחת היא שלמעשה יש כמה מנגנוני כוונות טובות עבור מלמד אותנו על אבטחת משתמשים אפילו אם לא היית מודעים אפילו מה ירוק התכוון או מה שאפילו HTTPS התכוון. אבל אם המנגנונים האלה להכניס אותנו ל הרגל רעה של אתרי אמון כאשר אנו רואים את האותות חיוביים אלה, הם התעללו בקלות רבה כפי שראינו רק לפני רגע עם משהו טיפשי כזה. אז חטיפת הפעלה מגיעה אל לשחק, כפי שאמרנו קודם, עם עוגיות למשל. ומה זה אומר בעצם? גם עם חטיפת הפעלה כל זה על גניבת העוגיות של מישהו. אז אם אני פותח את כרום כאן, עבור למשל, ואני פותח את המפקח כאן למטה ואני הולך ל כרטיסיית הרשת - ואנחנו כבר עשינו את זה קודם - ואני הולכת למשהו כמו http://facebook.com Enter, כולו חבורה של דברים הולכת על פני המסך בגלל כל התמונות וCSS ו קבצי JavaScript. אבל אם אני מסתכל על זה כאן תבחין כי פייסבוק הוא נטיעה אכן אחד או יותר עוגיות עליי דפדפן ממש כאן. אז אלה הם בעצם היד בולים שמייצגים אותי. ועכשיו אני מקווה שיהיה הדפדפן שלי להציג את זה שוב ושוב כש בחינה מחדש באתר זה. אבל זה רק הוא מאובטח, שאמרנו לפני כמה שבועות, אם אתה משתמש ב-SSL. אבל יכול אפילו SSL עצמו להיות בסכנה. שקול לאחר עבודות SSL לאורך כל הדרך. כאשר הדפדפן שלך מתחבר למרחוק שרת באמצעות https://, סיפור ארוך קצר, ההצפנה היא מעורבת. זה לא פשוט כמו קיסר או Visionaire או אפילו DES, DES מ תוך חזרה בpset2. זה יותר מתוחכם מזה. זה נקרא הצפנה במפתח ציבורית. אבל ממש גדול וממש אקראי מספרים משמשים כדי לטרוף מידע בין נקודת א ', אתה, ו-B נקודה, כמו facebook.com. אבל הבעיה היא, איך רבים מאיתנו שוב אי פעם בסוג https:// להתחיל חיבור האתר שלנו במצב בטוח זה? אני מתכוון, כמה מכם אפילו סוג http://facebook.com? בסדר, אם אתה אוהב אותו, הלו. אתה לא צריך לעשות את זה יותר, נכון? הדפדפן יהיה להבין את זה. אבל רובנו עושים אכן פשוט להקליד facebook.com. משום שאם אתה משתמש בדפדפן, דפדפנים מקבלים מספיק חכם על ידי 2013 עד יניחו אם אתה משתמש דפדפן, תקליד בכתובת, אתה סביר להניח שארצה לגשת אליו לא באמצעות דוא"ל או הודעה מיידית. אתה מתכוון HTTP ונמל 80. מוסכמות אלה אומצו. אבל איך עושה את עבודת ניתוב מחדש? ובכן, שים לב למה שקורה כאן. אם אני אחזור לכרום - ובואו נעשינו את זה בעילום שם מצב, כך שכל משלי עוגיות נזרקות משם. ותנו לי ללכת לכאן, שוב, facebook.com. ובואו נראה מה קורה. נזכיר כי הבקשה הראשונה הייתה אכן רק לfacebook.com. אבל מה הייתה התגובה שיש לי? זה לא היה 200 אישור. זה היה 300, או 301, שהוא להפנות את אומר לי ללכת ל http://www.facebook.com, שהוא שבו פייסבוק רוצה שאני אלך. אבל אז אם אנחנו מסתכלים על הבקשה הבאה, ואנחנו לא ראינו את זה בעבר, שים לב מה התגובה השנייה שלהם. באופן ספציפי, כי הם רוצים אותי לחברה ללכת לגרסת SSL של פייסבוק. אז הנה הזדמנות. זוהי תכונה שימושית להפליא של האינטרנט ורק HTTP. אם משתמש הקצה כמו פייסבוק רוצה אותי להישאר על הגרסה מאובטחת שלהם אתר, גדול. הם יפנו אותי לעצמי. וכל כך אין לי אפילו תחשוב על זה. אבל מה אם בין נקודת A ו-B, בינך ובין פייסבוק, יש כמה בחור רע, יש איזה מערכת מנהל בהרווארד מי סקרנים כדי לראות מי הם החברים שלך. או שיש - לפני שנים, זה היה אמור נשמע מטורף - אבל יש איזה גוף ממשלתי כמו NSA מי באמת מעוניין במי אתה תוקע בפייסבוק. איפה יש ההזדמנות? ובכן, כל עוד מישהו יש לו מספיק טכני מתמצא ויש להם גישה לרשת שלך בפועל על Wi-Fi או איזה חוט פיזי, מה הם יכולים לעשות? ובכן, אם הם באותה הרשת כמו אתה והם יודעים משהו על כתובות TCP / IP וה-IP וה-DNS וכיצד כל זה עובד, מה אם זה איש באמצע, מה אם זה לאומי שירות ביטחון כללי, מה שזה יכול להיות, אבל מה אם ישות שפשוט מגיב במהירות רבה יותר מאשר לפייסבוק בקשת HTTP שלך ואומר, אה, אני בפייסבוק. קדימה, והנה HTML עבור facebook.com. מחשבים הם די מהר המעצבן הזה. אז אתה יכול לכתוב תכנית פועלת על שרת כמו nsa.gov כי כש דן בבקשה ממך facebook.com, מהר מאוד מאחורי הקלעים מקבל את ההחלטות אמיתי facebook.com מושלם [? esque?] מאובטח חיבור SSL בין NSA ובין פייסבוק, שמקבל HTML מאוד בטחה לדף הכניסה, ולאחר מכן שרת NSA פשוט מגיב לך עם דף כניסה לfacebook.com. עכשיו כמה מכם אפילו לא ישים לב שאתה משתמש בפייסבוק על HTTP עדיין בשלב זה משום שיש לך מחובר בטעות ולnsa.gov לא פייסבוק? הכתובות לא משתנות. כל זה נעשה מאחורי הקלעים. אבל רובנו, כולל אני, סביר להניח שלא היית מבחין פרט כזה קטן. אז אולי יש לך בצורה מושלמת עביד חיבור בינך לבין מה שאתה חושב הוא פייסבוק, אבל יש מה שנקרא איש באמצע. ואת זה הוא מונח כללי לאדם ב פיגוע במרכז שבו יש לך קצת ישות בינך ובין הנקודה B ה איכשהו מניפולציות, גניבה, או צפייה בנתונים שלך. אז גם SSL לא בטוח, במיוחד אם אתה כבר מרומה לתוך לא מפנה אותו בגלל איך אלה מנגנונים באמת עובדים. אז לקח היום גם אז היא אם אתה באמת רוצה להיות פרנואידית - וגם כאן יש איומים - אתה באמת צריך להתחיל להיכנס ההרגל של הקלדה בhttps://www כל מה שאתה שם תחום ממש אכפת. וכמו בצד מדי יש עוד איום עם בנוגע לחטיפת הפעלה. לעתים קרובות מאוד כאשר אתה ראשון לבקר אתר כמו facebook.com, אלא אם כן שרת הוגדר לומר כי היד שחותמת אותו לשים עליך אתמול צריך להיות מאובטח עצמו, שלך דפדפן עשוי היטב, עם דברים כמו ביקור facebook.com google.com, twitter.com, הדפדפן שלך ייתכן שהצגה שרק חותמת יד להיות סטירה ואמר, לא. שימוש ב-SSL. אבל זה מאוחר מדי בשלב זה. אם כבר שלח את היד שלך חותמת, העוגייה שלך, בברור עם אין SSL, יש לך שבריר שני פגיעות בו מישהו מרחרח התנועה שלך, בין אם שותפה או NSA, לאחר מכן ניתן להשתמש באותה עוגייה, ו עם קצת הבנה טכנית, להציג אותה כשלו או שלה. פיגוע נוסף שאתה יכול לא חשב עליו. זה אחד הוא באמת עליך אם אתה בורג את זה בכתב, באתר כמה זה איכשהו משתמש SQL. אז הנה, למשל, הוא מסך נורה מההתחברות של אוניברסיטת הרווארד. וזו דוגמה כללית של משהו עם שם משתמש וסיסמא. סופר נפוץ. אז בואו נניח שקיים וSSL אין איש באמצע או שום דבר כזה. עכשיו אנחנו מתמקדים בשרת של קוד שאתה יכול לכתוב. ובכן, כשאני מקליד את שם המשתמש וב סיסמא, נניח ששירות PIN מיושם ב-PHP. ואולי יש לך איזה קוד שבשרת כזה. קבל את שם המשתמש מסופר הפוסט עולמי ולקבל את הסיסמה, ולאחר מכן אם הם משתמשים pset7 קצת כמו קוד יש פונקצית השאילתה שעלולה לעשות את זה. בחר כוכב ממשתמשים בו את שם המשתמש שווה לזה וסיסמא שווה את זה. זה נראה, במבט הראשון, לגמרי סביר. זוהי בחינה תחבירית קוד PHP חוקי. מבחינה הגיונית אין שום דבר לא בסדר עם זה. יש להניח שיש עוד כמה קווים ש בעצם לעשות משהו עם תוצאה שתחזור ממאגר הנתונים. אבל זה פגיע ל מהסיבה הבאה. שים לב כי, כמו אזרח טוב, אני צריך לשים במרכאות, רווק ציטוטים, שם המשתמש. ואני שם בגרשיים בודדים הסיסמה. וזה דבר טוב, כי הם לא אמור להיות מספרים. בדרך כלל הם הולכים להיות טקסט. אז אני מצטט אותם כמו חוטים. ואם אני עכשיו להתקדם עוד יותר מה אם - ואני כבר הוצאתי את הכדורים מ קוד אישי שירות באופן זמני - מה אם אני מנסה להיכנס למערכה כ נשיא [? Scroob?] אבל אני טוען שהסיסמה שלי היא 12345 'OR '1' = '1, והודעה מה שלא עשיתי. אני לא סוגר את השני ציטוט אחד. כי אני די חד כאן כאיש רע. ואני מניח שהם אתה לא מאוד טוב עם שלך PHP ו-MySQL קוד. אני מנחש שאתה לא בודק לנוכחות של ציטוטים. אז מה בדיוק קרה הוא שכאשר המשתמש הקליד במחרוזת ש, השאילתה שאתה עומד ליצור נראה כך. וסיפור ארוך קצר, ואם אתה משהו ביחד, או שאתה או משהו ביחד זה הולך לחזור שורה ממאגר המידע. בגלל זה הוא תמיד מקרה ש1 שווה 1. ורק בגלל שאתה לא צופה שמשתמשים שלך, טובים או רעים, עשויים יש גרש בשמך יצר השאילתה SQL שעדיין בתוקף, ויחזור עכשיו תוצאות נוספות ממה שאתה יכול להיות מיועד. וכך, האיש הרע הזה עכשיו יש פוטנציאל מחובר לשרת שלך מסד הנתונים שלך, כי הוא חוזר שורה אפילו אם יש לו או אין לה מושג מה [? ?] הסיסמה בפועל של Scroob היא. אה, הבנתי טעות דפוס כאן. הייתי צריך להגיד את הסיסמה שווה 12345 כמו הקודם דוגמא 1 או שווה ל 1. אני אסדר את זה באינטרנט. אז למה יש לנו אתה משתמש בשאילתה פונקציה עם סימני שאלה? אחד הדברים תפקוד השאילתה אין לך הוא זה מוודא כי כשאתה עובר בטיעונים לאחר פסיקים כאן כך שהשאילתה שבעצם נשלח ל מסד הנתונים נראה כך. הרבה יותר מכוער להסתכל, אבל חזרה חתכים כבר באופן אוטומטי הוכנס כדי למנוע בדיוק את זה התקפת הזרקה שהראיתי רגע לפני. עכשיו כיף XKCD שחשבתי שאני רוצה למשוך עד כאן אני מקווה שכעת אמור להיות קצת יותר מובן זה אחד כאן. קצת? אולי אנחנו צריכים קצת יותר דיון בנושא הזה. אז זה רמז לילד קטן בשם בובי שאיכשהו נלקח יתרון של אתר שהוא פשוט בוטח כי מה שהמשתמש הקליד בהוא לא, למעשה, קוד SQL, אך הוא למעשה חוט. עכשיו אתה אולי זוכר טיפה ש-- ייתכן שראית את זה - אמצעי טיפה למחוק טבלה, מחק את מסד הנתונים. אז אם אתה בעצם טוען כי השם שלך הוא רוברט "; droptabl estudentsomething,] ייתכן מאוד להערים על מסד הנתונים לא רק לבדיקה שאתה אכן רוברט, אבל גם פסיק להמשיך לרדת בטבלה. וכן התקפות הזרקת SQL יכולה להיות ממש מאיים כמו זה לפיה ניתן למחוק נתונים של מישהו, באפשרותך לבחור יותר מdatas התכוון, אתה יכול להכניס או לעדכן נתונים. ואתה ממש יכול לראות את זה על ב פעילות גופנית בבית, לא לזדוני אבל רק למטרות הוראה ולמידה, הוא כל זמן אתה מתבקש להיכנס לאתר האינטרנט, במיוחד איזשהו אתר מאוד ציבורי, שאינם פופולרי מאוד, נסה להיכנס כג'ון אוריילי או מישהו עם גרש בשם שלהם. או פשוטו כמשמעו, פשוט להקליד גרש, על Enter, ולראות מה קורה. ולעתים קרובות מדי, באופן טרגי, אנשים לא מחוטאת התשומות שלהם ו דאג לכך שדברים כמו ציטוטים או פסיק הם נמלטו. וזו הסיבה שאנו נותנים בpset7 אתה פונקצית השאילתה זו. אבל אל מתחת להעריך בדיוק מה הוא עושה בשבילך. אז עם זה אמר, ליהנות משימוש אינטרנט השבוע. ואנו רואים אותך ביום שני. בCD50 הבא. [מוסיקה]