[MUSIC] DAVID J. Malan: Добре. Така че това е CS50 и това е в края на 10 седмица. Така че някои от вас може да са видели това вече, но се разпространяват на края е една статия, която мислех, че ще прочетете откъс от и след това да ви покажа един три минути видео, което рисува една и съща картина. Това беше наистина трогателна история, I мислех, на това пресичане на реалния свят с истински непреодолими използва технология. Така че статията е озаглавена "A момче oversleeps на влака, използва Google Maps да се намери семейство след 25 години. "И първите няколко точки бяха, "Когато Saroo беше на пет години той отиде с по-големия си брат да тършувам за промяна на пътнически влак в град, около два часа от малкия си роден град. Saroo стана уморен и се качил на един близкия влак, където мислеше си брат, след това заспа. Когато той се събуди той е бил в Калкута, близо 900 мили далеч. Saroo се опита да намери пътя си обратно, но той не знае на името на родния си град. И като малка неграмотни момче в широк град, пълен с забравени деца е имал почти няма шанс да се прибера. Той беше уличен детето за известно време, докато местен приемането закачен агенция го с австралийска двойка който го доведе в живеят в Хобарт, Тасмания. Saroo преместен там, научих Английски език и израснал. Но той никога не спрем да търсим семейството му и родния си град. Десетилетия по-късно, той открива Google Земята и следени коловози. И даване на себе си определен радиус въз основа на това колко дълго той мислеше, че е заспали и колко бързо помисли си той влака отива, той разбра, че е израснал в топъл климат, той знаеше, че говори Hindi като дете, и му бяха казали че той изглеждаше, че беше от Източна Индия. Най-накрая, след години на измиване сателитните снимки, той признати няколко забележителности. И след чатите с администратор на близкия град е Facebook страница, осъзна че е намерил у дома. " Така че тук това е видео казвам че историята от своя гледна точка. [VIDEO PLAYBACK] -Това беше преди 26 години и аз бях само за да се превърне пет. Стигнахме до жп гарата и ние се качва на влака заедно. Брат ми току-що каза, че ще остана тук и аз ще се върна. А аз просто си помислих, добре, знаеш ли, може и само да заспи и тогава той просто ще ме събуди. И когато се събудя на следващия ден, на целия превоз беше празен на беглец влак призрак влака като ми не знам къде. I е приет до Австралия на Australian семейство. И мама е украсен стаята ми с карта на Индия, която тя поставя до леглото ми. Събудих се всяка сутрин, като видя, че картата, и по този начин, нещо като задържа спомени живи. Хората ще кажат, че се опитваш да намери игла в купа сено. Saroo, никога няма да го намерите. Бих трябва мига от местата, които Ходех, на мига на лицата на семейството ми. Имаше образа на майка ми седи надолу с кръстосани крака Просто гледам да плаче. Животът е толкова трудно. Това беше моето съкровище. И аз търсех в Google Map и осъзнах, че е Google Earth, както добре. В един свят, където бихте могли да увеличите в I започнаха да имат всички тези мисли и какви възможности, които това може да направи за мен. Казах си, добре, знаеш ли, имаш и фотографската спомени и забележителности в които е от и знаеш ли какво градът изглежда. Това може да е приложение, което ви може да използвате, за да намери своя път обратно. Мислех, добре, ще сложи точка на Калкута Гара в радиус линията, която трябва да се търси около тази област. Се натъкнах на тези релси. И започнах да я следват и дойдох в гарата, който отразява едно и също изображение, което беше в спомените ми. Всичко съчетани. Аз просто мислех, Да. Знам къде отивам. Просто няма да позволя на карта, че аз имат в главата ми да ме води и да ме вземе обратно към родния ми град. Стигнах до прага на къщата че съм се родил и обиколи около петнадесетm зад ъгъла. Имаше три дами стояха навън непосредствено един до друг. И като средната пристъпи напред. А аз просто си помислих, това е майка ти. Тя пристъпи напред, тя ме прегърна, и ние бяха там в продължение на около пет минути. Тя ме хвана за ръката и тя ме заведе до къщата и се по телефона и тя звънна сестра ми и брат ми да се каже че брат ти има само всички внезапно се появи като призрак. И тогава на семейството е събере отново. Всичко е наред. I помогне майка ми. Тя не трябва да бъдат робувала. Тя може да доведе до края на живота си в мир. Това беше игла в купа сено, но иглата е бил там. Всичко е там. Всичко, което трябва в света е кранчето на един бутон. Но трябва да има волята и решимостта да го искат. [END възпроизвеждане на видео] Така че наистина мила история. И това всъщност ми напомня за доста тема, която е била получаване на доста малко на вниманието на края на The Crimson, повече национално цяло. Особено като MOOCs приемате на сцената на края. MOOCs са тези масивни и отворен онлайн курсове от които CS50 такава. И хора, които говорят за това, как, за Например, хуманитарните науки не са много наваксване или изобщо не са толкова на мода, тъй като те веднъж са били. И аз ще насърчи момчета, много като Jonathan направи в понеделник, за да мисля, толкова излезете 50, и ние знаем, вече около 50% от вас няма да продължи да се ползва друг компютър науката разбира се, и това е напълно глоба и очаква. Тъй като една от крайните цели на класа, като това е наистина да даде възможност на вас, момчета с просто разбиране за това как всички тези неща работи и как този свят на технологични произведения. Така, че когато се върнете в собствения си светове, независимо дали това е предварително-MED или независимо дали става въпрос за хуманитарни или социални науки или друга област напълно, че вие ​​водят някои технически познания, за да масата и спомогне за по-интелигентни решения, когато става въпрос за използването на и въвеждането на технологии във вашия свят. Например аз си припомни късно също на две от студент класове, които взех преди две години, които са били такива прости използване на технология но все така убедителни. Първите нощи с професор Том Кели ако сте взели класа. Това е клас на класическата музика върху този етап тук, където можете да научите на нещо за музиката. Това е всъщност първа Nights че CS50 назаем идеята на писти за тези, по-малко удобно в между и по-удобни. По мое време те са имали различни писти за деца с абсолютно никаква музика опит като мен, а след това децата, които е изпълнение, тъй като те са на пет години. И този клас, например, просто трябваше един сайт като повечето други, но е уеб сайт, който да ви е позволено да опознаването музика върху него и възпроизвеждате музикални клипове от класа, от интернет, и просто да използват технологиите в много безпроблемно начин. Друг клас години по-късно, че аз одит, по същество, в град училище, Антропология 1010, Въведение да археология тук. Беше невероятно. И един от най-наложителни още супер Очевидно, в ретроспекция, използва на софтуер е, че професорите в този клас използват Google Earth. Седяхме другата страна на улицата в някои лекционна зала. И не може да пътува, например, за Близкия изток към разкопките, че един от професорите тъкмо се беше върнал от, но бихме могли да направим, че на практика от летящи наоколо в Google Earth и погледнете в очите на птица в копаят сайт той току-що се върна от преди седмица. Така че аз ще насърчи момчета, особено в хуманитарните науки, за да отидете обратно към тези служби, след това клас обединяващ окончателните проекти с вас или идеи от вашите собствени, и да видим само това, което можете да направите, за да си кисна собствени полета в областта на хуманитарните или извън с малко от този вид нещо, което проучили сме тук в CS50. Така че с това картина, нарисувана, че че ще се опита да се справи с две неща днес. One, се опита да ви даде усещане за където можете да отидете след 50. И по-специално, ако решите да справяне с уеб базиран проект, както е невероятно обща, как можете да отидете за излитане всички CS50 е помощни колела и ще там на своя собствена, а не да се налага да разчитат на PDF или на спецификация на PSET? Не се налага да разчитат на CS50 Уредът вече. Но наистина може да се стегнеш от връзките на обувките си. С това каза, C-базиран крайна проекти са добре дошли. Неща, които използвате стойката за преносим библиотека графики са добре дошли. Ние просто знам, че статистически много хора отхапе проекти в PHP и Python и Ruby и MySQL и други среди, така че ще пристрастия на някои от нашите забележки към това. Но един бърз поглед назад. Така че ние взехме за даденост в pset7 на Фактът, че $ _SESSION съществува. Това беше супер глобален, световен, асоциативен масив. И какво означава това ви позволи да направите? Функционално, каква е предлага това ни дава? Да? За да проследите ID на потребителя. И защо това е полезно? За да може да се съхранява вътре в този супер глобалната JHarvard или [? Scroobs?] или Malan Потребителско ID, когато той или тя посещава даден сайт. Точно така. Така че не е нужно да се логнете отново и отново. Това би било наистина куц World Wide Web ако всеки път, когато сте кликнали на връзка на сайт като Facebook или всеки път, вие сте кликнали на имейл в Gmail ви трябваше да повторно удостоверяване да докаже, че тя все още ти и не си съквартирант който би могъл да се приближи до своя компютъра във ваше отсъствие. Така че ние използваме ЗАСЕДАНИЕ само не забравяйте кои сте. И как се извършва това под предния капак? Как един сайт, който използва, за протокол, уеб браузъри и сървъри говори, как HTTP, който е без гражданство протокол, да речем. И без гражданство Искам да кажа, след като се свържете към интернет, да изтеглят някои HTMLs, някои JavaScript, някои CSS, вашият иконата на браузъра спре да се върти. Вие нямате постоянна връзка към сървъра обикновено. Това е всичко. Няма по имаха състояние постоянно. И така, как се ЗАСЕДАНИЕ прилагат по начин, че всеки път, когато направи посещение на нова страница, на интернет страницата помни кой си ти? Каква е основната изпълнението подробно? Извикайте го. Това е една дума. Cookies. Добре. Така бисквитки. Е, как се използва бисквитки? Ще припомним, че една бисквитка обикновено е само на част от информацията. И това е често голяма случайна номер, но не винаги. И на бисквитка засадени на вашия твърд диск или в RAM на компютъра ви, така че всеки път, когато отново същата сайт, вашият браузър припомня на сървър, аз съм потребител 1234567. Аз съм потребител 1234567. И така, докато сървъра си спомни че потребителят е 1234567 JHarvard, на сайта просто ще поеме че вие ​​сте, които ти казват, че са. И припомни, че ние представяме тези бисквитки вид под формата на виртуална ръка стойката. Тя се изпраща в заглавията HTTP, само за да напомня на сървъра, че вие ​​сте, които го мисли, че си. Разбира се, че има заплаха. Каква заплаха означава това ни се отворят към ако ние сме по същество използва нещо като клуб или механизъм за увеселителен парк спомняйки си за това кои сме ние? Ако копирате бисквитка на някого и отвличане си сесия, така да се каже, вие може да се прави на някой друг, а сайт най-вероятно е просто ще повярвам. Така че ние ще се върнем към това. Тъй като другата тема за днес отвъд овластяване се говори за много страшно света в който живеем и колко много от това, което правите на в интернет, колко от това, което правите, дори от вашите мобилни телефони днес може да бъде проследяват наистина от всеки, между вие и точка B. И Ajax, изземване. Разгледахме само за кратко на този, въпреки че бях го използва непряко в pset8 защото сте с помощта Google Maps и защото си използвате Google Earth. Google Maps и Google Earth не изтеглите целия свят да си десктоп, очевидно, на момента, в който заредите pset8. То само сваля квадрат на света или по-голям площад на земята. И след това всеки път, когато нещо като мини извън обхват може да забележите - особено ако на бавна връзка - можете може да видите някои сиво за миг или малко размита изображения като компютърни сваляния повече такива плочки, повече такива образи, от света или на земята. И Аякс обикновено техниката от кои сайтове се прави това. След като се нуждаят от повече от картата, си браузър ще използва Ajax, което е себе си не е език или технология, това е просто техника. Това е използването на JavaScript да отида повече информация от сървър, позволява на вашия браузър, за да си вземем това, което е на на изток или това, което е на запад от какво друго в момента е показана в тази карта. Така че това е една тема, която много от вас ще се сблъскате с пряко или косвено чрез окончателните проекти, ако решат да направят нещо, което е По същия начин динамиката, която дърпа данни от някои трети уебсайт страна. Така че ние имаме един наистина вълнуващ следващата сряда напред. Quiz един, информацията за които е CS50.net вече. Знайте, че ще има сесия преглед идния понеделник в 05:30 часа. Датата и часът вече е публикуван на CS50.net в тази About лист. И нека да знаете имате някакви въпроси. Pset8 междувременно вече във вашите ръце. И нека само насочени към една FAQ за да спаси хора, някои стрес. За по-голямата част много бърборене виждаме в работно време и много бъгове виждаме съобщиха Обсъждане са наистина грешки в кода на студента. Но когато сте срещани нещо като Земята Google плъгин трясък или дори не работят и вие сте уверени, че не си ти, това не е [? chamad?] въпрос, той не е бъг ви въвежда в разпространение на кодове. Осъзнайте, просто FYI - това е нещо като план Z - , че последния път, когато използва този проблем определени и се натъкнахме на подобни въпроси, има един ред код в service.js, която по същество е това, който казва, завъртете сгради нататък. И те работят около последния път, когато направил това, отново, ъглови случаите, когато студентите просто не успя да закърпвам нещо, което да работи е да се промени вярно фалшиви с това, че един ред код. И ще го намерите, ако търсите чрез service.js. Не препоръчвам това, защото ще създаде най-безплодна пейзаж от Кеймбридж, Масачузетс. Това буквално ще изравнявам света така че всичко, което виждате са на преподаването сътрудници и помощници на курса хоризонта и не сгради. Но осъзнавам, независимо от причината за Google Earth плъгин изглежда все още предстои да бъде бъги година по-късно, така че това може да ви провалят спаси. Така че вместо да се прибягва до сълзи, курорт за превръщане на сгради отстъпка, ако знаете това е плъг-ин, който не им помага на вашия Mac или PC. Но това отново е крайна мярка, ако сте сигурни, че това не е бъг. Така че Hackathon. Няколко закачки просто за да сте развълнувани. Имахме доста RSVPs. И само за да нарисува картина на това, което очаква, реших да ви дам няколко секунди припомни на тези изображения от миналата година. [MUSIC] DAVID J. Malan: Изчакайте, о. Ние дори имаме нашите буквални CS50 совалки. [MUSIC] DAVID J. Malan: Така че това е, което очаква ти по отношение на Hackathon. Това ще даде възможност да да е ясно, да не се започва своя окончателен проекти, но да продължи да работи за крайната си проекти заедно съученици и персонал и много храна. И отново, ако сте будни в 5:00 AM ние ще ви отведе по пътя към ИХОП. Справедливата CS50, междувременно, е кулминацията за целия клас, където вие ще носите своите лаптопи и приятели, може би дори семейството на стая в учебното заведение надолу по улицата да показват вашите проекти на лаптопи, на високи маси като този с много храна и приятели и музика във фонов режим, както и на нашите приятели от индустрията. Компании като Facebook и Microsoft и Google и Amazon и букети от други, така че ако се интересуват от точно слуха за реалния свят или да чатите с приятели около реалния свят стаж или краен възможности, Знам, че някои от нашите приятели от страна на промишлеността ще бъде там. И няколко снимки, които можем боя тук са, както следва. [MUSIC] DAVID J. Malan: Добре. Така че след това е CS50 честно. Така че нека сега да пристъпи към разкажа една история че наистина ще даде възможност надяваме за неща като окончателните проекти. Така че едно от няколко малки неща, за да семето си ума, за крайно проекти или просто по-общо за проекти, които може да решите да се справи след на Разбира се, те са документирани на manual.cs50.net където CS50 ръководство, където имаме много техники документирани. И това е само краткото записване за казва, че съществува в света неща нарича SMS на приятел шлюзове, което е луксозен начин на казвайки, има сървъри в света че знаят как да конвертирате имейли, за да текстови съобщения. Така че, ако за вашия окончателен проект, който искате да се създаде някакъв мобилен тематични услуга, която ви позволява да предупреждават приятели или потребителите, за събития на територията на колежа или това, което се сервира в D Hall тази нощ, или друго такова предупреждение функция, Знам, че това е просто, колкото изпращането на електронна поща и с PHPMailer която може да се използва за pset7 или видяхме накратко една седмица или така преди, да адреси по този начин. И всъщност можете да текст тази поема вашият приятел има неограничен текстови съобщения план и не искате да ги възложи $ 0.10. Но ако изпратите електронно писмо до свой приятел Кой си ти, че да има Verizon или AT & T използва Gmail и просто да го изпратите на своя телефонен номер при каквато и да е поддомейн има, ти осъзнаваш ще изпратите текстово съобщение. Но това е едно от онези неща да бъдат внимателни на. Ако трол чрез CS50 миналата година клипчета мисля, че беше, ужасяващ, ужасяващи, ужасяващи бъг написах в код в крайна сметка изпращане около 20,000 текст съобщения живеят в нашия учениците в клас. И само защото някой забелязал, че те получаваха множество текстови съобщения от мен направи имам необходимите средства, за да се удари Control C бързо и да се спре този процес. Control C, си спомняте, е твой приятел в случаи на безкраен цикъл. Така че, пазете силата, от която току-що дава да ви по-скоро безотговорно, най- вероятно, на базата на собствения си опит. Но това е в интернет и има бил там за известно време. Добре. Така textmarks.com. Така че това е един уеб сайт. А има и букети от други там както и че ние всъщност използват като клас в продължение на години, за да може да получават текстови съобщения. За съжаление, изпращане на текстови съобщения е лесно като изпращане на имейли, като това. Получаването е малко по-трудно, особено ако искате да имате една от тези секси кратки кодове, които само пет или шест цифри. Така например, в продължение на години си бил можете да изпращате текстово съобщение - и вие да опитате това, както и - до 41 411. И това е телефонен номер за този конкретен стартиране. И ако изпратите съобщение до 41 411 - Просто ще го напиша тук, така че 41 411 - и след това да ги изпратите съобщение искали SBOY за Shuttle Boy. И след това въведете в нещо като Mather четириядрени. Така че ви изпрати това текстово съобщение на този телефонен номер. В рамките на няколко секунди, вие трябва да получите обратно отговор от Shuttle CS50 Boy услуга, която е трансфер график софтуер, който сме имали от там, в интернет за известно време. И то ще отговори на ви чрез текстово съобщение. Защото това, което сме направили като класа, като програмист, е да се напише софтуер, настроим нашия безплатен акаунт с текст марки да слушат за текстови съобщения, изпратени да SBOY в това число. И това, което те правят, е да изпрати тези текст съобщения до нашия PHP-базирани уеб сайт като HTTP параметри казва, тук. Този потребител с този телефонен номер те изпрати текстово съобщение. Общо с това, което искате. Така че ние написахме някои софтуер, който при получаване на низ като SBOY Mather четири, ние го анализира. Ние разбера къде пространствата са между думите. И ние като класа да реши как да отговори на това. И ако се опитате, че сега, например, трябва да видите, чрез отговор в рамките на няколко секунди, през следващите няколко совалки ще от Mather до четири, ако има такива. А има и други спирки. Можете да въведете в Boylston или друга подобна спира на територията на колежа, както и да признават тези думи. Така parse.com. Това е още една услуга, която ние сме били посочи някои студенти за окончателните проекти, това е чудесно с това, че е безплатно за разумна степен на експлоатация. И като отида да parse.com ще видите че това е алтернатива всъщност има нещо като своя собствена база данни MySQL. И честно казано, това е просто вид хипнотизиращ. Това е, което е от вътрешната страна на замъгли дори в облачен ден. Така parse.com ви позволява да направите куп интересни неща. А има и други алтернативи към настоящия там. Например, можете да ги използвате като си крайната база данни. Така че не е нужно да има на уеб хостинг компания. Не е необходимо да има база данни MySQL. Можете да използвате вместо крайното им обратно. Ако правиш мобилен проект за Android или IOS или други подобни, знаем, че съществува неща като лицеви услуги така че можете да натиснете сигнали към моите приятели или началните екрани на вашите потребители. И тогава един куп други функции, както добре. Така че, ако имате интерес, вижте тези уеб сайтове и уеб сайтове като тях да видим колко други народи " раменете ви може да стои, за да направи наистина страхотен софтуер на собствения си. Сега по отношение на автентичността, често задавани въпроси, е как да се гарантира действително че потребителите са хора на територията на колежа, Харвард студенти или преподаватели или служители? Така CS50 разполага със собствена идентификация услуга, наречена CS50 ID. Отиди на URL, че и вие можете да ограничите сайт за всеки, който има Harvard ID, например. Така че знаем, че можем да се справим, че. Вие не трябва да бъде в бизнеса да се каже, какво е вашето Harvard ID? Какво е вашето Harvard PIN? Позволете ми сега да направя нещо с него. Ние ще направим всичко това. И това, което ще ви даде обратно е нечий име и имейл адрес, но не нищо чувствителни. Едно приложение на мобилно устройство, тя може да бъде накарани да работят на мобилно устройство, но това не е съвсем предназначени за това. Така че ще свърши харчат трета тривиално период от време, това. Така че аз ще отблъсне този маршрут за сега. Това е наистина, предназначени за уеб базирани приложения. Така че уеб хостинг. Така че, ако не сте виждали на хода на началната страница - и тук е мястото, където ще започнем една история - Уеб хостинг е всичко за да плащат за обикновено услуга, домакин на собственост сървъра от някой друг в интернет, че има IP адрес, и след това сложи си уебсайт на него. И те обикновено ви дам имейл сметки и бази данни и други такива функции. Знайте, че ако не искате да действително платят за такава, отидете на този адрес има и CS50 всъщност е с нестопанска цел, предвид, че можете да използвате, за да всъщност не са http://project вътрешността на уреда за окончателен проект. Ако действително искате да бъде нещо подобни, isawyouharvard.com, можете да си купите, че името на домейна - въпреки че Не, че специално един - и След това можете да отидете за него хостване на публично уеб сървър като ние можем да предложим вие от тук. И в действителност, ако непознат, Ако никога не сте били isawyouharvard.com, едно, отидете там. Но две, знам, че това е един млад жената название по Tej да Toor Too две години, преди три години, който е бил CS50 възпитаници на които им се един ден или два преди CS50 справедлива изпрати имейл към списъка си къща пощенския и готово. Два дни по-късно от представителките на нежния CS50, тя трябваше стотици потребители от пълзене по помежду си на нейния сайт и казвайки как са видели нея или него на територията на колежа. Така че това е един от любимите си CS50 Успехът истории от а CS50 окончателен проект. Е, как да отида за пускането на уеб сайт харесва, че в интернет? Е, има няколко такива съставки тук. Така един, ще трябва да си купите име на домейн. Има връзки на места в света, от които можете да купя име на домейн. И например, едно, че ние препоръчваме само защото е популярна и това е евтин се нарича namecheap.com. Но можете да отидете и godaddy.com десетки други там. Можете да прочетете на мнения. Но в по-голямата си част това не стане значение, от когото сте купя име на домейн. И те се различават по цена и те се различават по суфикс. Наставки като. COM,. Мрежа, . Орг,. Йо. Телевизия, тези, всъщност се различават по цена. Но ако искаме да направим нещо подобно 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, и превъртете нагоре тук. Така че тук - какво се е случило там? Интересно. Beyond кой е - Нека да бъдем по-нисък ключ. Кой е mit.edu? OK. Това е полезно. Така че това е, което се надявах. Законното използване на услугата DNS. Име сървъри тук показват следното. Това е начин MIT да каже, когато някой в ​​света, където и да са, типове в mit.edu и хитове Въведете, лаптопа си, независимо дали Mac или PC, ще по някакъв начин в крайна сметка да разбера, че хора в света, които знаят какво IP адрес за mit.edu или някоя от поддомейните на mit.edu или някоя от тези сървъри тук - и всъщност прилича MITs инфраструктура е доста силен, както бихте очаквали. Те имат множество сървъри имена което е добре за напускане. И всъщност, те изглежда са в световен мащаб разпределени по целия свят. А китка на тези, изглежда да е в САЩ, няколко в Азия, един в Европа, две в някъде другаде. Но въпросът тук е, че DNS, че ние сме били като за даденост и обикновено се описва като една голяма маса Excel че има IP адреси и домейни имена всъщност е доста сложна йерархична услуги, така че в свят всъщност има краен брой на сървъри, които по същество знаят къде всички. Комс са или всички на. мрежи са всички . Orgs са, и така нататък. Така че, когато отидете напред и да си купите домейн име от такова място Име Евтини или Go Daddy или всеки друг сайт, един от основните стъпки, които ще трябва да направите ви, ако направите това дори и за крайната си проекта, е кажете на регистратора от когото сте закупуване на домейн име, което в света познава уебсайт IP адреси, които Вашето име сървъри са. Така че, ако използвате, например CS50 е хостинг акаунт - ние се случи да има тази сметка чрез dreamhost.com който е популярни уеб хостинг компания - те ще ви кажат, че трябва да си купиш домейна си и да каже на света, че името на сървъра за вашия домейн е ns1.dreamhost.com, ns2.dreamhost.com, и ns3.dreamhost.com. Но това е всичко. Закупуването на домейн име означава предоставянето им на пари и получаване на собствеността на домейн, но това е по-скоро като под наем все пак. Схващаш ли за една година и след това да поискат пари можете recurringly за останалата част от живота си, докато не затвори името на домейна. И тогава ще им кажа кой сървърите за имена са. Но след това сте готови с Вашия регистратор. И от там ще си взаимодействат само с си уеб хостинг компания, която в случай CS50 ще бъде DreamHost. Но отново, повече документация ще бъде при условие за вас, ако решите да отидете този маршрут. Така че, ако вие направите това след курса края, просто Гугъл уеб хостинг Компанията ще се появи хиляди възможности. И аз по принцип препоръчваме да Посъветвайте се с приятели, които може да са използвани за дружеството преди, ако те препоръчват тях и направи добър опит. Защото има много движение през нощта уеб хостинг компании, като един човек в мазето си със сървър , която има IP адрес. Той има някои допълнителни RAM и твърд диск пространство и просто продава уеб хостинг сметки, въпреки че няма начин, че сървър може да се справи стотици потребители или хиляди потребители. Така че осъзнаваш, че ще получите това, което плащате. За доста време за личното ми дом страница - и това е напълно приемливо защото бях нещо като две посетители на месец - Плащах, като, $ 2.95 на месец. И аз съм сигурен, че това е в мазето на някого. Но пак, те не получават задължително никакви гаранции за непрекъсната работа или скалируемост. Така че отново, вие обикновено ще търсят в нещо повече от това. Е, какво да кажем за SSL? Така че това, което се използва за SSL? Нека сега да започне да насочат в направления на сигурността и неща, които може да ни навреди. Особено като си предприятие по своему. Какво е SSL, или това, което се използва за SSL? Сигурност, OK. Така че той се използва за сигурност. Какво означава това? Така че това е съкращение от Secure Sockets Layer. И това е обозначен с URL , която започва с https://. Много от нас вероятно никога не сте въвели https://, но вие ще откриете, че често браузъра се пренасочва от HTTP да HTTPS, така че всичко е там след криптирани. FYI, използвайки SSL изисква обикновено, че имате уникален адрес IP. И обикновено, за да получите уникален адрес IP трябва да се обърне на уеб хостинг компанията за няколко долара повече на месец. Така че осъзнават това е много лесно изпълняват тези дни от закупуване на IP адрес и от купуването на това, което е нарича SSL сертификат. Но осъзнавам, че тя не дойде в някакъв допълнителен разход. И тъй като ние ще се опитаме да изплаши само за малко, дори не е задължително 100% защитно на каквото и да е , което се опитва да защити. Така че за сигурността, бих мислил, че ще направи нещо като случаен Segue тук. Както може би знаете от лекция на CS50 видеоклипове, нашият екип за производство е било Фен тъй като имам за предприемане на много хубаво Снимки на колежа, и въздушната фотография най-скоро. Ако някога погледнете нагоре и да се видим нещо летене с малка камера, тя може действително да бъде CS50. И аз просто реших да споделя минута на някои от кадрите отборът има се събраха, особено като погледнем към пролетния семестър и следващата есен. Ако някой от вас има цака за фотография, видеозаснемане, бихме Обичам да те замесвам зад кулисите. Но повече за тези подробности в една седмица. [MUSIC] DAVID J. Malan: Оказа се, че има мини голф на върха на На стадиона, че никога не сме знаели за. [MUSIC] DAVID J. Malan: Можете да видите Схема на безпилотен самолет там. [MUSIC] DAVID J. Malan: Най-добрата част тук е, да гледате на джогинга в ляво. [MUSIC] DAVID J. Malan: Друг пример за това, което можете да правите с технология, която е само тангенциално, честно казано, свързани със сигурността. Но аз си мислех, че би било по- забавен начин на просто казвам, сигурност. Така че нека да видим дали не можем да ви плаши момчета сега с не само малко на няколко заплахи, но също така и на свързаните с тях разбиране на това, тези заплахи се така, че се движат напред можете да реши как и дали да се защитава себе си срещу тези неща и най- поне да се забравя от тях, колкото вземат решения за това дали или не да изпрати имейл, че, дори да влезете в този сайт, дали да използвате, че Cyber ​​Cafe е Wi-Fi достъп точка, така че да знаете какво заплахи са наистина около вас. Така Jonathan по нещо харесва това в понеделник. Той имаше един изстрел прозорец на екрана. Това е от Mac. Колко от вас някога са инсталирани софтуер на вашия Mac или PC? Очевидно всички. Колко от вас са дали много, че да въвеждате парола когато бъдете подканени? Искам да кажа, дори не знам, честно казано. Така че няколко от нас са добри в параноя. Но помислете какво сте всъщност правиш тук. В един типичен Mac или PC имате акаунт на администратор. И обикновено вие сте единственият, използвайки лаптоп на най-малко тези дни. Така сметката си, Malan или JHarvard или каквото и да е, е администраторски акаунт. И какво означава това ли е да корен достъп до вашия компютър. Можете да инсталирате всичко, което искате, изтриете всичко, което искате. И обикновено тези дни, тъй като на датирани дизайнерски решения от години, Между другото повечето софтуер се инсталира е като администратор. И дори ако вашият Mac или PC има най-малко намерила достатъчно умен, над година с най-новите превъплъщения на Mac OS и Windows не да пускате потребителско име по подразбиране, тъй като администратор, когато изтеглите някои нова програма от интернет и се опитват да го инсталирате, вие вероятно ще да бъде напомнено за парола. Но уловът е, в този момент, ти си буквално подаде ключовете на своя компютър по какъвто и да е случайна програмата, която току-що свален и което му позволява да инсталирате каквото и да иска. И като Jonathan намекнато, осъзнават че може да се каже, че иска да инсталирате софтуер, който ви интересува за, Spotify или качи или каквото е това, което се опитвате да инсталирате. Но ти буквално доверие на автора или авторите на софтуер, за да само това, което програмата е трябвало да се направи. Но няма абсолютно нищо спиране на повечето програми за най- операционни системи от изтриване на файлове, от качването им до известна компанията сайт, от тралене наоколо, за криптиране на нещата. И пак, ние сме нещо като построен на цялата инфраструктура, в годините на доверие. И така осъзнават, че току-що сте били доверявайки случайни хора и случайни фирми за по-голямата част. И Джонатан намекнато също, понякога самите дружества са нещо съзнателно злонамерен, нали? Sony хвана доста коментари след няколко години Преди за инсталиране на това, което се нарича руткит комплект на компютрите на хората без тяхно знание. А същността на това е, че когато купи CD, например, че те не искам да бъде в състояние да копирате или откъснете музиката на това CD ще инсталиране, без ваше знание, руткит на вашия компютър. Rootkit просто означава софтуер, който работи като администратор, които потенциално прави лоши неща. Но сред нещата, това нещо пък бе той се скри. Така че някои от вас може да бъде доста акъл с компютъра си и да знаят, е, че може просто да отворите Task Manager или Дейност Monitor и мога да гледам всички на arcanely наречени програми които се изпълняват. И ако нещо изглежда подозрително Аз просто ще го убие или да го изтриете. Но това е, което руткит направих. По същество той каза, ако използвате Task Мениджър, не се показват. Така че софтуерът е бил там. И само ако наистина, наистина изглеждаше трудно може дори да го намерите. И това е направено в името на защита срещу копиране. Но само си представете какво би могло са направени по друг начин. Сега в условията на самозащита. Много сайтове са чудесно милостив с това, че те поставят тези катинар икони на тяхната страница, която означава, че сайтът е защитен. Това е от bankofamerica.com тази сутрин. Така че това, което прави, че малката иконка катинар има предвид до бутона Вход? Абсолютно нищо. Това означава, че някой знае как да използва Photoshop да направи снимка на катинар икона. Както съвсем буквално, на факта, че това е там е трябвало да бъде положителен сигнализира на потребителя като, О, сигурен уебсайт. Аз трябва да вярвам на тази интернет страница и сега въведете потребителското си име и парола. И това е конвенционален за години, като наскоро като тази сутрин. Но помислете за навици, които това ни забъркват. Помислете за мълчаливо послание, че всички на тези банки в този случай са изпращайки ни в продължение на години. Ако видите катинара, след което закачете. Ясно ли е? Така че как може да се злоупотребява, че системата на доверие, ако ти си лош човек? Сложете катинар на вашия сайт, и Логично е, че потребителите са обусловено от години да поеме катинар означава защитено. И това всъщност може да е защитен. Може да имате чудесно защитен SSL HTTPS връзка с фалшив сайт. COM. И никой друг в света може да видите че сте на път да го или я Вашето потребителско име и парола към профила си. Това обаче, може би, е малко по-успокояващо. Така че това е снимка на екрана на върха на браузъра си тази сутрин в bankofamerica.com. И забележи тук ние имат иконата катинар. Какво означава това в този контекст в Chrome най-малко? Така че това сега използва SSL. Така че това е действително по-добра работа. А фактът, че Chrome е което го прави зелено е предназначен да привлече вниманието ни на факта, че това е не само през SSL. Това е компания, която някой не е проверена всъщност bankofamerica.com. А това означава, че Банката на Америка, при закупуване на техните така наречени SSL удостоверение, по същество голяма случайна, донякъде случайни числа, които прилагат сигурност за тях, че са били проверени от някои независими трети партия, която казва: Да. Това всъщност е главен изпълнителен директор на банка на Америка се опитва да купи на сертификата. Chrome ще затова вярвам, че сертифициращ орган и казват в зелено, това е bankofamerica.com. И Банк ъф Америка просто плаща няколко стотин долара за този или няколко хиляди, за разлика от няколко десетки долара. Но и тук, колко от вас някога се прояви по различен начин, защото на URL в браузъра си е зелен вместо черен? Така ли е? Така че няколко от нас. И това е хубаво за да е параноик. Но дори и тогава, тези от вас, които дори забележите тези неща, нали всъщност спрете влезете в един иначе защитен сайт, ако URL не е зелен? Добре, може би не, нали? Поне повечето от нас, ако това не е зелена, най-вероятно просто ще да бъде като, независимо. Харесва ми, искам да влезете в този сайт. Ето защо съм тук. Отивам да влезете в системата все пак. Като настрана, Chrome е малко по-добре за това. Но има много браузъри като Firefox например, най-малко за известно време, когато тази катинар икона е, всъщност можете да слагате иконата на собствения си. Нека да видим какво най-новата версия на Firefox изглежда. Така че ако отидем в CS50.net. ОК, така че съм станал по-добър, както добре. Какво браузърите, използвани да направите, е искал, ето например [? SAAS е?] билото тук. Това е така наречената любими иконата за един уеб сайт. Години - всъщност не толкова отдавна - че малко щит щеше да е прав тук до URL. Защото някой гений реши, че просто изглежда доста класен да има графичната правото лого до вашия URL. И дизайн мъдър, че всъщност е доста убедителна. Така че това, което е лош човек започнете да правите? Те започват да променят своя любим икони, или тяхното иконата по подразбиране за начална страница трябва да бъде не по билото но катинар, който имаше абсолютно никакво значение. Други от любимия си икона бе катинар той не е имал индикации за сигурност. Така че уроците тук са Няколко мисля. Един от тях е, че всъщност има някои добронамерени механизми за да ни научат на потребителите за сигурност, дори ако не беше дори наясно какво зелено означава или какво дори HTTPS предвид. Но ако тези механизми ни вкара на лошия навик доверие сайтове когато видим тези положителни сигнали, Те са много лесно да злоупотребява както видяхме само преди малко с нещо глупаво като това. Така сесия отвличане влиза в играят, както казахме и преди, с бисквитки например. И какво означава това всъщност означава? Ами с похищение на сесии това е всичко, за кражба на бисквитки на някого. Така че, ако се отвори Chrome тук, за Например, и аз отваряне на инспектор тук и да отида в Мрежата Tab - и ние сме го и преди - и аз отида на нещо като http://facebook.com Enter, цяло куп неща, отива по екрана защото на всички изображения и СГО и JavaScript файлове. Но ако погледнете тази тук забележите че Facebook е наистина един засаждане или повече бисквитки на моя сваляне тук. Това са по същество страна печати, които ме представляват. И сега се надяваме браузъра си ще представи това отново и отново, когато равносметка за този сайт. Но това само е сигурна, казахме Преди няколко седмици, ако използвате SSL. Но дори самата SSL може да бъде компрометирана. Помислете след целия път SSL работи. Когато вашият браузър се свързва с отдалечен сървър чрез https://, дълга история кратко, криптография е замесен. Това не е толкова просто като Цезар или Visionaire или дори DES, DES от малко назад в pset2. Това е по-сложно от това. Тя се нарича криптографията с публични ключове. Но наистина голяма и наистина случайни номерата се използват да се катеря информация между точка А, вие, и точка Б, като facebook.com. Но проблемът е, колко от нас отново някога напишете https:// до начало нашия уебсайт връзка в този защитен режим? Искам да кажа, колко от вас дори тип http://facebook.com? Добре, ако го направите, като, здравей. Не е нужно да се направи това вече, нали? Браузърът ще го разбера. Но повечето от нас наистина Просто въведете facebook.com. Защото, ако сте с помощта на браузър, на браузъри са придобили достатъчно умен от 2013 да се приеме, ако сте с помощта на браузър, въведете в даден адрес, можете Вероятно искате да получите достъп не го чрез имейл или съобщение. Искаш да кажеш, HTTP и порт 80. Тези конвенции са приети. Но как пренасочване работа? Е, забележи какво се случва тук. Ако се върна към Chrome - и да го направим в инкогнито режим, така че всички ми бисквитки се изхвърлят. И ме пусна тук, за да, отново, facebook.com. И нека да видим какво ще стане. Припомнете си, че първото искане е наистина само за facebook.com. Но това, което е отговор, че аз имам? Това не беше 200 OK. Това е 300, или 301, което е пренасочи ми казваше да отида в http://www.facebook.com, който е Facebook, където иска да отида. Но ако се вгледаме в следващата заявка, в и сме виждали това и преди, забележите това, което им е вторият отговор. Конкретно, че те искат да ми сега, за да отидете на SSL версия на Facebook. Така че тук е една възможност. Това е чудесно полезна функция на само в интернет и HTTP. Ако крайния потребител като Facebook ме иска да остане на охраняем версия на тяхната сайт, чудесно. Те ще ме пренасочи за себе си. И така, аз не трябва да дори мисля за това. Но какво, ако между точка А и Б, между вас и Facebook, има някои лош човек, има някаква система администратор в Харвард, който е любопитен , за да видите кои са вашите приятели. Или има някаква - години, това навремето луд - но има някаква правителствена организация, като НСА, които всъщност интересуват в които сте изпълзяват на Facebook. Къде е възможност там? Е, толкова дълго, колкото някой има достатъчно технически разбирам и те да имат достъп за действителното ви мрежа през Wi-Fi или някаква физическа тел, какво биха могли да направят? Е, ако те са в същата мрежа като ти и те знаят нещо за TCP / IP и IP адреси и DNS и как Всичко това работи, какво ще стане ако това човек по средата, какво ако в националното Агенция за сигурност, каквото и да може да бъде, но какво ще стане ако този субект просто реагира по-бързо, отколкото Facebook да вашия HTTP заявка и казва, О, аз съм Facebook. Давай, и тук е HTML за facebook.com. Компютрите са дяволски много бързо. За да можеш да се напише програма, работещ на на сървъра като nsa.gov, че когато става чува искане от вас facebook.com, много бързо зад сцени получава реално вземане facebook.com перфектно [? стил?] защитен SSL връзка между НСА и между Facebook, получаване, че много HTML сигурно за страницата за вход, а след това сървъра NSA просто реагира на вас със страница за вход facebook.com. Сега колко от вас дори няма да забележи че използвате Facebook през HTTP все още в този момент, защото сте случайно свързан nsa.gov и Facebook не? В тях не се променя. Всичко това се прави зад кулисите. Но повечето от нас, включително и аз, вероятно няма да забележите такъв малък детайл. Така че може да имате перфектно работещ връзката между вас и това, което че е Facebook, но има така наречените мъж в центъра. И това е общ термин за човек в средата атака, когато имате Предприятието между вас и точка Б, че е някак манипулиране, кражба или гледане на вашите данни. Така че, дори SSL не е сполучлив, особено ако сте били подмамени не го включите, защото за това как тези основните механизми действително работят. Така че един урок днес тогава също е, ако Наистина искам да бъда параноичен - и дори и тук има заплахи - ти трябва наистина да започнат да получават в навика да пишете в https://www каквото и името на домейна ви всъщност е грижа. И като настрана прекалено има още една заплаха с отношение на сесия отвличане. Много често, когато за първи път посети сайт като facebook.com, освен ако сървър е конфигуриран да се каже, че че ръката печат го постави на вас вчера трябва да се осигури, вашият Браузърът може много добре, при посещаващи неща като facebook.com google.com, twitter.com, вашият браузър може да се представя, че ръката печат само да се плесна и каза, не. Използвайте SSL. Но вече е твърде късно в тази точка. Ако вече сте изпратили вашата страна печат, бисквитка, в ясно с не SSL, трябва част от секундата уязвимост, където някой смъркане трафика, независимо дали съквартирант или NSA, Може да използвате същата тази бисквитка, и с малко технически грамотни, представя го като свое собствено. Друга атака може да имате не съм мислил. Това е наистина за вас, ако се провалиш това в писмен вид, че някой сайт по някакъв начин използва SQL. Ето, например, е на екран снимка на влизане в Харвард. И това е общ пример за нещо с потребителско име и парола. Super общ. Така че нека да приемем, че съществува и SSL че няма човек в средата или нещо подобно. Сега ние се фокусираме върху сървъра код, който може да се пише. Е, когато въведете потребителско име и парола, да предположим, че PIN услуга се осъществява в PHP. И може да се наложи някакъв код на този сървър като този. Вземи името на потребителя от поста супер глобален и да получите парола, и след това ако те използват някои pset7 като код има заявка функция които биха могли да направят това. Изберете Star от потребители, където потребителско име се равнява на тази и парола изравни с това. Това изглежда, на пръв поглед, напълно разумен. Това е синтактично валидна PHP код. Логично няма нищо наред с този член. Предполага се, че има още няколко линии, които всъщност направи нещо с резултат на което се връща от базата данни. Но това е уязвима за поради следната причина. Забележете, че, като добър гражданин, Имам поставени в кавички, един кавички, потребителското име. И сложих в единични кавички паролата. И това е нещо добро, защото те са не трябва да е брой. Обикновено те ще бъдат текст. Така че аз съм ги цитира като струни. И сега, ако по-нататък, какво ще стане ако - и съм отстранява куршумите от ПИН услугата временно - Какво става, ако се опитам да вляза в най- Председател [? Scroob?] но аз твърдя, че паролата ми е 12345 "или 1" = 1, и информация това, което не съм направил. Аз не затвори другата апостроф. Защото аз съм доста остър тук като лош човек. И аз съм се предположи, че са си не е много добър с PHP и MySQL код. Аз съм се познае, че не сте проверка за наличието на кавички. Така че това, което се случи е, че когато си потребителят е въвел в този низ, заявката, вие сте на път да създадете изглежда така. И дълга история кратко, ако и нещо заедно или вие или нещо заедно това ще се върне ред от базата данни. Поради това винаги е случай, че едно е равно на 1. И само защото не е очаквала че вашите потребители, добри или лоши, може има апостроф на тяхно име ви са създали SQL заявка, която все още е валидни и ще се върнат сега повече резултати отколкото може да са предназначени. И така, този лош човек вече има потенциално влезете в своя сървър защото вашата база данни се връща на ред дори ако той или тя няма представа какво [? Scroob е?] Застроена паролата. О, аз осъзнах, правописна грешка тук. Трябваше да кажа парола равен 12 345 харесват предходната Например един или равен на 1. Ще поправим това онлайн. Тогава защо сме ви с помощта на заявка функция с въпросителни знаци? Едно от нещата, заявката функция прави за вас е това гарантира, че когато премине в аргументи след запетаи тук като този, че заявката Това всъщност е изпратен на база данни изглежда така. A-грозно много да погледнете, но назад наклонени черти са автоматично добавя, че за да се избегне точно инжекция атака, която показах преди малко. Сега забавно XKCD, че мислех, че ще дръпнете тук се надяваме, че сега трябва да бъде малко по-разбираемо е този тук. Малко? Може би имаме нужда от малко повече дискусия за това. Така че това е намеквайки за малко дете на име Боби, който е някак си вземат Възползвайте се от уеб сайт, който е само вярвам, че това, което потребителят е въвел в не е, в действителност, SQL код, но в действителност е низ. Сега може да се припомни, че капка - може да са видели това - спад средства изтриете таблица, изтриване на база данни. Така че, ако по същество твърдят, че Вашето име е Робърт "; droptabl estudentsomething,] може би много добре подвежда база данни не само в проверка, че сте наистина Robert, но запетая също продължите да падне на масата. И така SQL инжекция атаки може действително да бъде като заплаха, тъй като това чрез която можете да изтриете данни на някого, Можете да изберете повече от презареждане предназначени, можете да вмъкнете или актуализиране на данни. И всъщност можете да видите това при най- упражнения вкъщи, а не за злонамерен цели, но само за инструктаж, е всеки път, когато бъдете подканени да влезете в сайта, особено някаква без много публично, много популярен сайт, опитайте да влезете като John O'Reilly или някой с апостроф на тяхно име. Или буквално просто напишете апостроф, натиснете Enter, и да видим какво ще стане. И твърде често трагично, хората не са санирани техните входове и се увери, че неща като цитати или точка и запетая са избягали. Ето защо в pset7 даваме ви тази заявка функция. Но не по възприемат какво се прави за вас. Така че с това каза, радвате на работата в интернет тази седмица. И ние ще се видим в понеделник. На следващия CD50. [MUSIC]