>> [MUSIC]
>> Девід Дж. мала: Добре.
Так що це, і це CS50 це кінець тижня 10.
Деякі з вас, можливо, бачили цю вже, але поширюється пізньої
стаття, яка я думав, що я читав уривок з, а потім показати вам
трихвилинного відео, яке малює ту ж картину.
Це була дійсно зворушлива історія, я думала, цього перетину
реальний світ з по-справжньому переконливих використовує технології.
>> Таким чином, стаття під назвою "Хлопчик oversleeps на поїзді, використовує Google Maps
знайти сім'ю 25 років потому ". І перші пару абзаців були,
"Коли Saroo було п'ять років, він пішов зі своїм старшим братом, щоб випросити для
змінити на пасажирський поїзд У місті близько двох годин
зі свого маленького рідного міста.
Saroo втомився і стрибали на прилеглої залізничної, де він думав, що його
брат, а потім заснув.
Коли він прокинувся, він був в Калькутті, майже 900 кілометрів.
Saroo намагався знайти свій шлях тому, але він не знав,
ім'я його рідного міста.
І як крихітний хлопчик неписьменних у величезному місто, повний забутих дітях, яких він
Практично немає шансів отримати вдома.
>> Він не був вуличним дитиною деякий час, поки місцевого агентства з усиновлення підключили
його з австралійською парою які привели його до
жити в Хобарт, Тасманія.
Saroo переїхали туди, дізнався, Англійська мова, і виріс.
Але він ніколи не перестали шукати його сім'ї та його рідного міста.
>> Десятиліття потому, він виявив Google Земля і слідами залізниці.
І даючи собі фіксованого радіуса, основі, як довго він думав, що він
спить і як швидко він думав, що поїзд збирався, він знав, він виріс
в теплому кліматі, він знав, що говорив Гінді, як дитина, і йому сказали
що він, схоже, був зі Східної Індії.
>> Нарешті, після багатьох років чистячі супутникові фотографії, він
визнані кілька орієнтирів.
І після бесіди з адміністратором з сусіднього міста
Facebook сторінки, він зрозумів, він знайшов удома. "
>> Так от тоді це відеоролик, що розповідає цю історію з його точки зору.
>> [ВІДТВОРЕННЯ ВІДЕО]
>> -Це було 26 років тому, і я був раз збирався повернути п'ять.
Ми дісталися до залізничного вокзалу та Ми сіли в поїзд разом.
Мій брат щойно сказав, я залишуся тут, і я повернуся.
І я просто подумав, ну, ви знаєте, я могли б також просто піти спати і
Потім він просто розбудити мене.
І коли я прокидаюся на наступний день, весь вагон був порожній на втечу
Поїзд, поїзд-привид приймаючи мені, що я не знаю, де.
>> Я був прийнятий до Австралії в австралійській сім'ї.
І мама прикрасила мою кімнату з карту Індії, яку вона
поклав поряд з мого ліжка.
Я прокидався щоранку, бачачи, що карти, і, отже, він ніби як зберіг
спогади живі.
>> Люди говорили, що ви намагаєтеся знайти голку в стозі сіна.
Saroo, ви ніколи не знайдете його.
Я повинен був би блимає з місць, які Я ходив, спалахи
граней моєї сім'ї.
Був образ свою матір, яка сидить вниз зі схрещеними ногами,
просто спостерігаючи за її крик.
Життя так само важко.
Це було моє скарб.
>> І я шукав у Google Map і зрозумів, є Google Earth, а також.
У світі, де ви могли б збільшити в Я почалися всі ці думки і
які можливості, що це може зробити для мене.
Я сказав собі, ну, ви знаєте, у вас є всі фотографічні
спогади і пам'яток, де ви знаходитесь , І ви знаєте, що
Місто виглядає.
Це може бути додаток, яке ви можете використовувати, щоб знайти дорогу назад.
>> Я думав, ну, я поставлю крапку на Калькутти залізничної станції в радіусі
лінії, що ви повинні бути пошук навколо цієї області.
Я натрапив на ці залізничні колії.
І я почав після цього, і я прийшов до залізничної станції, яка відображала
той образ, який в моїх спогадах.
>> Всі збіглося.
Я просто подумав, так.
Я знаю, куди я йду.
Я просто хочу, щоб карту, яку я мене в голові вести мене і візьми мене
у своє рідне місто.
>> Я прийшов до порога дому що я народився і ходив
близько п'ятнадцяти метрів за рогом.
Там були три дами, стояв за поруч один з одним.
А середній ступив уперед.
І я просто подумав, це твоя мати.
Вона вийшла вперед, вона обняла мене, і ми були там протягом приблизно п'яти хвилин.
>> Вона схопила мене за руку, і вона взяла мене до Дім і отримав по телефону, і вона
подзвонила моя сестра і мій брат сказати що брат твій має просто все
Раптово з'явився як привид.
>> І тоді сім'я була знову з'єднаються.
Все, все добре.
Я допомагаю мамі поза.
Вона не повинна бути раб далеко.
Вона може провести залишок свого життя в світі.
>> Це була голка в стозі сіна, але голка була там.
Все є.
Все, що ми в світі є натисненням кнопки.
Але ви повинні мати бажання і резолюція бажаючи цього.
>> [КІНЕЦЬ відеовідтворення]
>> Так дійсно мила історія.
І це насправді нагадує мені досить тему, яка отримувала зовсім небагато
уваги останнім часом в The Crimson, більш національно в цілому.
Тим більше, що MOOCs приймають етап пізно.
MOOCs буття цих масивних і відкритої онлайн-курси яких є одним CS50.
>> І людей, що говорять про те, як, для Наприклад, гуманітарних наук насправді не
наздоганяють або не настільки У моді, як це було раніше.
І я хотів би закликати вас, хлопці, багато як Джонатан зробив у понеділок, думати
о, як ви виходите 50, і ми знаємо, вже близько 50% з вас не буде
продовжувати приймати іншого комп'ютера наука, звичайно, і це повністю
штрафу і очікувалося.
Тому що одна з головних цілей класу, як це реально
розширення прав і можливостей ви, хлопці, тільки з розуміння того, як всі ці речі
працює і як цей світ технології робіт.
>> Так що, коли ви повернулися у свої власні світи, будь то попередньо мед або
будь то гуманітарні або соціальні науки чи іншій області,
в цілому, що ви, хлопці приносять деякі технічні підкованих до столу і
допомагає приймати більш зважені рішення, коли Що стосується використання та
впровадження нової технології у ваш світ.
>> Наприклад, я згадав пізніше Занадто двох студентів
класів я взяв два роки тому, які були такі прості способи використання інформаційних технологій
але дуже переконливими.
Перша ніч з професором Томом Келлі Якщо ви взяли класу.
Це клас з класичної музики на даному етапі тут, де ви дізнаєтеся
трохи про музику.
Це насправді першої ночі, що CS50 запозичив ідею для тих треків
менш комфортно між і зручніше.
>> У свій час у них були різні треки для дітей з абсолютно ніякої музики
досвід, як мені, а потім діти, які було виконання так як вони були
п'ять років.
І цього класу, наприклад, тільки що веб-сайт, як і більшість інших, але
був сайт, який дозволив вам досліджувати музику на ньому і відтворювати
музичні кліпи з класу, з Інтернету, і просто використовувати технологію в дуже
плавний спосіб.
>> Іншим класом років потому я аудит, по суті, до аспірантури,
Anthro 1010, Введення в археологію тут.
Це було дивно.
І одним з найбільш переконливих ж супер очевидна, в ретроспективі, використання
Програмне забезпечення було те, що професора в , Що клас, використовуваний Google Earth.
Ми сиділи на іншій стороні вулиці У деяких лекційний зал.
І ви не могли поїхати, наприклад, на Близький Схід, щоб копати, що одна
з професорів щойно повернувся на, але ми могли б зробити, що практично по
літають в Google Earth і дивлячись на очей пташиного польоту на
розкопок він щойно повернувся з тиждень тому.
>> Тому я хотів би закликати вас, хлопці, особливо в гуманітарних науках, йти
тому до тих відомств після цього Клас чого ваші остаточні проекти
з вами або свої власні ідеї, і подивитися, тільки те, що ви можете зробити, щоб наповнити ваш
власних полях в гуманітарних або за з трохи такого роду
річ, яку ми досліджували тут, в CS50.
>> Так що з картиною, намальованою, думав, ми б спробувати вирішити дві речі сьогодні.
Один з них, постараюся дати вам відчуття де ви можете піти після 50.
І зокрема, якщо ви вирішите рішення веб-проекту як
неймовірно часто, як ви можете йти про зліт всі CS50 учасника
підготовки коліс і збираються там на власний, а не вдаючись до
PDF або специфікацію PSET?
Не вдаючись до CS50 Прилад більше.
Але може дійсно взяти себе вгору вашими волосся.
>> З урахуванням сказаного, на основі З остаточним проекти вітаються.
Те, що використовувати підставку для портативної бібліотеки в
графіки привітні.
Ми просто знаємо, що за статистикою багато люди відкушують проектів на РНР і
Python і Ruby, і MySQL та інші середовища, тому ми будемо зміщення деяких з
наші зауваження на цьому шляху.
>> Але швидкий погляд назад.
Таким чином, ми вважали само собою зрозумілим у pset7 Те, що $ _SESSION існувало.
Це було супер глобальної, світової, асоціативний масив.
І про що це дозволяють робити?
Функціонально, у чому Тобто це дає нам?
Так?
Щоб відстежувати ID користувача.
І чому це корисно?
Для того, щоб зберігати всередині цього супер глобальні JHarvard або [? Scroobs?]
або користувача Малана в ID, коли він або вона відвідує сайт.
>> Саме так.
Таким чином, ви не повинні увійти знову і знову.
Було б дійсно кульгавий всесвітній павутині Якщо кожного разу, коли ви натиснули посилання
на сайті, як Facebook або кожен раз, ви натиснули на електронну пошту в Gmail ви
була повторна аутентифікація довести, що вона як і раніше вас, а не вашого сусіда по кімнаті
які, можливо, підійшов до вашої комп'ютері під час вашої відсутності.
>> Тому ми використовуємо тільки СЕСІЇ пам'ятайте, хто ви є.
І як це реалізовано під капотом?
Як сайт, який використовує, Протокол, який веб-браузерами і серверами
говорити, то як HTTP, який є протокол без, скажімо так.
>> І я маю на увазі без громадянства, як тільки ви підключитися до веб-сайт, завантажити деякі
HTMLs, деякі JavaScript, деякі CSS, ваш значок браузера перестає обертатися.
У вас немає постійного з'єднання на сервер зазвичай.
Ось і все.
Там немає держава зберігала постійно.
Отже, як СЕСІЯ здійснюватися таким чином, що кожного разу, коли ви відвідаєте
нова сторінка, сайт пам'ятає хто ви?
Що базової реалізації докладніше?
Кричи.
Це одне слово.
>> Cookies.
Добре.
Так печиво.
Ну, як печиво використовується?
Ми нагадаємо, що печиво, як правило, просто шматок інформації.
І досить часто буває великий випадкової число, але не завжди.
І печиво посадили на жорсткому диску або в оперативній пам'яті комп'ютера, щоб
що кожен раз, коли ви повернутися до цієї ж Веб-сайт, ваш браузер нагадує
сервер, я користувач 1234567.
Я користувача 1234567.
>> І поки сервер запам'ятав що користувач є 1234567
JHarvard, сайт буде просто припустити, що ви той, за кого себе видаєш.
І нагадаємо, що ми представляємо ці печива роду у формі
віртуальному стенді рукою.
Він послав у заголовках HTTP просто Нагадаємо серверу, що ви, хто це
думає, що ви.
>> Звичайно, є загроза.
Яку загрозу це відкриває нам, якщо до ми по суті використанням роду клуб
або механізм парк розваг для запам'ятовування, хто ми?
>> При копіюванні печива хтось і викрадення свої сесії, так би мовити, ви
може претендувати на когось, Веб-сайт, швидше за все, просто буде
вірю тобі.
Таким чином, ми ще повернемося до цього.
Тому що інша тема на сьогоднішній день за межами Надання можливостей також говорити
про дуже страшний світ в якому ми живемо і як багато з того, що ви робите на
в Інтернеті, скільки те, що ви робите, навіть на мобільних телефонах сьогодні може бути
відстежується дійсно будь-яким між Вам і точці В.
>> І Ajax, нагадаємо.
Ми дивилися тільки на короткий час це, хоча ви використовуєте його
побічно в pset8 тому що ви використовуєте Google Maps і тому, що ти
використанням Google Планета Земля.
Google Maps і Google Earth НЕ скачати усього світу, щоб ваші
робочий стіл, очевидно, Момент, коли ви завантажте pset8.
Це тільки завантажує квадратних світу або більше площа землі.
А потім кожен раз, коли ви як би направити поза діапазону ви можете помітити -
особливо якщо при повільному з'єднанні - ви можете побачити деякі сірі на мить
або трохи нечіткі образи як комп'ютер завантажує більше таких плитки,
більше таких зображень, отриманих з світу або землі.
>> І Ajax, як правило, метод на які сайти роблять це.
Якщо Вам необхідно більше карта, ваша браузер буде використовувати Ajax, яка є
сам по собі не мова або технології, це всього лише техніка.
Це використання JavaScript піти отримати Додаткову інформацію з сервера,
дозволяє вашому браузеру піти отримати, що повинно На сході або те, що на захід від
що в іншому разі в даний час показували, що в карті.
Так що це тема, що багато з вас зіткнетеся або безпосередньо, або
побічно через дипломні проекти, якщо ви вибрати, щоб зробити щось, що це
ж динамічно, що тягне даних від деяких сайтах третіх сторін.
>> Отже, ми отримали дуже цікаво в наступну середу попереду.
Тест одна інформація, для якої на CS50.net вже.
Знайте, що там буде розгляд сесії наступний понеділок о 5:30.
Дата і час вже розміщені на що в CS50.net Про аркуша.
І дайте нам знати вас є питання.
Pset8 Тим часом вже у ваших руках.
>> І дозвольте мені звернутися до однієї FAQ , Щоб зберегти людей деяка напруга.
Здебільшого багато балаканини ми бачимо в офісі годин і багато
помилки ми бачимо повідомив про Обговорити є Дійсно помилки в коді студента.
Але коли ви зіткнулися щось як Земля Google плагін збій
або навіть не працює, і ви впевнені, що це не ти, це не
[? chamad?] питання, це не помилка, яку вводять в
Розподіл коду.
>> Розуміють, FYI -
цього роду план Z -
що востаннє ми використовували цю проблему встановлений, і ми зіткнулися з схожою
питань, є рядок коду в service.js що по суті це,
, Який говорить, увімкніть будівель на.
І вони працюють по всьому останній раз ми зробив це, знову ж, випадки, коли кут
студенти просто не могли отримати прокляту штуку працювати, це змінити істинного на хибне
, Що в один рядок коду.
І ви побачите, що, якщо ви шукаєте через service.js.
>> Я не рекомендую це, тому що ви будете створити самий пустельний пейзаж
Кембридж, штат Массачусетс.
Це в буквальному сенсі звести ваш світ так що все, що ви бачите, вчення
наукових співробітників і асистентів на горизонту і без будівель.
Але розумієте, з якої причини Google Планета Земля плагін здається як і раніше буде
баггі через рік, так що це може бути ваша порядку зберегти.
Таким чином, замість того, щоб вдаватися до сліз, курорт до перетворення будівлі, якщо ви знаєте
це плагін, який не співпрацює на вашому Mac або ПК.
Але, це знову крайньому випадку, якщо Ви впевнені, що це не помилка.
>> Так Hackathon.
Пару тизером просто щоб ви схвильовані.
У нас було досить багато RSVPs.
І якраз, щоб намалювати картину того, що чекає, я думав, що я дам вам кілька
секунд згадати даного зображення з минулого року.
>> [MUSIC]
>> Девід Дж. мала: Почекай, о.
У нас навіть є буквальне CS50 човників.
>> [MUSIC]
>> Девід Дж. мала: Так от, що чекає Вам з точки зору Hackathon.
І це буде можливість, бути чіткими, не почати свій остаточний
проектів, але продовжити роботу по ваш остаточний проектів поряд
Однокласники і персонал і багато їжі.
І знову ж, якщо ти прокинувся в 5:00 ранку ми відвеземо вас в майбутньому в IHOP.
>> Справедлива CS50, між тим, є кульмінацією для всього класу, де
ви принести свої ноутбуки і друзі, може бути, навіть сім'єю в кімнаті в університетському містечку
по вулиці проявляти свої проекти на ноутбуках, на високих столів
як це з великою кількістю їжі і друзів і музику у фоновому режимі,
а також наші друзі з промисловості.
Такі компанії, як Facebook і Microsoft І Google і Amazon і пучки
інших так, щоб, якщо зацікавлені в просто Почувши про реальний світ або
в чаті з людьми, про реальному світі можливості стажування або повний робочий день,
знаю, що деякі з наших друзів від промисловості буде там.
І ще пару фотографій ми можемо фарба тут у наступному.
>> [MUSIC]
>> Девід Дж. мала: Добре.
Так що ж тоді є справедливою CS50.
Отже, давайте перейдемо до розповісти історію , Які дійсно не дадуть Вам, ми сподіваємося,
такі речі, як остаточний проектів.
Так одна з небагатьох дрібниць, щоб відібрати вашу розуму, або для остаточного проектів
або просто в більш загальному для проектів, які Ви могли б вирішити після рішення
Звичайно, це все документально на manual.cs50.net де CS50
керівництва, де у нас є багато методи документовані.
>> І це тільки скорочене позначення для кажучи, що існує в
світі, що називається SMS по електронній пошті шлюзів, яка є чудернацьким способом
кажуть, є серверів у світі які знають, як конвертувати електронні листи
текстових повідомлень.
Таким чином, якщо для остаточного проекту, який потрібно Для створення свого роду тематичний мобільний
сервіс, який дозволяє, щоб попередити друзів або користувачів до подій на території кампуса
або те, що подають у залі D в ту ніч або будь такої функції оповіщення,
знаю, що це просто, як відправка електронної пошти, як з PHPMailer якій ви
могли б використовувати для pset7 або ми бачили стисло тиждень або близько того назад, щоб
адреси, як це.
>> А насправді ви можете текст, припускаючи, Ваш друг необмежену текстових
план, і ви не хочете, заряджати їх $ 0,10.
Але якщо Ви посилаєте електронну пошту другу кого ви знаєте, щоб мати або Verizon
AT & T використання Gmail і просто відправивши його на свій номер телефону на будь
піддомен є, розумієте, що ви буде відправити текстове повідомлення.
>> Але це одна з тих речей, бути обережними.
Якщо Ви тролеві через CS50 торішнього відео, які я думаю, що це було, жахливо,
жахливі, жахливі помилка я написав у коді закінчилося тим, що надіслали близько 20 000 текстових
Повідомлення дожити до наших Студентів у класі.
І тільки тому, що хтось помітив, що вони отримували кілька текстових
Повідомлення від мене зробив у мене є коштів, щоб вдарити управління C швидко
і зупинити цей процес.
Управління С, ви пам'ятаєте, є вашим другом у випадках нескінченний цикл.
Так що стережіться сила, яку ми тільки що дали вам вельми безвідповідально, більшість
всього, засновані на моєму власному досвіді.
Але це в Інтернеті, і має був там протягом деякого часу.
>> Добре.
Так textmarks.com.
Так що це веб-сайт.
І є пучки інші там як добре, що ми фактично використовували
як клас, протягом багатьох років, щоб мати можливість отримувати текстові повідомлення.
На жаль, передача текстових повідомлень є просто, як відправка електронної пошти в цьому роді.
Отримання трохи складніше, особливо якщо ви хочете, щоб один з
ці сексуальні короткі коди, які тільки п'яти або шести цифр.
>> Так, наприклад, протягом багатьох років ви були можливість відправити текстове повідомлення - і ви
можете спробувати зробити це, а також -
до 41411.
І це телефонний номер для даному запуску.
І якщо ви відправляєте повідомлення для 41411 -
Я просто напишу його тут, так що 41411 -
а потім відправити їм повідомлення подобається Sboy для човникових Boy.
А потім введіть в чомусь як Mather Quad.
Таким чином, ви відправити цей текст повідомлення до цього номеру.
Протягом декількох секунд ви повинні отримати назад відповідь від CS50 Трансфер
Хлопчик служби, яка є трансфер Планування програмного забезпечення, які ми мали з
там в Інтернеті протягом деякого часу.
І він відповідатиме на Ви за допомогою текстових повідомлень.
>> Тому, що ми зробили, як клас, а програміст, є написання програмного забезпечення,
налаштувавши безкоштовну обліковий запис з текстом знаки для прослуховування текстових повідомлень, відправлених
до Sboy за цим номером.
І те, що вони роблять, ці текстові вперед повідомлення на нашому PHP-сайту, як
HTTP параметри кажучи, тут.
Користувач з цим телефоном послав тебе текстове повідомлення.
Роби з ним, що завгодно.
>> Таким чином, ми написали деякі програми, які на отримання рядок виду Sboy Mather
Quad, як воно аналізується.
Ми з'ясувати, де простору знаходяться між словами.
І ми, як клас вирішите як реагувати на це.
А якщо спробувати, що зараз, наприклад, Ви повинні бачити, за допомогою відповіді протягом
кілька секунд, в найближчі кілька човників збирається від Mather до чотирьохядерним якщо такі є.
І є інші зупинки.
Ви можете ввести Бойлстон або інші подібні зупиняється на території кампуса, і вона повинна
визнати ці слова.
>> Так parse.com.
Це ще одна послуга, яку ми були вказуючи на деякі студенти для
Остаточний проектів це чудово в, що це безкоштовно для
розумну кількість використання.
І якщо я йду в parse.com ви побачите що це є альтернативою
фактично не маючи щось на зразок свою власну базу даних MySQL.
І, чесно кажучи, це просто вид заворожує.
Це що всередині хмара навіть у хмарний день.
>> Так parse.com дозволяє робити Купа цікавих речей.
І є інші альтернативи до цього там.
Наприклад, ви можете використовувати їх як ваші базою даних кінця.
Так що вам не потрібно мати веб-хостингу компанії.
Вам не потрібно мати бази даних MySQL.
Замість цього ви можете використовувати свою задню частину.
>> Якщо ви робите проект для мобільних Android або IOS і т.п., знаю, що
існують такі речі, як поштовх послуги так що ви можете натиснути оповіщення своїм друзям
або ваших користувачів домашніх екранів.
А потім купа інших особливості.
>> Так що якщо у вас є інтерес, перевірити ці веб-сайтів та веб-сайти, як вони
просто бачити, як багато інших народів " плечі ви можете стояти, щоб зробити
дійсно здорово програмного забезпечення вашої власної.
>> Тепер з точки зору достовірності, FAQ, в тому, як ви насправді гарантувати
що ваші користувачі людей на території кампуса, Студенти Гарварду чи факультету або співробітників?
Так CS50 має свою власну перевірку автентичності сервіс під назвою CS50 ID.
Перейти до URL, що і ви можете обмежити веб-сайт для тих, хто з Гарвардської
ID, наприклад.
Так що знаю, що ми можемо впоратися з цим.
Ви, хлопці, не повинні бути в бізнесі сказати, як тебе Гарвардського ID?
Який ваш Гарвардського PIN-код?
Дозвольте мені тепер щось з ним зробити.
Ми будемо робити все це.
І те, що ми дамо вам спиною хтось ім'я та електронну адресу, але
нічого не чутлива.
>> Додаток в мобільному пристрої, він може бути змусити працювати на мобільних пристроях, але
це не зовсім призначений для цього.
Таким чином, ви будете в кінцевому підсумку витрачають нетривіальні кількість часу зробити це.
Так що я б відрадити цей маршрут на даний момент.
Це дійсно призначено веб-додатків.
>> Так що веб-хостингу.
Так що якщо ви ще не бачили на Звичайно домашню сторінку -
І тут ми почнемо історію -
Веб-хостинг це все про оплаті Зазвичай служби, господар сервера належать
кимось в Інтернеті, який має IP-адресу, а потім ви покладете
Веб-сайт на ньому.
І вони зазвичай дають Вам електронну пошту рахунків і баз даних
та інші подібні функції.
>> Знайте, що якщо ви не хочете насправді платити за таке, перейдіть у цей URL
там і CS50 насправді має некомерційний увагу, що ви можете використовувати для
насправді не http://project всередині пристрою
для остаточного проекту.
Якщо ви дійсно хочете, щоб це було щось як, isawyouharvard.com,
можна купити, що доменне ім'я - хоча Чи не саме з нього - і
Потім ви можете йти про розмістити його на сайті загальнодоступному веб-сайті, як ми можемо запропонувати
ви, хлопці, сюди.
>> І справді, якщо незнайома, якщо ви ніколи не були в
isawyouharvard.com, один, йдіть туди.
Але два, знаємо, що це був молодий жінки ім'я Tej Щоб TOOR теж два
років тому, три роки тому, який був CS50 випускників, які сталися через день або два
CS50 перед справедливим розіслав лист в її будинок розсилку, і вуаля.
Через два дні CS50 справедливої, вона повинна була сотні користувачів все плазун на
один з одним на своєму сайті і говорили, як вони бачили
її або його в університетському містечку.
Так що це одна з улюблених в CS50 історії успіху
CS50 остаточний проект.
>> Отже, як ви йдете з приводу здачі сайту подобається, що в інтернеті?
Ну, є кілька таких інгредієнти тут.
Так що, ви повинні купити доменне ім'я.
Є пучки місць в світ, в якому ви можете
купити доменне ім'я.
І, наприклад, той, який ми рекомендуємо тільки тому, що він популярний
і це дешево називається namecheap.com.
Але можна піти і godaddy.com десятки інших там.
Ви можете прочитати на сторінці.
>> Але в більшості випадків це не має значення, у якого ви
купити доменне ім'я.
І вони розрізняються за ціною і вони розрізняються за суфікса.
Суфікси, як. COM,. Мережі, . Орг,. Іо. Телевізора, ті
насправді розрізняються за ціною.
Але якщо б ми хотіли зробити щось на зразок cats.com ми можемо зайти на цей сайт,
натисніть кнопку Пошук.
Імовірно, це значення вибирається.
Але, мабуть, catsagainst.com є.
pluscats.com доступно.
Lovecats, catscorner, dampcats.net.
Все це з надією псевдо генерується випадковим чином.
Якщо ви хочете cats.pw, $ 1500 тільки, який трохи божевільним.
Значить, хтось дійсно схопив всі Кішка пов'язаних доменних імен тут
різної ціни.
>> Як осторонь, давайте подивимося.
У кого є cats.com?
Знайте, що ви, хлопці, на вашому розпорядженні досить
складні команди зараз.
Як я можу надрукувати буквально який cats.com?
І через те, як в інтернеті структурована ви можете бачити, хто
зареєструвала це.
Мабуть цей чоловік [нерозбірливо] використанням проксі-сервіс.
Так що той, хто володіє cats.com не хоче , Щоб світ знав, хто вони.
Значить, вони зареєстровані, якщо через деякі випадкові служби конфіденційності.
Але іноді ви насправді отримати фактичних власників.
>> І це є, особливо якщо ви проводить запуск деяких, і ви
дійсно хочете, щоб деякі доменне ім'я, і ​​ви готові платити комусь ще для
його, ви можете з'ясувати, контакти інформацію таким чином.
>> Але також цікаво, це.
Дозвольте мені прокрутки вгору до цієї частини.
Так що це все той же висновок.
І це тільки липкий.
Таким чином, очевидно cats.com може бути ваш за правильну ціну.
Але що тут цікаво в тому, що сервери імен -
це загальне, що зловживання ім'ям Сервер, як передбачається, - ваше ім'я
сервері не повинно бути thisdomainforsale.com.
Якщо ми насправді вибрати щось на кшталт -
давайте виберемо щось більш як законні, який є google.com,
і прокрутіть угору тут.
Так і тут -
що там сталося?
Цікаво.
За який -
давайте тримати його більш скромно.
>> Хто mit.edu?
ОК.
Це корисно.
Так що це те, що я сподівався.
Законне використання служби DNS.
Ім'я сервера, означають наступному.
Це шлях Массачусетського технологічного інституту говорить, щоразу, коли хто-небудь у світі, де б вони
є, в mit.edu типів і хіти Enter, Ваш ноутбук, будь то Mac або PC, буде
так чи інакше зрештою зрозуміти, що людей у ​​світі, які знають, що
IP-адреса для mit.edu або будь-який з піддоменів в mit.edu або будь-який з
цих серверів тут - і це насправді Схоже MITs інфраструктури
досить надійний, як можна було очікувати.
У них є кілька серверів імен і це добре для надмірності.
І справді, вони, здається, бути глобально розподілених по всьому світу.
Купа ті, здається, знаходиться в США, пара в Азії, в Європі, два
десь в іншому місці.
>> Але справа тут у тому, що DNS, що ми приймали як належне і
зазвичай описується як великий стіл Excel , Який має IP-адреси і доменні
імена насправді досить складна архієрейського служіння, так що в
світ є насправді кінцевим числом серверів, що істотно знати, де
все. КМ є або всі . Мережі є всі
. Оргам є, і так далі.
>> Тому, коли ви йдете вперед і купити домен назву від місця, такі як ім'я або дешеві
Go Daddy або будь-який інший веб-сайт, один з ключових кроків, які ви повинні будете зробити
Вас, якщо ви робите це навіть для остаточного проекту, так це дати реєстратору
від якого ви купуєте домен ім'я, хто в світі знає ваш
IP-адреси веб-сайту, який ваші сервери імен.
>> Так що якщо ви використовуєте, наприклад, в CS50 хостинг аккаунта - ми, виявляється, є
цього рахунку через dreamhost.com який
популярних веб-хостингу компанії -
вони скажуть вам, що ви повинні купити домену і розповісти світу, що
ім'я сервера вашого домену ns1.dreamhost.com, ns2.dreamhost.com,
і ns3.dreamhost.com.
>> Але от саме.
Купівля доменних імен означає, даючи їм грошей та отриманні права власності на
домен, але це більше схоже Оренда ж.
Ви отримаєте його на рік, а потім вони законопроекту Ви recurringly для решти
вашому житті, поки ви не скасуєте доменних імен.
І тоді ви сказати їм, хто назви серверів.
Але тоді ви зробили з вашого реєстратора.
А звідти ви будете взаємодіяти тільки з веб-хостинг компанія, яка
у разі CS50 буде DreamHost.
Але знову ж, більше документації буде надається вам, якщо ви вирішите піти
цей маршрут.
>> Так що, якщо ви робите це після курсу решт, просто вдаючись до допомоги веб-хостингу
компанії будуть підніматися тисячі варіантів.
І я, як правило, рекомендуємо вам попросіть друзів, які могли б використовуватися
компанії, перш ніж, якщо вони рекомендують їх і був хороший досвід.
>> Тому що є багато літати вночі веб-хостингу компанії, як хлопець у
своєму підвалі з сервером , Який має IP-адресу.
Він має деякі додаткові оперативної пам'яті й жорстким диском простір і просто продає веб-хостинг
рахунків, хоча немає ніякого способу, яким сервер може обробляти сотні
користувачів або тисяч користувачів.
Так розумію, що ви отримаєте те, що ви платите.
>> Довгий час для мого особистого будинку сторінки - і це було абсолютно прийнятно
тому що я, начебто, два відвідувачів на місяць -
Я платив, начебто, за $ 2,95 на місяць.
І я впевнений, що це було в підвалі хтось.
Але знову ж таки, ви не отримаєте обов'язково ніяких гарантій працездатності або
масштабованість.
Отже, ще раз, ви зазвичай шукаєте на щось більше.
>> Ну, щодо SSL?
Так що SSL використовується?
Давайте тепер орієнтиром для просування в напрямки безпеки і речі, які
може завдати нам шкоди.
Тим більше, що Ви ризикуєте на свій розсуд.
>> Що SSL, або те, що SSL використовується?
Безпека, OK.
Тому він використовується для забезпечення безпеки.
Що це означає?
Так що зрозуміло, для протоколу Secure Sockets Layer.
І це вказує URL , Яка починається з https://.
Багато хто з нас, ймовірно, ніколи набраний https://, але ви будете часто виявляють, що
ваш браузер перенаправляється від HTTP до HTTPS, так що все є
Після зашифровані.
>> До вашого відома, використання SSL, що зазвичай потрібно у вас є унікальний IP-адресу.
І, як правило, щоб отримати унікальний IP-адресу вам потрібно оплатити хостинг
Компанія кілька доларів більше на місяць.
Так розумію, що це дуже легко реалізований в ці дні, купуючи IP
адресу і купують те, що це називається SSL сертифікат.
Але розумію, що вона прийде на деякі додаткові витрати.
І, як ми постараємося, щоб налякати всього за небагато, це навіть не обов'язково 100%
захисні би це не було Ви намагаєтеся захистити.
>> Таким чином, для безпеки, я б думав, що я Дії Сортування випадкового перехід тут.
Як ви знаєте з лекції в CS50 відео, наша виробнича команда була
вентилятор, як у мене приймати дійсно добре Фото з кампуса, і повітряні
Фото останнє.
Якщо ви коли-небудь дивилися вгору, і ви побачите , Що летів з невеликою камерою,
це може бути насправді CS50.
І я просто думав, що я розділю хвилину деякі кадри в команді є
зібралися, зокрема, як ми сподіваємося весняний семестр і наступної осені.
Якщо хтось з вас є талант до Фотографія, відеозйомка, ми б
люблять залучити вас за лаштунками.
Але більше на ці деталі на тиждень.
>> [MUSIC]
>> Девід Дж. мала: Виявляється, є для міні-гольфу на вершині
стадіон, який ми ніколи не знали.
>> [MUSIC]
>> Девід Дж. мала: Ви можете бачити представити коротку інформацію про дрона там.
>> [MUSIC]
>> Девід Дж. мала: краща частина тут є, дивитися бігун зліва.
>> [MUSIC]
>> Девід Дж. мала: Ще один приклад того, що Ви можете зробити з технологією, яка
лише побічно, чесно кажучи, пов'язаних з безпекою.
Але я подумав, що було б більш цікавий спосіб просто кажу, що безпека.
Отже, давайте подивимося, якщо ми не можемо налякати вас, хлопці Тепер не тільки з трохи кілька
загрози, а й основні розуміння того, що ці загрози
так, що рухатися вперед можна вирішити, як і чи слід захищати
себе від цих речей, і в мірі не забувати про них, як ви
приймати рішення з приводу того, щоб не відправити цей лист, або не ввійти
в цьому веб-сайті, чи ні використовувати це Wi-Fi інтернет-кафе в доступ
точку, так що ви знаєте, що загрози дійсно навколо вас.
>> Так Джонатан називають щось як це на понеділок.
Він був постріл вікно екрану.
Це одна з Mac.
Як багато з вас вже була встановлена програмне забезпечення на вашому Mac або PC?
Очевидно, все.
Як багато з вас замислювався щоб вводити свій пароль
при запиті?
Я маю на увазі, навіть я не роблю, відверто.
Так що деякі з нас добре в параноїк.
Але подумайте, що ви насправді тут роблю.
>> На типовій Mac або ПК у вас є обліковим записом адміністратора.
І, як правило, ви єдиний користувач ноутбук принаймні, в ці дні.
Так що ваш рахунок, або Малана JHarvard або те, що є,
обліковим записом адміністратора.
І що це значить, ви кореневої доступ до вашого комп'ютера.
Ви можете встановити все, що завгодно, видалити все, що завгодно.
>> І, як правило ці дні, через датованих дизайнерські рішення від кілька років тому,
як більшість програмного забезпечення отримує встановлений це як адміністратор.
І навіть якщо ваш Mac або ПК має принаймні отримали досить розумні, за
років з останньої інкарнації Mac OS і Windows, не виконувати ваш
Рецензент за замовчуванням як адміністратора, то при деяких скачати
Нова програма від Інтернету і спробувати встановити його, ви, ймовірно,
бути запит на введення пароля.
Але заковика в тому, в цій точці, ви буквально вручення ключів вашого
комп'ютер, щоб отримати все, що випадкова програми, яку ви тільки що завантажили і
що дозволяє встановлювати все, що хоче.
>> І як Джонатан згадувалося, реалізувати що він може сказати, що він хоче
встановити програмне забезпечення, що ви дбаєте о, Spotify або ITunes або будь-який інший
це ви намагаєтеся встановити.
Але ти буквально довіряючи автору чи авторів програмного забезпечення
тільки те, що програма що повинен робити.
>> Але немає абсолютно нічого зупинки більшості програм на більшості
операційні системи з видаленням файлів, від їх завантаження в деякі компанії
веб-сайт, від троллінгу навколо, для шифрування речей.
І знову ж, ми типу вбудованої Вся інфраструктура більш
років на довірі.
І так розумію, що ви тільки що були довіряючи випадкові люди і випадкові
компаній по більшій частині.
>> І Джонатан згадував теж іноді ці компанії самі є свого роду
завідомо шкідливої, все гаразд?
Sony зловили багато агента з друку кілька років тому для установки так званої
Руткіт комплекту на комп'ютерах людей без їх відома.
І Суть цього в тому, що при купив компакт-диск, наприклад, що вони
не хочу, щоб ви зможете скопіювати або копіювання музики геть, компакт-диск буде
встановити, без вашого відома, Руткіт на вашому комп'ютері.
Rootkit просто означає програмне забезпечення, що працює від імені адміністратора, які потенційно
робить погані речі.
>> Але серед речей, ця річ він робив, було переховувався.
Таким чином, деякі з вас можуть бути дуже підкованою з комп'ютером і знати, ну, я
можете просто відкрити диспетчер завдань або Монітор активності, і я можу дивитися на все
з arcanely імені програми , Які виконуються.
І все, що виглядає підозріло Я просто вб'ю його або знищити його.
Але це те, що руткіт зробив.
По суті це сказав, якщо виконання завдання Менеджер, не показуйте себе.
>> Таким чином, програмне забезпечення було там.
І тільки якщо ви дійсно, дійсно виглядали жорсткий Чи міг ти знайти його.
І це було зроблено в ім'я захисту від копіювання.
Але тільки уявіть, що може були проведені в іншому випадку.
>> Тепер з точки зору захисту себе.
Багато веб-сайти чудово добрим в тому, що вони поклали ці
замок іконки на своїй домашній сторінці якого означає, що сайт є безпечним.
Це від bankofamerica.com сьогодні вранці.
Так, що це маленький значок замку там поруч з означати кнопку Увійти?
>> Абсолютно нічого.
Це означає, що хтось знає, як використовувати Photoshop, щоб зробити картину
значок замку.
Подобається буквально, той факт, що це є призначається, щоб бути позитивним
сигналізувати користувачеві, наприклад, ох, захищений веб-сайт.
Я повинен довіряти цьому сайту і зараз ввести ім'я користувача та пароль.
І це було звичайним для років, зовсім недавно, в цей ранок.
>> Але врахуйте, що звички це стає в нас.
Розглянемо неявне повідомлення, що всі цих банків у цьому випадку були
відправивши нам протягом багатьох років.
Якщо ви бачите замок, потім закріпіть.
Все в порядку?
>> Отже, як можна зловживати цієї системи довіри, якщо ви поганий хлопець?
Поставте замок на ваш сайт, і Логічно, що користувачі були
витримати протягом року припустити замок означає безпечно.
І це може бути насправді безпечно.
Ви, можливо, дивно безпечним SSL HTTPS з'єднання з
фальшивий сайт. ком.
І ніхто ще в світі не може бачити що ви збираєтеся вручити йому або їй
Ваше ім'я користувача та пароль на ваш рахунок.
>> Це, хоча, мабуть, трохи більше обнадіює.
Так що це знімок екрана верхнього мого браузера сьогодні вранці в
bankofamerica.com.
І зауважте, тут ми є значок у вигляді замку.
Що означає в цьому контексті У Chrome принаймні?
>> Так що це тепер використовує SSL.
Так це насправді краще річ.
І те, що Chrome робить це зелений покликаний привернути нашу увагу
на те, що це не тільки по SSL.
Це компанія, що хтось там перевірив насправді
bankofamerica.com.
А це означає, що банк Америки, при покупці їх так звана SSL
сертифікат, по суті великий випадкової, кілька випадкових чисел, які реалізують
безпеки для них, вони були контролюватися іншими незалежними третіми
партія, яка говорить, так.
Насправді це генеральний директор банку Америка намагається купити сертифікат.
Chrome Тому вірю, що сертифікації і сказати в
зелений, це bankofamerica.com.
І Банк Америки платить тільки кілька сотень доларів за тим чи кілька
тисяч на противагу кілька десятків доларів.
>> Але й тут, як багато хто з вас коли-небудь вели себе по-іншому, тому що
URL у вашому браузері зелений замість чорного?
Вірно?
Так що деякі з нас.
І це добре, щоб бути параноїком.
Але навіть у цьому випадку, ті з вас, хто навіть помічаємо ці речі, ви насправді
зупинити вирубку в безпечну в іншому сайт, якщо URL не зелений?
Гаразд, так що, ймовірно, не, чи не так?
Принаймні більшість з нас, якщо це не зелений, Швидше за все, ви тільки збираєтеся
бути схожим, що завгодно.
Мовляв, я хочу увійти в цей сайт.
Ось чому я тут.
Я збираюся увійти тим не менш.
>> Як осторонь, Chrome трохи краще про це.
Але є багато браузери, такі як Firefox, наприклад, принаймні
Деякий час, якщо це значок замку , Ви можете насправді покласти будь-яку
ікона свій власний.
Я подивлюся, що остання версія з Firefox виглядає.
Так що, якщо ми йдемо в CS50.net.
>> Добре, таким чином вони отримали краще, як добре.
Що браузерів, що використовуються, щоб зробити, як, Ось, наприклад, [? SAAS це?]
гребінь тут.
Це так звані улюблені іконки для веб-сайту.
Багато років тому -
насправді не так давно, - що мало Щит був би правий
Тут поруч з URL.
Тому що деякі генії вирішили, що це просто виглядають досить класним мати
ваш графічний логотип права поруч з вашим URL.
І дизайн мудрий, що насправді досить переконливими.
>> Так що ж поганого початку хлопець робить?
Вони почали змінювати свій улюблений ікони, або їх іконку за замовчуванням
домашню сторінку, щоб бути не гребеня але замок, який мав
Абсолютно ніякого сенсу.
Інші, ніж їх улюблена ікона не було замку, у цього не було
ознак безпеки.
>> Таким чином, уроки тут Я думаю, що пару.
Один з них, що є насправді деякі благими намірами механізми
вчить нас користувачів про проблеми безпеки навіть Якщо ви навіть не знали, що зелені
означає або те, що навіть HTTPS мав на увазі.
Але якщо ці механізми отримати нас в погана звичка довірчих сайтів
коли ми бачимо ці позитивні сигнали, вони дуже легко зловживати, як ми бачили
просто мить тому з чимось нерозумно, як це.
>> Так захоплення сеансу набирає грати, як ми вже говорили,
з печивом наприклад.
І що це насправді означає?
Ну з захоплення сеансу це все про крадіжку печива хтось.
Так що якщо я відкриваю Chrome Ось, до Наприклад, і я відкриваю інспектор
сюди і я йду в вкладці Мережа -
і ми робили це раніше, -
і я йду на щось подібне http://facebook.com Enter, цілий
купу речей йде по екрану тому, що всі зображення і CSS і
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, є деякі
поганий хлопець, є деякі системи Адміністратор в Гарварді, хто цікаво
щоб дізнатися, хто ваші друзі.
Або є якась -
років тому, це використовується для здатися божевільним -
але є деякі державні особи, як NSA, хто насправді зацікавлені
в тому, хто ви тикати на 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?
URL-адреси не змінюються.
Все це робиться за лаштунками.
Але більшість з нас, включаючи мене, ймовірно, не помітить
така незначна деталь.
>> Так що у вас може бути цілком працездатна зв'язок між вами і що ви
думаю, Facebook, але є так званий людина в середині.
І це загальний термін для позначення людини в центрі нападу, де у вас є
особи між вами і точкою В цей якось маніпулювання, злодійство, або
перегляді даних.
Таким чином, навіть SSL не вірно, особливо якщо ви були обмануті у
не включивши його через те, як ці Основні механізми дійсно працюють.
>> Так що сьогодні урок тоді теж, якщо ви дуже хочу бути параноїком -
і навіть тут існують загрози -
Ви повинні дійсно почати отримувати в Звичка набравши в https://www
все, що доменне ім'я насправді хвилює.
>> І, як осторонь теж є ще одну загрозу з
Що стосується захоплення сеансу.
Дуже часто при першому відвідуванні сайт як facebook.com, якщо
Сервер був налаштований сказати, що ручної штамп, що він поклав на вас
Вчора слід убезпечити себе, ваші браузер може дуже добре, по
відвідування речі, як facebook.com google.com, twitter.com, ваш браузер
може бути подання, що тільки ручної штамп бути припинила і сказала, немає.
Використовувати SSL.
>> Але це занадто пізно, в цій точці.
Якщо ви вже послали ваші руки Stamp, ваше печиво, у відкритому вигляді з
SSL немає, у вас є частки секунди Уразливість, де хтось нюхає
трафіку, будь то сусід по кімнаті або NSA, може потім використовувати цю ж запис, і
з невеликою кількістю технічну кмітливість, представити його як свого власного.
>> Ще один напад Ви могли б Не думали о.
Це одна дійсно на вас, якщо ви гвинт це у письмовій формі, що деякі веб-сайт
так чи інакше використовує SQL.
Отже, наприклад, являє собою екран постріл логін Гарварду.
І це загальний приклад про щось з
ім'я користувача та пароль.
Супер спільного.
Отже, давайте припустимо, що існує і SSL немає людини в середині або
нічого подібного.
Зараз ми фокусуємося на сервері код, який ви могли б написати.
>> Ну, коли я друкую в ім'я користувача та пароль, припустимо, що PIN-служби
реалізована в PHP.
І ви, можливо, деякий код на цьому сервері, як це.
Отримати ім'я користувача з поста супер глобальні та отримати пароль, а потім
якщо вони використовують деякі pset7 як код є функція запиту
, Які могли б це зробити.
Виберіть Зірка з користувачів, де ім'я користувача одно, що і пароль одно що.
>> Це виглядає, на перший погляд, абсолютно розумно.
Це синтаксично правильний код PHP.
Логічно немає нічого поганого в цьому.
Імовірно є ще кілька ліній, які насправді зробити щось з
Результат, який повертається з бази даних.
Але це уразливі для з наступної причини.
>> Зверніть увагу, що, як хороший громадянин, Я поставив у лапки, одиночні
котирування, ім'я користувача.
І я поклав в одинарні лапки пароль.
І це добре, тому що вони не повинні бути числами.
Як правило, вони збираються бути текст.
Так я цитую їх, як струни.
>> І якщо я зараз просунутися далі що, якщо - і я видалив кулі
PIN Послуга тимчасово -
Що робити, якщо я намагаюся увійти як Президент [? Scroob?]
але я стверджую, що мій пароль 12345 ', '1' = '1, і повідомлення
те, що я не зробив.
Я не закривав інші одинарні лапки.
Тому що я досить різким Тут, як поганий хлопець.
І я припускаю, що вони ви не дуже добре з вашою
PHP і MySQL коду.
Я припускаю, що ви не перевіряючи на наявність лапки.
>> Так, що тільки що сталося те, що, коли ваш користувач ввів у цьому рядку,
Запит, який ви збираєтеся створити виглядає наступним чином.
І коротше кажучи, якщо ви і щось разом або ви або щось
Разом це збирається повернутися рядок з бази даних.
Тому що це завжди випадок, коли 1 дорівнює 1.
>> І тільки тому, що ви не очікували що ваші користувачі, добре чи погано, може
є апостроф у назві ви створили SQL запит, який як і раніше
дійсними, і повернеться тепер більше результатів ніж ви могли призначене.
І ось цей поганий хлопець тепер має потенційно увійшли до свій сервер
тому що ваша база даних повертає рядок навіть якщо він чи вона не має поняття, що
[? ? Scroob автора] фактичний пароль.
>> О, я зрозумів, тут друкарська помилка.
Я повинен був сказати пароль одно 12345 як і попередній
Наприклад або 1 дорівнює 1.
Я починю, що онлайн.
>> Так чому ж ми вам за допомогою запиту Функція з знаками питання?
Одна з речей, функція запиту робить для вас це гарантує, що
коли ви проходите в аргументи після коми тут, як це, що запит
, Що насправді направлені в база даних виглядає наступним чином.
Багато потворніше на що дивитися, але назад Слеш були автоматично
вставлені, щоб уникнути саме те, ін'єкцій нападу, що я показав,
Хвилину тому.
>> Тепер весело XKCD, що я думав, що тягнути тут, ми сподіваємося, що тепер має бути
трохи більш зрозумілим це тут.
>> Трохи?
Може бути, нам потрібно трохи більше обговорення на цьому.
Так що це має на увазі маленьку дитину імені Боббі, який якось прийнято
Перевага сайт, який є просто вірячи, що те, що користувач набрав
в ні, на насправді, SQL коду, але насправді є рядком.
>> Тепер ви можете згадати, що падіння -
Ви, можливо, бачили це - падіння засобами Видалення таблиці, видалення даних.
Так що, якщо ви, по суті стверджують, що ваше ім'я Роберт "; droptabl
estudentsomething,]
Ви могли б дуже добре обдурити базу даних не тільки в перевірці, що ви
Роберт дійсно, але також комою перейти до видалити таблицю.
>> І тому SQL-ін'єкцій може насправді настільки ж загрозливо, як це
в якому ви можете видалити дані хтось, Ви можете вибрати більш ніж ДАНІ
призначений, ви можете вставити або оновлення даних.
І ви можете побачити це на на будинку вправи, а не на наявність шкідливого
цілей, але тільки для навчальних, є будь-який час вам буде запропоновано увійти
на веб-сайті, особливо свого роду Номери дуже громадськістю, дуже популярний сайт,
спробуйте увійти як Джон О'Рейлі або хтось з
апостроф в назві.
Або буквально просто ввести апостроф, натисніть Введення, і подивитися, що відбувається.
>> І надто часто, на жаль, люди не продезінфікують їх входи і
переконалися, що такі речі, як котирування або крапку з комою позбулися.
Саме тому в pset7 ми даємо Вам цю функцію запиту.
Але не під оцінити те, що він робить для вас.
>> Так що з урахуванням сказаного, користуються допомогою Мережі на цьому тижні.
І ми будемо бачити вас в понеділок.
>> На наступному CD50.
>> [MUSIC]