[Muzica] David J. MALAN: În regulă. Deci, acest lucru este CS50 și acest lucru Este sfârșitul săptămânii 10. Deci, unii dintre voi s-ar putea fi văzut acest lucru deja, dar fiind circulat de întârziere este un articol care m-am gândit citit un extras de la și apoi vă arată un trei video de minute care pictează aceeași imagine. A fost într-adevăr o poveste atinge, eu gândit, de această intersecție a lumea reală cu adevărat convingătoare de utilizare a tehnologiei. Deci, articolul a fost intitulat, "Un băiat oversleeps pe tren, folosește Google Maps pentru a găsi familia după 25 de ani. "Și Primul cuplu de paragrafe au fost, "Când Saroo de cinci ani a plecat cu fratele său mai mare a șterpeli pentru schimba pe un tren de pasageri într-un oraș de aproximativ două ore din orașul său natal mici. Saroo a devenit obosit și sărit pe un tren din apropiere, unde el a crezut său Fratele a fost, apoi a adormit. Când sa trezit el a fost în Calcuta, aproape 900 de mile departare. Saroo a încercat să găsească drumul său înapoi, dar el nu știa numele de orașul său natal. Și, ca un copil analfabet mic într-un vast oras plin de copii uitate le-a avut practic nici o șansă de a ajunge acasă. El a fost un copil al străzii pentru un timp, până când o agenție de adopție locală cuplat l cu un cuplu australian care l-au adus la trăiesc în Hobart, Tasmania. Saroo sa mutat acolo, a aflat Engleză, și a crescut. Dar nu sa oprit în căutarea familia și orașul său natal. Zeci de ani mai târziu, el a descoperit Google Pământ și de cale ferată au urmat. Și dându-se pe o rază prescris în funcție de cât de mult se credea adormit și cât de repede el a crezut că trenul mergea, el știa că ar fi crescut într-un climat cald, el știa că a vorbit Hindi ca un copil, și el ar fi fost spus că el a uitat ca el a a fost de la East India. În cele din urmă, după ani de curățat fotografiile din satelit, el recunoscut câteva repere. Și, după ce am vorbit cu un administrator de un oraș din apropiere de Pagina de Facebook, el a dat seama el ar fi găsit acasă. " Deci, aici, atunci este un film spune că povestea din perspectiva lui. [Redare video] -A fost acum 26 de ani și am fost doar pe cale de a transforma cinci. Am ajuns la gară și am urcat într-un tren împreună. Fratele meu tocmai a spus că voi sta aici și să mă întorc. Și m-am gândit, ei bine, știi, am s-ar putea la fel de bine du-te la culcare și apoi se va trezi doar mă. Și când m-am trezit a doua zi, tot transport a fost gol pe un fugar tren, un tren fantomă luarea ma eu nu știu unde. Am fost adoptată pentru a Australia la o familie australian. Și mama a decorat camera mea, cu harta din India, care a a pus lângă patul meu. M-am trezit în fiecare dimineață, văzând că harta, și, prin urmare, este un fel de păstrat amintiri în viață. Oamenii ar spune, tu încerci să găsi un ac in carul cu fan. Saroo, nu vei găsi. Aș avea flash-uri din locurile pe care Am folosit pentru a merge, clipește de chipuri familiei mele. Nu a fost imaginea mamei mele ședinței jos cu picioarele încrucișate uitam la strigătul ei. Viața este atât de greu. Asta a fost comoara mea. Și am fost în căutarea în Google Map și a dat seama că e Google Earth, de asemenea. Într-o lume în care te-ar putea mări în I a început să aibă toate aceste gânduri și ce posibilități care acest lucru ar putea face pentru mine. Mi-am spus, ei bine, știi, le-ați luat toate fotografice amintiri și repere unde esti de la și știți ce Orasul arata ca. Acest lucru ar putea fi o aplicație care vă pot utiliza pentru a găsi drumul înapoi. M-am gândit, ei bine, voi pune un punct pe Calcuta Gara într-o rază line care ar trebui să fie căutați în jurul valorii de această zonă. Am dat peste aceste piese de tren. Și am început după ea și am ajuns la o stație de tren care reflectă aceeași imagine, care a fost în amintirile mele. Totul potrivit. M-am gândit, da. Știu unde mă duc. Mă duc să lase pe hartă pe care am au în capul meu să mă conducă și să mă înapoi la orașul meu natal. Am ajuns la ușa casei că m-am născut și am plimbat aproximativ cincisprezece metri în jurul valorii de colț. Nu a fost trei doamne în picioare în afara adiacent. Și un mijloc făcu un pas înainte. Și m-am gândit, acest lucru este mama ta. Ea a venit înainte, ea ma îmbrățișat, și noi au fost acolo pentru aproximativ cinci minute. Ea a luat mâna și mi-a luat la casă și a luat la telefon și ea sunat sora mea și fratele meu să spun că fratele tău are doar toate brusc a apărut ca o fantomă. Și apoi familia a fost reunit din nou. Totul e bine. Eu ajut pe mama. Ea nu trebuie să fie sincronizare externa departe. Ea poate duce restul de viața ei în pace. A fost un ac in carul cu fan, dar acul a fost acolo. Totul e acolo. Tot ceea ce avem în lume este la robinet a unui buton. Dar le-ați luat pentru a avea voința și determinarea de a-l doresc. [END redare video] Deci, o poveste foarte dulce. Și de fapt îmi amintește de destul de subiect care a fost obtinerea destul de un pic de atenție în ultima vreme în Crimson, mai mult la nivel național, în general. Mai ales ca MOOCs sunt luați stadiul de întârziere. MOOCs fiind aceste masiv și deschis cursuri online de care CS50 este unul. Și oamenii vorbesc despre modul în care, pentru exemplu, științele umane nu sunt cu adevărat de capturare sau nu sunt aproape la fel de în vogă așa cum au fost odata. Și aș încuraja voi, de mult ca Jonathan a făcut, luni, să se gândească despre cum ieșiți din 50, și știm deja aproximativ 50% din voi nu va continua să luați un alt calculator curs de știință, și asta e cu totul bine și se așteaptă. Deoarece unul dintre obiectivele majore a unei clase ca acest lucru este într-adevăr să împuternici voi cu doar un înțelegerea modului în care toate aceste lucruri funcționează și cum această lume de lucrări de tehnologie. Așa că, atunci când se întorc în propria ta lumi, fie că este vorba de pre-MED sau indiferent dacă este vorba umaniste sau științelor sociale sau alte domenii totul, ca voi aduc unele savvy tehnice pentru masa și ajuta pentru a lua decizii inteligente atunci când este vorba de utilizarea și introducerea tehnologiei în lumea ta. De exemplu, mi-am amintit de întârziere prea a doua de licență clase am luat acum doi ani, care au fost aceste utilizări simple ale tehnologiei dar tot atât de convingătoare. Primele Nopți cu profesorul Tom Kelly Dacă ați luat clasa. Este o clasă la muzică clasică la acest stadiu aici, unde ai învățat-o ceva despre muzică. Este de fapt primul rând Nopți că CS50 împrumutat ideea de piste pentru cei mai puțin confortabil în între și mai confortabil. În timpul meu au avut trasee diferite pentru copii cu absolut nici o muzică experienta ca mine, iar apoi copiii care au fost performante deoarece acestea au fost cinci de ani. Și această clasă, de exemplu, a avut doar un site ca cele mai multe alte, dar a fost un site care a permis să exploreze muzica de pe el și a reda clipuri muzicale de la clasă, de pe web, și doar folosesc tehnologia într-o foarte fel fără sudură. Un alt ani clasă mai târziu că am auditate, în esență, în facultate, Antropologie 1010, Introducere de Arheologie aici. A fost uimitor. Și una dintre cele mai convingătoare încă super- evident, în retrospectivă, foloseste de Software-ul a fost că profesorii din clasa folosit Google Earth. Am fost așezat vizavi în unele sala de curs. Și nu ai putea călători, de exemplu, pentru Orientul Mijlociu la sape pe care o dintre profesori ne-am intors la, dar am putea face asta virtual de zboară în jurul valorii în Google Earth și uita la o pasăre ochi vedere de la sape site-ul Tocmai se întorsese din urmă cu o săptămână. Deci, aș încuraja voi, în special în umaniste, pentru a merge înapoi la acele departamente după această clasa a aduce proiectele finale cu tine sau idei de propria dvs., și vedea doar ceea ce se poate face pentru a insufla dvs. câmpurile proprii în umaniste sau dincolo de cu un pic de acest tip de lucru pe care l-am explorat aici, în CS50. Deci, cu această imagine pictat, gândit vom încerca să abordeze două lucruri astăzi. O, încercați să vă dau un sentiment de unde poti sa te duci dupa 50. Și, în special, dacă alegeți să aborda un proiect bazat pe web cum este incredibil de comune, cum poti sa te duci despre a lua de pe toate de a CS50 roți de formare și duc acolo pe proprii și nu au să se bazeze pe o PDF sau o specificație de o PSET? Nu este nevoie să se bazeze pe o CS50 mai aparat. Dar poate trage într-adevăr te prin șireturile de ghete. Cu care a spus, C-bazate finala Proiectele sunt binevenite. Lucruri care utilizează standul de o bibliotecă portabil în grafica sunt binevenite. Știm doar că statistic, o mulțime de oamenii mușca proiecte în PHP și Python și Ruby și MySQL și alte medii, așa că vom părtinire unele dintre Observații noastre față de care. Dar un spate privire rapidă. Așa că am luat pentru a acordat în pset7 Faptul că $ _SESSION existat. Acest lucru a fost un super-global, un nivel global, tablou asociativ. Și ce acest lăsa să faci? Funcțional, ce-i dotate cu acest lucru ne dă? Da? Pentru a urmări ID-ul utilizatorului. Și de ce este aceasta utilă? Pentru a putea stoca interiorul acestui super- JHarvard global sau [? Scroobs?] sau ID-ul de utilizator Malan, atunci când acesta sau ea vizitează un site. Exact. Deci, nu trebuie să vă autentificați în mod repetat. Ar fi un adevărat șchiop world wide web dacă de fiecare dată când ați făcut clic pe un link pe un site ca Facebook sau de fiecare dată ați făcut clic pe un e-mail de la Gmail a trebuit să re-autentifica pentru a dovedi că este încă tu și nu colegul tău de cameră care ar fi mers până la dvs. computerul în lipsa dumneavoastră. Deci, vom folosi sesiune pentru doar amintiți-vă cine sunteți. Și cum este aceasta pusă în aplicare sub capota? Cum un site web care utilizează, protocol care browsere web și servere vorbesc, cum se HTTP, care este un protocol apatrid, să zicem. Și de apatrid Adică, odată ce conecta la un site web, descarca unele HTMLs, unele JavaScript, unele CSS, dvs. pictograma browser-ul se oprește filare. Nu aveți o conexiune constantă la serverul de obicei. Asta e tot. Nu e nici un stat nu a menținut în mod constant. Deci, cum este SESIUNEA implementat în astfel de un mod care de fiecare dată când faci o vizita noua pagina, site-ul își amintește cine esti? Care este implementarea bază detaliu? Shout it afară. Este un cuvânt. Cookie-uri. Bine. Deci, cookie-uri. Ei bine, cum sunt cookie-urile utilizate? Vom aminti că un cookie este, în general, doar o bucată de informații. Și este de multe ori o mare întâmplare număr, dar nu întotdeauna. Și un cookie este plantată pe hard dvs. unitate sau în memoria RAM a calculatorului, astfel că de fiecare dată când revizita că aceeași site-ul, browser-ul reamintește server, eu sunt utilizator 1234567. Sunt utilizator 1234567. Și atât timp cât server a amintit că utilizatorul este 1234567 JHarvard, site-ul va presupune doar că ești cine spui că ești. Și amintesc că vom prezenta aceste cookie-uri fel de sub forma unui standul de mână virtuale. Este trimis în antetele HTTP doar la Reamintim server că sunteți care se crede că ești. Desigur, există o amenințare. Ce amenințare face acest lucru deschide noi până la în cazul în care că folosim un fel de club de sau un mecanism de parc de distracții pentru amintindu cine suntem? Dacă copiați cookie cuiva și deturneze sesiune lor, ca să spunem așa, te poate pretinde a fi altcineva și site-ul cel mai probabil este doar de gând să te cred. Deci, vom reveni la asta. Deoarece altă temă pentru ziua de azi dincolo de împuternicire este, de asemenea, vorbește despre lume foarte infricosator în care trăim și cât de mult din ceea ce faci pe web, cât de mult din ceea ce faci, chiar pe telefoanele mobile de astăzi poate fi urmărite într-adevăr de cineva între tu și punctul B. Și Ajax, amintesc. Ne-am uitat doar pentru scurt timp la aceasta, deși ați folosit-o indirect în pset8 că utilizați Google Maps și pentru că ești cu ajutorul Google Earth. Google Maps și Google Earth nu descărca întreaga lume pentru dvs. desktop, în mod evident, momentul în care încărcați pset8. Se descarcă doar un pătrat din lume sau un pătrat mai mare de pe pământ. Și apoi de fiecare dată când un fel de bou din gama s-ar putea observa - mai ales în cazul în care pe o conexiune lentă - te s-ar putea vedea unele gri pentru o clipă sau un pic de imagini neclare ca Download-uri de calculator mai multe astfel de placi, mai multe astfel de imagini de la lume sau pe pământ. Și Ajax este, în general, tehnica prin care site-urile fac asta. Odată ce ai nevoie de mai mult de harta, dvs. Browser-ul va folosi Ajax, care este nu în sine un limbaj sau tehnologie, e doar o tehnica. Este utilizarea de JavaScript pentru a merge obține mai multe informații de pe un server care permite browser-ul pentru a merge obține ceea ce-i de est, sau ceea ce este la vest de ceea ce este altfel, în prezent, fiind demonstrat faptul că harta. Deci, acesta este un subiect pe care multi dintre voi va întâlni în mod direct sau indirect, prin intermediul proiectelor finale, dacă alege pentru a face ceva care este la fel de dinamic, care trage de date de la unele site-ul terță parte. Deci avem un foarte interesant miercurea viitoare înainte. Quiz unul, informațiile de care este deja pe CS50.net. Știu că nu va fi o sesiune de revizuire aceasta vine luni la 5:30. Data și ora este deja postat pe CS50.net în acel Despre foaie. Și nu să ne știi aveți întrebări. Pset8 între timp este deja în mâinile tale. Și permiteți-mi să adreseze un FAQ pentru a salva oameni anumiți factori de stres. Pentru cea mai mare parte o mulțime de palavrageala ne vedem la ore de birou și o mulțime de bug-uri le vedem raportate pe Discuta sunt într-adevăr bug-uri în codul unui student. Dar când le-ați întâlnit ceva cum ar fi Google Earth plug-in crashing sau nu chiar de lucru și sunteți sigur nu e vina ta, nu este o [? chamad?] problemă, aceasta nu este o bug ai introdus în Cod de distribuție. Realiza doar FYI - aceasta este un fel de plan de Z - că ultima dată când am folosit această problemă stabilit și am fugit în similare probleme, există o linie de cod în service.js că în esență este aceasta, care spune, rândul său, clădiri pe. Și care lucrează ultima dată când am a făcut acest lucru din nou, cazuri în colț, unde elevii pur și simplu nu a putut obține darn lucru la locul de muncă este adevarata schimbare de fals în care o linie de cod. Și veți găsi, dacă veți căuta prin service.js. Eu nu recomand acest lucru, deoarece va crea peisajul cel mai arid din Cambridge, Massachusetts. Acest lucru va aplatiza literalmente lumea ta astfel încât tot ceea ce vezi sunt de predare colegii și asistenți curs de orizont și nici o cladire. Dar dau seama pentru orice motiv, Google Earth plug-in-pare să fie încă buggy un an mai târziu, astfel încât aceasta ar putea fi reușesc ta salva. Deci, mai degrabă decât să recurgă la lacrimi, stațiunea la transformarea clădirilor de pe dacă știi este plug-in care nu cooperează pe Mac sau PC. Dar, acest lucru este din nou ultimă instanță, dacă Ești sigur că nu e un bug. Deci Hackathon. Un cuplu de teasere doar pentru a te excitat. Am avut destul de puține RSVPs. Și doar pentru a picta o imagine a ceea ce așteaptă, m-am gândit să vă dau câteva secunde amintesc de acest imagini de anul trecut. [Muzica] David J. MALAN: Stai, oh. Avem chiar noastre literale CS50 navete. [Muzica] David J. MALAN: Deci, asta e ceea ce așteaptă te în ceea ce privește Hackathon. Și aceasta va fi o oportunitate, de a să fie clar, nu pentru a începe finala proiecte, dar să continue să lucreze pe proiectele finale alături de colegii de clasă și de personal și o mulțime de produse alimentare. Și din nou, dacă ești treaz la 5:00 vom lua pe drumul de a IHOP. Târgul de CS50, între timp, este punctul culminant pentru întreaga clasă în care vei aduce laptop-uri si prietenii tai, poate chiar de familie într-o cameră în campus pe stradă pentru a expune proiectele dvs. pe laptop-uri, pe mese inalte ca acest lucru cu o mulțime de produse alimentare și de prieteni și muzică în fundal, precum și prietenii noștri din industrie. Companii precum Facebook și Microsoft și Google și Amazon și ciorchini de alții, astfel că, dacă interesat în doar audiere despre lumea reală sau chat cu oameni despre lumea reală stagiu sau integral oportunități de timp, Știu că unii dintre prietenii noștri din industrie va fi acolo. Și un cuplu de imagini, putem vopsea aici sunt după cum urmează. [Muzica] David J. MALAN: În regulă. Așa că atunci este corect CS50. Deci, haideți acum proceda pentru a spune o poveste că într-adevăr vă va permite, sperăm, pentru lucruri, cum ar fi proiectele finale. Deci, unul dintre puținele lucruri mici pentru semințe dvs. minte, fie pentru proiecte finale sau chiar mai mult, în general, pentru proiecte care s-ar putea decide să abordeze după Desigur, toate acestea sunt documentate pe manual.cs50.net unde CS50 manualul unde avem o mulțime de tehnici documentate. Și acesta este doar notație prescurtare pentru spune că există în lucrurile lumii chemat SMS la e-mail gateway-uri, care este un mod fantezist de a spune, există servere din lume care știu cum de a converti e-mailuri pentru a mesaje text. Deci, dacă pentru proiectul final vrei pentru a crea un fel de tematice mobil serviciu care vă permite să alerteze prieteni sau utilizatori la evenimentele din campus sau ceea ce se servit în sala de D în acea noapte sau orice caracteristica astfel de alertă, Știu că e simplu ca trimiterea unui e-mail, cu PHPMailer care ar putea fi folosit pentru pset7 sau am vazut pe scurt o săptămână sau cam asa ceva în urmă, la Adresele de acest gen. Și, de fapt, puteți textul această presupunând Prietenul tău are o mesaje text nelimitate Planul și tu nu vrei pentru a le încărca 0.10 $. Dar, dacă trimiteți un email catre prietenul dvs. care știți pentru a avea Verizon sau AT & T folosind Gmail și doar o trimitere la numărul lor de telefon la orice sub-domeniu există, îți dai seama va trimite un mesaj de tip text. Dar acesta este unul dintre acele lucruri să fie atent. Dacă vă revenire prin CS50 anul trecut video Cred că a fost, o oribile, oribil, oribil bug-am scris în codul sfârșit prin a trimite aproximativ 20.000 de text Mesajele vii la noi elevii din clasa. Și doar pentru că cineva a observat că acestea au fost obtinerea de text multiple mesajele de la mine-am avut mijloacele necesare pentru a lovi control C rapid și se va opri acest proces. De control C, vă amintiți, este prietenul tău în cazuri de buclă infinită. Deci feriți-vă de puterea pe care tocmai am dat pentru tine, mai degrabă iresponsabil, mai probabil, bazate pe propria mea experiență. Dar asta e de pe web și a fost acolo de ceva timp. Bine. Așa textmarks.com. Deci, acesta este un site web. Și nu există legături de alții acolo precum și faptul că ne-am folosit de fapt, ca o clasă de ani pentru a fi capabil pentru a primi mesaje text. Din păcate, trimiterea de mesaje text este usor ca trimiterea de e-mailuri de genul asta. Primirea e un pic mai greu, mai ales dacă doriți să aveți una dintre aceste coduri sexy scurte, care e numai cinci sau șase cifre. Deci, de exemplu, de ani de zile ai fost posibilitatea de a trimite un mesaj text - și tu Puteți încerca acest lucru, precum și - la 41411. Și care este numărul de telefon pentru această pornire particular. Și dacă vă trimite un mesaj la 41411 - Doar voi scrie aici, așa 41,411 - și apoi trimiteți-le un mesaj ca SBOY pentru Boy de transfer. Și apoi tastați în ceva ca Mather Quad. Astfel încât să trimiteți ca mesaj text la acest număr de telefon. În câteva secunde, ar trebui să te întorci un răspuns de la CS50 de transfer Serviciu băiat, care este de transfer software de programare pe care le-am avut în acolo pe web pentru ceva timp. Și se va răspunde la te prin mesaj text. Pentru că ceea ce am făcut ca o clasă, așa cum un programator, este de a scrie software-ul, configurat contul nostru gratuit cu textul semne pentru a asculta mesajele text trimise a SBOY la acel număr. Și ceea ce fac ei este de departe cele Text Mesajele la site-ul nostru bazat pe PHP ca Parametrii HTTP zis, aici. Acest utilizator cu acest număr de telefon te-a trimis acest mesaj text. Face cu el ce vrei. Așa că am scris unele software-ul pe care la a primit un șir ca SBOY Mather Quad, am analiza. Ne dăm seama unde spațiile sunt între cuvinte. Și noi, ca o clasa de a decide cum să răspund la asta. Și dacă încerci că acum, de exemplu, ar trebui să vedeți, printr răspuns într-un câteva secunde, în următoarele câteva navete merge de la Mather la Quad dacă este cazul. Și nu există alte stații. Aveți posibilitatea să tastați în Boylston sau alte astfel de se oprește în campus, și ar trebui recunosc aceste cuvinte. Așa parse.com. Acesta este un alt serviciu pe care am fost arătând unii elevi de la pentru Proiectele finale e minunat în care este gratuit pentru o cantitate rezonabilă de utilizare. Și dacă mă duc la parse.com vei vedea că aceasta este o alternativă la având de fapt, ceva de genul propria ta baza de date MySQL. Și sincer, e doar fel de fascinant. Aceasta este ceea ce este în interiorul nor chiar și pe o zi înnorată. Deci parse.com vă permite să faceți o grămadă de lucruri interesante. Și nu există alte alternative la prezenta acolo. De exemplu, aveți posibilitatea să le utilizați ca baza de date back-end. Deci, nu aveți nevoie pentru a avea o companie de web hosting. Nu aveți nevoie de a avea o bază de date MySQL. Puteți folosi în schimb sfârșitul lor înapoi. Dacă faci un proiect mobil pentru Android sau iOS sau cum ar fi, știu că există lucruri, cum ar fi servicii de împingere astfel încât să puteți împinge alerte de la prietenii tăi sau ecrane de start utilizatorilor. Și apoi o grămadă de alte caracteristici, precum. Deci, dacă aveți interes, verifica aceste site-uri web și site-uri, cum ar fi acestea pentru a vedea cât de multe alte popoare " umeri puteți sta pe a face Software-ul foarte cool de dumneavoastră. Acum, în ceea ce privește autentificarea, un FAQ, este cum a face tu de fapt garantează că utilizatorii sunt oameni în campus, Studenții de la Harvard sau facultate sau personal? Deci CS50 are propria autentificare serviciu numit CS50 ID. Du-te la faptul că URL-ul și vă puteți restrânge site-ul web pentru oricine cu un Harvard ID, de exemplu. Deci, știm că ne putem descurca. Voi nu ar trebui să fie în afaceri de a spune, ceea ce este ID-ul de la Harvard? Ce este PIN-ul la Harvard? Lasă-mă să fac ceva cu ea. Vom face tot de ce. Și ce vom da înapoi este numele cuiva, și adresa de e-mail, dar nu nimic sensibil. O aplicație pe un dispozitiv mobil, acesta poate fi făcut pentru a lucra pe un dispozitiv mobil, dar Nu e chiar proiectat pentru asta. Deci, veți sfârși prin a petrece un non triviale cantitatea de timp face acest lucru. Deci, aș descuraja că traseul pentru acum. Aceasta este într-adevăr destinat aplicatii web-based. Deci, web hosting. Deci, dacă nu ați văzut pe pagina de pornire a cursului - și aici, unde vom începe o poveste - web hosting este totul despre plata pentru de obicei un serviciu, găzdui un server de deținut de altcineva de pe web care are o Adresa IP, și apoi pune dvs. site-ul pe ea. Și ei, de obicei, vă dau e-mail conturi și baze de date și alte astfel de caracteristici. Să știți că, dacă nu doriți să efectiv plăti pentru astfel de, du-te la acea adresă URL acolo și CS50 are de fapt un non-profit cont pe care le puteți folosi pentru a de fapt, nu au http://proiect interiorul aparatului pentru proiectul final. Dacă chiar vrei să fie ceva cum ar fi, isawyouharvard.com, puteți cumpăra ca nume de domeniu - deși nu că un anumit - și atunci poti sa te duci despre asta gazduieste pe o server web public, cum le putem oferi voi pe aici. Și de fapt, dacă nefamiliare, daca nu ai fost niciodata la isawyouharvard.com, o, du-te acolo. Dar doi, știu că a fost un tânăr Numele femeii de Tej a Toor Prea două ani în urmă, acum trei ani, care a fost un CS50 absolventii care s-au întâmplat o zi sau două înainte de CS50 târg trimis un e-mail la lista ei de discuții casă și voila. Două zile mai târziu, de CS50 corect, ea a avut sute de utilizatori toate târâtoare pe reciproc pe site-ul ei și spune cum s-au văzut ea sau el pe campus. Deci, asta e una dintre favoritele lui CS50 povești de succes din un proiect final CS50. Deci, cum te duci despre a pune un site web place că pe internet? Ei bine, există un astfel de câteva ingrediente aici. Deci unul, va trebui să cumpere un nume de domeniu. Există legături de locuri în lumea din care puteți cumpara un nume de domeniu. Și, de exemplu, unul care vă recomandăm doar pentru că este popular și este ieftin este numit namecheap.com. Dar poti sa te duci godaddy.com și zeci de altele acolo. Puteți citi pe comentarii. Dar pentru cea mai mare parte, nu se indiferent de la care ați cumpara un nume de domeniu. Și acestea variază în preț și acestea variază în sufix. Sufixele precum. Com,. Net, . Org,. IO,. Tv, cei de fapt, variază în preț. Dar, dacă am vrut să facem ceva de genul cats.com putem merge la acest site, faceți clic pe Căutare. Probabil este luat asta. Dar se pare că, catsagainst.com este disponibil. pluscats.com este disponibil. Lovecats, catscorner, dampcats.net. Toate acestea sperăm pseudo generate aleator. Dacă doriți cats.pw, 1.500 dolari numai, care este un pic nebun. Deci, cineva a furat într-adevăr tot pisica nume de domenii legate de aici pentru preturi diferite. Ca o paranteza, să vedem. Cine are cats.com? Știu că voi avea la dispoziție destul de comenzi sofisticate acum. Cum am posibilitatea să tastați literalmente care este cats.com? Și pentru că de modul în care internetul este structurat puteți vedea de fapt cine a înregistrat acest lucru. Se pare că această persoană este [inaudibil] folosind un serviciu proxy. Deci, oricine deține cats.com nu vrea lumea să știe cine sunt. Deci, le-am înregistrat în cazul în care prin un serviciu de intimitate aleatoriu. Dar, uneori, de fapt, obține actualii proprietari. Și acest lucru este de a spune, mai ales daca esti urmărirea unii pornire și tu Vreau într-adevăr un nume de domeniu și ai dispuși să plătească pe altcineva pentru aceasta, vă puteți da seama de contact informații în acest fel. Dar, de asemenea, interesant este acest lucru. Lasă-mă să derulați până la această porțiune. Deci, aceasta este faptul că aceeași ieșire. Și acesta este doar lipicios. Deci, se pare că cats.com poate fi a ta pentru prețul corect. Dar ceea ce este interesant aici este faptul că serverele de nume - acest lucru este un abuz totală a ceea ce un nume Serverul ar trebui sa fie - numele tau server-ul nu ar trebui să fie thisdomainforsale.com. Dacă alegem de fapt, ceva de genul - Să alegem ceva un pic mai mult legitim ca, care este google.com, și derulați în sus aici. Deci, aici - Ce sa întâmplat acolo? Interesant. Dincolo de care este - haideți să-l cheie mai scăzut păstra. Cine este mit.edu? OK. Acest lucru este util. Deci, aceasta este ceea ce speram. Utilizarea legitimă a serviciului DNS. Serverele de nume aici indica următor. Aceasta este calea MIT lui de a spune, ori de câte ori cineva în lume, oriunde s-ar sunt, tipuri de mit.edu și hit-uri Enter, laptop-ul, fie Mac sau PC, va într-un fel în cele din urmă seama că oameni din lume care știu ce Adresa IP este pentru mit.edu sau oricare dintre subdomenii de la mit.edu sau la oricare dintre aceste servere de aici - și de fapt arata ca infrastructura MIT este destul de robust cum v-ați aștepta. Ei au mai multe servere nume care este bun pentru redundanță. Și, de fapt, ele par a fi la nivel mondial distribuite în întreaga lume. O grămadă de cei care par a fi în Statele Unite, un cuplu în Asia, unul în Europa, două în altă parte. Dar punctul de aici este că DNS ne-am luat de la sine și în general, descris ca o masă mare Excel care are adrese IP și domenii nume este, de fapt destul de sofisticat serviciu ierarhică astfel încât, în lume există de fapt un număr finit de servere care cunosc în esență, în cazul în care toate. comurilor sunt sau toate cele. plasele sunt, toate . Organizatii sunt, și așa mai departe. Așa că atunci când te duci mai departe și cumpere un domeniu Numele dintr-un loc cum ar fi numele ieftine sau Du-te tata sau de orice alt site, unul dintre etapele-cheie pe care le veți avea de a face vă, dacă faci acest lucru chiar și pentru finala proiect, este spune registratorul de la care sunteți de cumpărare domeniu nume, care în lumea stie ta adrese de site-ul de IP, care serverele de nume tale sunt. Deci, dacă utilizați, de exemplu CS50 lui cont de hosting - se întâmplă să aibă acest cont prin dreamhost.com care este un populara companie de web hosting - ei vă vor spune că ar trebui să cumpere domeniul dvs. și spune lumii că server de nume de domeniu este ns1.dreamhost.com, ns2.dreamhost.com, și ns3.dreamhost.com. Dar asta este. Cumpararea unui nume de domeniu înseamnă a le da dreptul de proprietate bani și obținerea de domeniu, dar e mai mult ca o închiriere, deși. Te-ai prins de un an și apoi proiect de lege vă recurringly pentru restul de viața ta până să anulați numele de domeniu. Și apoi le-ai spus cine serverele de nume sunt. Dar apoi ai terminat cu registratorul. Și de acolo vei interacționează doar cu dvs. de companie de web hosting, care în cazul CS50 va fi DreamHost. Dar, din nou, mai multă documentație va fi puse la dispoziție în cazul în care vă decideți să mergeți ruta. Deci, dacă faci acest lucru dupa curs de sfârșit, pur și simplu googling web hosting Compania se va întoarce mii de opțiuni. Și v-aș încuraja să general, cere prieteni care s-ar fi folosit o Compania înainte, dacă acestea recomanda le și a avut o experiență bună. Pentru că există o mulțime de zbor pe timp de noapte companii de gazduire web, cum ar fi un tip de subsol cu ​​un server care are o adresă IP. El are unele RAM suplimentar și hard disk spațiu și doar vinde web hosting conturi, chiar dacă nu există nici un fel că Serverul ar putea ocupa de sute de utilizatorii sau mii de utilizatori. Deci, dai seama ca va primi ceea ce ai plăti pentru. Pentru un timp destul pentru casa mea personală pagina - și acest lucru a fost total acceptabil pentru că am avut, ca, doi de vizitatori pe lună - Am fost de plată, cum ar fi, 2.95 dolari pe lună. Și eu sunt destul de sigur că a fost în subsolul cuiva. Dar, din nou, nu ai neapărat garanții de uptime sau scalabilitate. Deci, din nou, esti de obicei căutarea la ceva mai mult decât atât. Ei bine, ce zici de SSL? Deci, ce este SSL utilizat pentru? Să acum încep să orienteze în direcții de securitate și lucruri care ne poate dăuna. Mai ales ca te aventurezi pe cont propriu. Ce este SSL, sau ceea ce este SSL utilizat pentru? Securitate, OK. Deci, este folosit pentru securitate. Ce înseamnă asta? Deci, standuri pentru Secure Sockets Layer. Și este indicat de un URL care începe cu https://. Mulți dintre noi nu s-au scris, probabil, https://, dar veți găsi de multe ori că browser-ul este redirecționat de la HTTP la HTTPS, astfel că totul este acolo după criptate. FYI, folosind SSL necesită de obicei, că aveți o adresă IP unică. Și de obicei, pentru a obține o adresă IP unică aveți nevoie să plătească un web hosting companiei câțiva dolari mai mult pe lună. Deci realiza acest lucru este foarte ușor puse în aplicare în aceste zile de cumpararea unui IP adresa și de cumpărare ceea ce este numit un certificat SSL. Dar dau seama că nu vin la un cost suplimentar. Și, așa cum vom încerca să sperie doar o bit, nici măcar nu e neaparat 100% de protecție din oricare ar fi ea sunteți încercarea de a proteja. Deci, pentru securitate, aș-am gândit face un fel de Segue aleatoriu aici. După cum probabil știți de la prelegere CS50 lui videos, echipa noastră de producție a fost o ventilator ca am de a lua într-adevăr frumos Fotografie din campus, și aerian fotografia cel mai recent. Dacă te uiți vreodată în sus și veți vedea ceva de zbor cu un aparat de fotografiat mic, acesta poate fi de fapt CS50. Și m-am gândit Aș parts minut de unele din filmul echipa are s-au adunat, în special ca ne uitam la semestrul de primavara si toamna viitoare. Dacă oricare dintre voi au un talent pentru fotografie, filmare, ne-ar dragoste pentru a te implica în spatele scenei. Dar mai multe despre aceste detalii într-o săptămână. [Muzica] David J. MALAN: Se pare că există o teren de golf în miniatură pe partea de sus a stadionul pe care nu am stiut despre. [Muzica] David J. MALAN: Puteti vedea schiță a drone acolo. [Muzica] David J. MALAN: Cea mai bună parte aici este, ceas Jogger pe stânga. [Muzica] David J. MALAN: Un alt exemplu de ceea ce puteți face cu o tehnologie care este doar tangențial, sincer, legate de securitate. Dar m-am gândit că ar fi o mai mod distractiv de doar spun, de securitate. Așa că haideți să vedem dacă nu poți speria baieti acum nu numai cu un pic de câteva amenințările, dar și un suport înțelegere a ceea ce aceste amenințări sunt astfel încât avansa puteți decide cum și dacă să-și apere te împotriva acestor lucruri și la cel puțin să fie conștient de ele ca tine să ia decizii cu privire la dacă sau nu să trimite că e-mail, sau nu pentru a vă conecta în care site-ul, sau nu a folosi accesul Cyber ​​Cafe de Wi-Fi punct astfel încât să știți ce amenințările sunt într-adevăr în jurul tău. Deci, Jonathan referire la ceva ca acest luni. El a avut un ecran de fereastră lovitură. Aceasta este unul dintre un Mac. Câți dintre voi ați instalat vreodată software-ul de pe Mac sau PC? Evident, toată lumea. Câți dintre voi s-au gândit prea mult la tastarea în parola când vi se solicită? Adică, nici eu nu fac, sincer. Deci, o pereche de noi sunt bune de a fi paranoic. Dar ia în considerare ceea ce esti face de fapt aici. Pe un Mac sau PC tipic aveți un cont de administrator. Și de obicei tu ești singurul cu un laptop cel puțin în aceste zile. Deci, contul dvs., Malan sau JHarvard sau orice ar fi, este contul de administrator. Și asta înseamnă că este ați rădăcină de acces la computer. Puteți instala orice vrei, șterge tot ce vrei. Și de obicei aceste zile, din cauza deciziile de design dateaza din ani în urmă, modul cel mai software-ul este instalat este ca administrator. Și chiar dacă Mac sau PC-ul dvs. are cel puțin devenit destul de inteligent pe ani, cu cele mai recente încarnări ale Mac OS și Windows nu pentru a rula dvs. Numele de utilizator implicit ca administrator, atunci când descărcați un Noul program de pe internet și să încerce să instalați-l, esti, probabil, va să vi se solicite parola. Dar captura este de la acel moment, tu ești predarea literalmente cheile de dvs. calculatorul de orice întâmplare Programul care tocmai ați descărcat și permițându-i să instaleze ce vrea. Și, ca Ionatan a făcut aluzie la, realiza că s-ar putea spune că vrea să instala software-ul care vă interesează despre, Spotify sau iTunes sau orice altceva este că încerci să instalați. Dar tu încredere literalmente autor sau autori de software pentru a doar face ceea ce a programului ar trebui să facă. Dar nu este absolut nimic oprire cele mai multe programe pe mai Sisteme de operare de la ștergerea fișierelor, de la încărcarea acestora la o companie de site-ul, de la trolling în jurul, pentru criptarea lucruri. Și, din nou, am un fel de construit o infrastructură întreg peste ani pe încredere. Și astfel seama că ai fost doar încredere în oameni aleator și aleator companii pentru cea mai mare parte. Și Ionatan a făcut aluzie la prea, uneori aceste companii sunt ele însele un fel de cu bună știință malware, bine? Sony prins o mulțime de Flack câțiva ani în urmă pentru instalarea de ceea ce a fost numit un kit rootkit pe computerele oamenilor fără știrea lor. Și esența de acest lucru a fost că atunci când a cumparat un CD, de exemplu, că Nu am vrut să fie capabil de a copia sau rip muzica de pe, pe CD-ul ar instala, fără să știe dumneavoastră, un rootkit pe calculator. Rootkit doar ceea ce înseamnă software care rulează în calitate de administrator, care potențial face lucruri rele. Dar printre lucrurile acest lucru a fost el însuși ascuns. Deci, unii dintre voi s-ar putea fi destul de savvy cu computerul și știu, bine, eu poate doar deschide Task Manager sau Monitorul de activitate și mă pot uita la toate a programelor numit arcanely care se execută. Și dacă ceva pare suspect O voi ucide sau șterge pur și simplu. Dar asta e ceea ce a făcut rootkit. În esență, a spus, în cazul în care execută sarcini Director, nu te arăți. Deci, software-ul a fost acolo. Și numai dacă într-adevăr, într-adevăr uitat greu ai putea chiar găsi. Și acest lucru a fost făcut în numele de protecție la copiere. Dar doar imagina ce-ar putea au fost efectuate în alt mod. Acum, în ceea ce privește protejarea tine. O mulțime de site-uri sunt minunat plin de har, în care au pus aceste icoane lacătul pe pagina lor care înseamnă că site-ul este securizat. Acest lucru este de la bankofamerica.com în această dimineață. Deci, ceea ce face ca pictograma cu un lacat mic nu înseamnă lângă butonul Sign In? Absolut nimic. Aceasta înseamnă că cineva știe cum să utilizeze Photoshop pentru a face o imagine de un pictograma cu un lacat. Ca destul de literalmente, faptul că este acolo este menit să fie un pozitiv semnala utilizatorului ca, ooh, site-ul securizat. Ar trebui să încredere în acest site și acum tastați numele de utilizator și parola. Și acest lucru a fost convențional pentru ani, recent, în această dimineață. Dar ia în considerare obiceiurile pe care acest lucru este obtinerea de noi în. Luați în considerare mesajul implicit că toate acestor bănci în acest caz au fost ne trimite de ani. Dacă vedeți lacăt, apoi fixați. În regulă? Deci, cum poți abuza de sistem de încredere, dacă tu ești tipul rău? A pus un lacat pe site-ul dvs., și logic, utilizatorii au fost condiționată de ani de zile să-și asume lacătul mijloace sigure. Și ar putea fi de fapt sigur. S-ar putea avea un minunat sigur Conexiune SSL HTTPS pentru o site-ul fals. com. Și nimeni altcineva din lume nu poate vedea că ești pe cale să-l sau mâna ei numele de utilizator și parola la contul dvs.. Aceasta deși, probabil, este un puțin mai liniștitor. Deci, aceasta este o captură de ecran de top din browser-ul meu în această dimineață la bankofamerica.com. Si observa aici prea am au o pictogramă lacăt. Ce înseamnă, în acest context, în Chrome cel puțin? Deci, acest lucru este acum folosind SSL. Deci, aceasta este de fapt un lucru bun. Și faptul că Chrome este de a face verde este menit să atragă atenția la faptul că aceasta este nu numai peste SSL. Aceasta este o companie care cineva nu a verificat este de fapt bankofamerica.com. Și asta înseamnă că Bank of America, atunci când cumpără așa-zisa lor SSL certificat, aleatoriu în esență mare, numere oarecum aleatoare care implementează securitate pentru ei, ei au fost verificat de către un al treilea independent partid care spune, da. Aceasta este, de fapt, CEO al Bank of America încearcă să cumpere certificatul. Prin urmare, Chrome va avea încredere că Autoritatea de Certificare și spune în verde, aceasta este bankofamerica.com. Și Bank of America plătește doar câteva sute de dolari pentru că și câteva mii spre deosebire de un câteva zeci de dolari. Dar și aici, câți dintre voi avea vreodată s-au comportat în mod diferit, deoarece URL-ul din browser-ul dvs. este verde în loc de negru? Dreapta? Deci, o pereche de noi. Și asta e bine pentru a fi paranoic. Dar chiar și atunci, cei care chiar observa aceste lucruri, nu-i de fapt opri logare într-un sigur altfel site-ul dacă URL-ul nu este verde? În regulă, deci, probabil, nu, nu? Cel puțin cele mai multe dintre noi, dacă nu e verde, cel mai probabil, esti doar de gând să fie ca, indiferent de. Place, vreau să vă conectați la acest site. De aceea sunt aici. Am de gând să vă conectați la toate acestea. Ca o paranteza, Chrome este un pic mai bine despre acest lucru. Dar există o mulțime de browsere cum ar fi Firefox de exemplu, cel puțin pentru ceva timp, unde pictograma cu un lacat este, puteți pune de fapt, orice icoana ta. Lasă-mă să văd ce cea mai recentă versiune de Firefox arata ca. Deci, dacă am merge la CS50.net. OK, așa că am ajuns mai bine, de asemenea. Ce browsere folosite pentru a face este ca, aici este, de exemplu, [? E SAAS?] creasta aici. Aceasta este așa-numitul preferat Pictograma pentru un site web. Cu ani în urmă - de fapt, nu cu mult timp în urmă - că puțin Scutul ar fi fost corect aici, de lângă URL. Deoarece unele geniu a decis că acesta s-ar uita doar destul de elegant de a avea dvs. grafic logo-dreapta alături de URL-ul dvs.. Si design înțelept, care de fapt este destul de convingătoare. Deci, ce am face rău inceput tip? Ei au început să se schimbe lor preferat icoane, sau pictograma lor implicit pentru o pagina de start pentru a fi nu o creastă dar un lacăt, care a avut absolut nici un sens. Altele decât icoana lor preferata a fost un lacăt a avut nici o Indicațiile de securitate. Deci, lecțiile de aici sunt un cuplu cred. Unul este acela că există de fapt, unele mecanisme bine intenționate pentru ne învață utilizatorii cu privire la securitate, chiar Dacă nu au fost chiar conștienți de ceea ce verde însemnat sau chiar HTTPS ceea ce a însemnat. Dar dacă aceste mecanisme ne ajunge în prostul obicei de site-uri web bazate pe încredere când vom vedea aceste semnale pozitive, Sunt foarte ușor abuzate cum am văzut doar o clipă în urmă cu ceva o prostie ca asta. Deci, hijack vine în juca, așa cum am spus mai înainte, cu cookie-uri, de exemplu. Și ce înseamnă asta de fapt? Ei bine, cu hijack acest lucru este tot despre furtul cookie-urile cuiva. Deci, dacă am deschide Chrome aici, pentru exemplu, și eu deschide inspectorul aici și mă duc la Tab rețea - și am făcut acest lucru înainte - și mă duc la ceva de genul http://facebook.com Enter, un întreg grămadă de lucruri merge pe ecran din cauza toate imaginile și CSS și Fișiere JavaScript. Dar dacă mă uit la asta aici observă că Facebook este într-adevăr plantarea unui sau mai multe cookie-uri pe meu Browser-ul chiar aici. Deci, acestea sunt, în esență, o parte timbre că mă reprezintă. Și acum sperăm browser-ul meu va fi prezenta din nou acest lucru și din nou când revizitarea că site-ul. Dar asta numai este sigur, am spus-o Acum câteva săptămâni, dacă sunteți folosind SSL. Dar chiar SSL se poate fi compromisă. Luați în considerare, după tot asa functioneaza SSL. Atunci când browser-ul se conectează la o distanță server prin https://, pe scurt, criptografie este implicat. Nu e la fel de simplu ca Cezar sau Visionaire sau chiar DES, DES de la un în timp ce înapoi în pset2. Este mult mai sofisticat decât atât. Se numește criptografia cu chei publice. Dar, într-adevăr mare și foarte aleatorie Numerele sunt folosite pentru a lupta informații între punctul A, tu, și punctul B, cum ar fi facebook.com. Dar problema este, cât de mulți dintre noi din nou vreodată tip în https:// pentru a începe Conexiune site-ul nostru în mod sigur? Adică, câți dintre voi chiar Tipul http://facebook.com? Bine, dacă ai face, ca, salut. Tu nu trebuie să faci asta mai, nu? Browser-ul va da seama. Dar cele mai multe dintre noi facem într-adevăr tastați doar facebook.com. Pentru că dacă suntem folosind un browser, browsere au devenit destul de inteligent de 2013 să-și asume dacă utilizați un browser-ul, tastați o adresă, probabil doriți să-l accesați nu prin e-mail sau un mesaj instant. Vrei să spui HTTP și Portul 80. Au fost adoptate aceste convenții. Dar cum funcționează redirecționarea? Ei bine, observa ceea ce se întâmplă aici. Dacă mă întorc la Chrome - și să facem acest lucru în incognito mod, astfel încât toate mea cookie-urile sunt aruncate. Și lasă-mă să merg aici la, din nou, facebook.com. Și să vedem ce se întâmplă. Amintiti-va ca prima cerere a fost într-adevăr, doar pentru facebook.com. Dar ceea ce a fost răspunsul pe care am primit? Nu a fost un 200 OK. Acesta a fost de 300, sau 301, care este un redirecționa mi-a spus să merg la http://www.facebook.com, care este în cazul în care Facebook vrea să merg. Dar, apoi, dacă ne uităm la următoarea cerere, și am văzut acest lucru înainte, observa ce al doilea răspunsul lor este. În mod special că doresc eu acum să du-te la versiunea SSL de Facebook. Deci, aici este o oportunitate. Aceasta este o caracteristică minunat utilă de doar web și HTTP. În cazul în care utilizatorul final ca Facebook vrea pentru a rămâne pe versiunea securizată a lor site-ul, mare. Ei mă va redirecționa pentru mine. Și așa că nu trebuie să mai gândesc la asta. Dar dacă între punctul A și B, între tine și Facebook, există unele băiat rău, nu există un sistem Administratorul de la Harvard, care e curios pentru a vedea cine sunt prietenii tăi. Sau există unele - ani în urmă, această folosit pentru a suna nebun - dar există unele entități guvernamentale, cum ar ANS care este interesat de fapt, în care te bagi pe Facebook. Unde-i posibilitatea de acolo? Ei bine, atât timp cât cineva are suficient tehnic savvy și au acces la rețeaua de real prin Wi-Fi sau un cablu fizic, ceea ce ar putea face? Ei bine, dacă sunt în aceeași rețea ca și tu și ei știu ceva despre / Adresele DNS si TCP IP și IP și modul în care Toate acestea funcționează, ceea ce în cazul în care Man in the Middle, ceea ce în cazul în care National Agenția de securitate, orice ar fi poate fi, dar ce se întâmplă dacă acea entitate pur și simplu răspunde mai rapid decât Facebook pentru a cererea HTTP și spune, oh, eu sunt pe Facebook. Du-te, și aici e HTML pentru facebook.com. Computerele sunt rapide destul de darn. Deci, ai putea scrie un program care rulează pe un server de genul nsa.gov că, atunci când aude o cerere de la tine pentru facebook.com, foarte repede în spatele scene devine realizarea facebook.com reală un perfect [? esque?] sigură Conexiune SSL între ANS și între Facebook, obtinerea că HTML foarte siguranță pentru pagina de login, și apoi serverul NSA doar răspunde la tine cu o pagină de conectare pentru facebook.com. Acum, câți dintre voi s-ar observa chiar care te folosind Facebook peste HTTP încă de la acel moment pentru că ai conectate accidental la nsa.gov și nu pe Facebook? URL-urile nu schimba. Toate acestea se face în spatele scenei. Dar cele mai multe dintre noi, inclusiv eu, probabil, nu va observa astfel un detaliu minor. Deci, ar putea avea un perfect funcțional conexiune între tine și ceea ce că este Facebook, dar există o așa-numit om la mijloc. Și acesta este un termen general pentru om în atacul mijloc cazul în care aveți unele entitate între tine și punctul B, care este într-un fel manipularea, furt, sau vizionarea datele. Deci, chiar SSL nu este sigura, mai ales dacă ați fost păcălit nu-l porni din cauza modului în care aceste Mecanismele care stau la baza de lucru efectiv. Deci, o lecție de astăzi, atunci este de asemenea, dacă chiar vrei să fii paranoic - și chiar și aici există amenințări - tu ar trebui să înceapă cu adevărat ce în obiceiul de a tasta în https://www indiferent de nume de domeniu te pasă de fapt despre. Și, ca o parte prea există încă o altă amenințare cu privire la hijack. Foarte des, atunci când vizitați mai întâi o ca site-ul facebook.com, cu excepția cazului în serverul a fost configurat să spun că că ștampila mână pune-l pe tine ieri ar trebui să se asigure ea însăși, dvs. Browser-ul s-ar putea foarte bine, la vizitarea lucruri, cum ar fi facebook.com google.com, twitter.com, browser-ul dvs. ar putea fi prezenta numai că ștampila de mână pentru a fi pălmuit în jos și a spus, nu. Utilizați SSL. Dar e prea târziu în acel moment. Dacă ați trimis deja mâna ștampila, cookie dumneavoastră, în clar cu nu SSL, aveți o fracțiune de secundă Vulnerabilitatea în care cineva sniffing de trafic, indiferent dacă colegul sau de ANS, Apoi puteți folosi același cookie, și cu un pic de savvy tehnice, prezinte ca lui sau ei. Un alt atac s-ar putea nu s-au gândit. Acesta este cu adevărat pe tine, dacă o dai în bară acest lucru în scris, unele site-ul care foloseste cumva SQL. Deci aici, de exemplu, este un ecran împușcat de conectare la Harvard. Și acest lucru este un exemplu general de ceva cu un numele de utilizator și parola. Super-comun. Deci, să presupunem că există și SSL nu e nici un om la mijloc sau ceva de genul asta. Acum ne concentrăm pe server cod pe care le-ar putea scrie. Ei bine, când am tastați un nume de utilizator și parola, presupunem că serviciul PIN este implementat în PHP. Și ar putea avea un cod pe acel server ca aceasta. Ia numele de utilizator de la postul de super- la nivel mondial și pentru a obține parola, și apoi în cazul în care utilizați un pset7 ca Codul nu este o funcție de interogare care ar putea face acest lucru. Selectați Steaua de utilizatori unde numele de utilizator egal ca și parola egal care. Care arata, la prima vedere, total rezonabil. Acest punct de vedere sintactic cod PHP valid. Logic, nu e nimic neregulă cu asta. Probabil există unele mai multe linii care face de fapt, ceva cu rezultat care vine înapoi din baza de date. Dar acest lucru este vulnerabil pentru din următoarele motive. Observați că, ca un bun cetățean, Am pus in ghilimele, singur citate, numele de utilizator. Și am pus în ghilimele simple parolă. Și asta e un lucru bun, deoarece acestea sunt nu ar trebui să fie numere. De obicei, ei vor fi text. Deci, eu le cita ca siruri de caractere. Și dacă acum avansa mai mult Ce se întâmplă dacă - și am scos gloanțele din PIN temporar serviciu - Ce se întâmplă dacă am încerca să vă conectați ca Președintele [? Scroob?] dar eu susțin că parola este 12345 'sau '1' = '1, și observați ceea ce nu am făcut. Nu am închide celălalt Citat singur. Pentru că sunt destul de clare aici, ca tipul cel rău. Și eu sunt presupunând că sunt ai nu foarte bine cu dvs. PHP si MySQL cod. Bănuiesc că nu sunteți de verificare pentru prezența de citate. Deci, ce sa întâmplat este că, atunci când vă utilizator a tastat în șir, interogarea esti pe cale de a creează arata ca aceasta. Și povestea pe scurt, dacă vă și ceva împreună sau sau ceva împreună acest lucru se întâmplă pentru a reveni un rând de date. Pentru că este întotdeauna cazul în care 1 este egal cu 1. Și doar pentru că nu a anticipat că utilizatorii, bune sau rele, s-ar putea au un apostrof in numele lor vă au creat o interogare SQL care este încă valabil, și se vor întoarce acum mai multe rezultate decât s-ar putea fi destinate. Și astfel acest tip rău acum are potențial conectat la server-ul dvs. deoarece baza de date se întoarce un rând chiar dacă el sau ea nu are nici o idee despre ceea ce [? ?] Parola real Scroob este. Oh, am realizat o greseala de tipar aici. Eu ar trebui să am spus parola egal 12345 ca anterior exemplul 1 sau egal cu 1. Voi rezolva asta on-line. Deci, de ce v-am folosind instrumentele de interogare Funcția cu semne de întrebare? Unul dintre lucrurile pe funcția de interogare nu pentru tine este face sigur că atunci când treci în argumente după virgule aici așa că interogarea care este trimis de fapt la Baza de date arata ca aceasta. O mai urâtă mult să se uite la, dar înapoi slash-uri au fost în mod automat inserat pentru a evita precis că atac de injectare care am arătat-o clipă în urmă. Acum, o distracție xkcd pe care m-am gândit trage de aici că sperăm să fie acum o puțin mai ușor de înțeles este asta de aici. Un pic? Poate avem nevoie de un pic mai mult discuții pe care. Deci, aceasta este aluzie la un copil pe nume Bobby, care a luat într-un fel Avantajul de un site web care este doar încredere că ceea ce utilizatorul a tastat în care nu este, de fapt, codul SQL, dar este, de fapt, un șir. Acum poate vă amintiți că picătură - este posibil să fi văzut acest lucru - mijloace picătură șterge un tabel, șterge-o bază de date. Deci, dacă vă susțin în esență că numele tau este Robert "; droptabl estudentsomething,] s-ar putea păcăli foarte bine baza de date nu numai în verificarea ca esti într-adevăr Robert, dar, punct și virgulă, de asemenea, continua să renunțe la masă. Și așa atacuri SQL injection poate fi de fapt la fel de pericol ca acest , prin care puteți șterge datele cuiva, Puteți selecta mai mult de Date destinate, puteți introduce sau actualiza datele. Și puteți vedea de fapt, acest lucru pe la exercitii acasa, nu pentru rău intenționat scopuri, dar doar pentru instruire, este orice moment vi se va solicita să vă conectați în site-ul, mai ales un fel de site-ul nu foarte publice, foarte populare, încercați să vă conectați ca John O'Reilly sau cineva cu o apostrof in numele lor. Sau pur și simplu doar de tip apostrof, apăsați Enter, și să vedem ce se întâmplă. Și de prea multe ori, în mod tragic, oameni Nu s-au dezinfectat intrările lor și a făcut-vă că lucrurile, cum ar fi citate sau punct și virgulă au scăpat. Care este motivul pentru care în pset7 ne da te această funcție interogare. Dar nu sub aprecia exact ceea ce face pentru tine. Deci, cu care a spus, bucurați-vă prin web în această săptămână. Și ne vedem luni. La CD50 următoare. [Muzica]