[MUSIC] DAVID J. Malan V redu. To je torej CS50 in to je konec 10. tednu. Torej, nekateri od vas bi to lahko videli že, se pa krožijo pozno je članek, ki sem mislil, da sem prebral odlomek iz in nato prikazal tri minutni video, ki riše Enak. Bilo je res ganljiva zgodba, sem mislil, tega križišču realnem svetu z resnično prepričljivi uporabi tehnologije. Tako da je bil članek z naslovom "Fant oversleeps na vlaku uporablja Google Maps , da bi našli družino 25 let kasneje. "In Prvi par točk je bilo, "Ko je bil star pet let Saroo je odšel s svojim starejšim bratom, da Isprosjačiti za sprememb na potniški vlak na mestu približno dve uri od svojega majhnega domačem kraju. Saroo postala utrujena in skočil na V bližini vlaka, če je mislil, njegov brat, nato pa zaspal. Ko se je prebudil, je bil v Kalkuti, skoraj 900 km stran. Saroo poskušali najti svojo pot nazaj, vendar ni vedel Ime svojem domačem kraju. In kot majhen nepismen fant v veliki mesto, polno pozabljenih otrok, ki jih je imel praktično ni možnosti za pridobivanje domov. Bil ulični otrok za nekaj časa, dokler Agencija lokalni sprejetje zasvojen in ga z avstralskega para , ki ga je pripeljal do živi v Hobartu na Tasmaniji. Saroo preselil tja, se naučili Angleški in odraščal. Toda nikoli nehala iskati njegova družina in njegov rojstni kraj. Desetletja kasneje je odkril Google Zemlja in sledi železniški tiri. In daje sam predpisano polmer temelji na tem, kako dolgo je mislil, da je bil spi in kako hitro je mislil na vlak se je dogajalo, vedel je, da bi zrasla v toplem podnebju, je vedel, da je govoril Hindi kot otrok, in on bi bil povedal , ki je izgledal kot on je bil iz vzhodne Indije. Končno, po letih razmaščevanje satelitske slike, je priznana nekaj znamenitosti. In potem klepetali z administratorja v bližini mesta je Facebook stran, je spoznal, je, da bi pokazala domov. " Torej, tukaj pa je video pove da se zgodba iz njegove perspektive. [Predvajanje videa] -To je bilo pred 26 leti in sem bil pravkar pa pet. Smo prišli do železniške postaje in smo se vkrcali na vlak skupaj. Moj brat je pravkar rekel, da bom ostala tu in se bom vrnila. In sem mislil, no, saj veš, jaz lahko tudi samo pojdi spat in potem pa bom samo me zbudi. In ko sem se zbudil naslednji dan, celota prevoz je prazna o runaway vlak, duh vlak ob jaz ne vem kje. Bil sem sprejet ven v Avstralijo na avstralski družini. In je mama okrašena mojo sobo Zemljevid Indije, ki je poleg moje postelji dal. Zbudil sem se vsako jutro vidim to karto, in zato je nekako ohranil spomini živ. Ljudje bi rekli, skušaš najti iglo v senu. Saroo, ne boste nikoli našli. Želel utripa mest, ki Sem hodil, utripa obrazov moje družine. Prišlo je podoba moja mati sedela dol z njo prekrižanimi nogami samo gledal jokati. Življenje je samo tako težko. To je bil moj zaklad. In sem iskal na Google Map in ugotovil, da je Google Earth, kot dobro. V svetu, kjer si lahko približate I začeli so se vse te misli in kaj možnosti, da To bi lahko naredil zame. Sem si rekel, no, saj veš, imaš vse fotografske spomini in znamenitosti, kje si iz nje in veš kaj mesto izgleda. To bi lahko bila vloga, ki jo lahko uporabite, da bi našli svojo pot nazaj. Mislil sem, dobro, bom dal piko na Železniška postaja Kalkuta v radiju linijo, ki jo je treba iskati okoli tega območja. Prišel sem po teh železniških tirih. In sem začela po njej in sem prišel do železniška postaja, ki odraža Enako sliko, ki je bila v mojih spominih. Vse se ujema. Mislil sem, ja. Vem, kam grem. Lepo se bom spustil zemljevid, ki sem imajo v glavi, da me vodi in me nazaj na mojem rodnem mestu. Prišel sem na pragu hiše da sem bil rojen in hodil okoli približno petnajst metrov za vogalom. Tam so tri dame stoji zunaj eden poleg drugega. In sredinska stopil naprej. In sem mislil, to je tvoja mama. Prišla naprej, me je objela in mi so bili tam za približno pet minut. Zgrabila me za roko in me vzel k Hiša in dobil na telefon in ona Zazvonil moja sestra in moj brat za povedati da ima tvoj brat pravkar vse nenadoma pojavil kot duh. In potem je bila družina spet združila. Vse je v redu. Pomagam mamo ven. Ona ni treba slaving proč. Ona lahko privede ostalo njeno življenje v miru. Bilo je igla v senu, vendar igla je bil tam. Vse je tam. Vse, kar imamo na svetu je pipa na gumb. Ampak moraš imeti voljo in odločenost, da si ga želi. [END predvajanje videa] Torej res sladka zgodba. In dejansko me spominja na dokaj Tema, ki je bila že kar nekaj pozornosti pozno v Crimson, več na nacionalni ravni na splošno. Še posebej, ker MOOCs jemljete faza prepozno. MOOCs čemer ti velik in odprt spletne tečaje, ki CS50 je ena. In ljudje, ki govorijo o tem, kako, za primer, humanističnimi vedami v resnici niso dohitevajo ali še zdaleč niso tako v modi, kot so nekoč bili. In jaz bi spodbudili vaju, veliko kot Jonathan storil v ponedeljek, da razmišljajo O, ko zapustite 50, in vemo, že približno 50% od vas ne bo še naprej, da se drug računalnik znanost tečaj, in da je povsem redu in pričakovano. Ker je eden od poglavitnih ciljev v razredu, kot je to res, da pooblastijo vaju s samo razumevanje, kako vse te stvari deluje in kako je ta svet tehnoloških del. Tako da, ko so se vrnili v svoje svetove, ali je pre-MED ali ali je humanističnimi vedami ali družbene vede ali kakšno drugo polje skupaj, da vidva prinašajo nekatere tehnične zdrava pamet za mizo in pomaga, da se pametne odločitve, ko gre za uporabo in Uvedba tehnologije v svoj svet. Na primer sem se spomnil prepozno Tudi za dva dodiplomska Razredi sem pred dvema letoma, ki so bile take preproste uporabe tehnologije vendar nikoli tako prepričljivi. Prvi Noči s profesorjem Tom Kelly Če ste vzeli razred. To je razred za klasično glasbo ta faza tukaj, kjer boste izvedeli, Nekaj ​​malega o glasbi. To je pravzaprav prvi Noči da CS50 sposodil idejo skladbe za tiste, manj udobno v med in bolj udobno. V mojem času so imeli različne skladbe za otroke z absolutno nobene glasbe izkušnje kot jaz, potem pa otroci, ki bil izvedbo, saj so bili star pet let. In razreda, na primer, ravnokar spletna stran najbolj všeč katera druga, vendar je je spletna stran, ki je omogočila, da raziskovati glasbo na njem in predvajanje glasbene posnetke iz razreda iz spleta, in samo uporabo tehnologije v zelo brezšivne način. Drugega razreda let kasneje sem revidirani, predvsem v grad šoli, Antropolog 1010, Uvod za arheologijo tukaj. Bilo je neverjetno. In eden od najbolj prepričljivih še super očitna v retrospektivi, uporab Programska oprema je bila, da so profesorji ta razred se uporabljajo Google Earth. Sedeli smo čez cesto v neki predavalnici. In ne more potovati na primer na Bližnjem vzhodu z izkopavanjem, da je eden o so se profesorji samo pridi nazaj, vendar pa lahko naredimo, da praktično z plujejo okoli v Google Earth in gledaš ptičje perspektive na kopati mesto je pravkar vrnil pred tednom dni. Zato bi rad spodbudil vaju, zlasti na področju humanistike, da gredo nazaj na teh oddelkov po tem razred prinaša svoje zaključne projekte z vami ali ideje za svoje, in si oglejte samo tisto, kar lahko storite, da napolni your Lastna polja v humanistiki ali zunaj z malo te vrste stvar, ki smo raziskali tukaj v CS50. Torej s tem sliko naslikal, je pomislil da bi poskušali rešiti dve stvari danes. Ena, poskusite, da vam občutek kjer lahko greš po 50. In še posebej, če se odločite za lotiti projekta temelji web kot je neverjetno pogosti, kako lahko greste o čemer izklopite vse CS50 je Kolesa usposabljanja in gredo tam na svoje in ne bi bilo treba zanašati na PDF ali specifikacija pset? Ne bi bilo treba zanašati na CS50 Aparat več. Ampak res lahko sami potegnite ki jih vaše Polnila. S tem je dejal, C-temelji končna Projekti so dobrodošli. Stvari, ki se uporabljajo za stojalo prenosni knjižnica grafike, so dobrodošli. Vemo samo, da je statistično veliko ljudje odgrizne projektov v PHP, in Python in Ruby in MySQL in drugih okolja, zato bomo pristranskost nekaterih naše pripombe v smeri, da. Toda hiter pogled nazaj. Zato smo vzeli za samoumevno v pset7 na Dejstvo, da je obstajala $ _SESSION. To je bilo super globalno, globalno, asociativni niz. In kaj je to kaj si naredil? Funkcionalno, kaj je funkcija nam to daje? Ja? Za sledenje uporabniškega ID-ja. In zakaj je to koristno? Da bi lahko znotraj shranjevanje tega super svetovni JHarvard ali [? Scroobs?] ali uporabniško ime Malan, ko je ali ona obišče spletno stran. Točno tako. Torej vam ni treba, da se prijavite znova in znova. To bi bilo res bedno svetovni splet če vsakič, ko boste kliknili povezavo na mestu, kot so Facebook ali vsakič boste kliknili na e-pošto v Gmailu vas moral ponovno potrditev, da dokaže, da je je še vedno vi in ​​ne vaš sostanovalec ki bi lahko stopil do vašega računalnik v vaši odsotnosti. Torej bomo uporabili SESSION samo se spomnite, kdo ste. In kako se to izvaja pod pokrovom? Kako se spletna stran, ki uporablja, protokol, spletni brskalniki in strežniki Govorimo, kako HTTP, ki je protokol brez državljanstva, recimo. In brez državljanstva Mislim, ko povezavo do spletne strani, prenesete nekaj HTMLs, nekateri Javascript, nekatere CSS, si Ikona brskalnika ustavi predenje. Nimate stalno povezavo s strežnikom običajno. To je to. Ni država ohrani ves čas. Torej, kako se izvaja v sklepih, kot način, da vsakič, ko vas, da obiščete nova stran, spletna stran spominja kdo ste? Kaj je osnovna izvedba detajl? Je zakričal. To je ena beseda. Piškotki. Vse je v redu. Torej piškotki. No, kako se uporabljajo piškotke? Bomo opozoriti, da je piškotek splošno samo podatek. In to je pogosto velika naključno število, vendar ne vedno. In piškotek zasajene na trdem pogona ali računalnika RAM tako da vsakič, ko ponovno istega Spletna stran Vaš brskalnik spominja strežnik, sem uporabnik 1234567. Sem uporabnik 1234567. In tako dolgo, kot je strežnik spomnil da uporabnik 1234567 je JHarvard, bo spletna stran le domnevati, da ste, ki ste rekli, da ste. In spomni, da smo predstavili te piškotke nekako v obliki Virtualni stojalo roko. To je poslala v glavah HTTP samo opomni strežnik, da so ti, ki jih misli si. Seveda, tam je grožnja. Kaj grožnja nam to odpirati, če smo v bistvu z neke vrste kluba ali mehanizem zabaviščni park za spominjanje, kdo smo? Če kopirate nekoga piškotek in poneveriti njihovo zasedanje, če se tako izrazim, vas lahko pretvarjajo, da so nekdo drug in Spletna stran najverjetneje se le, da bo ti verjamem. Tako da se bomo vrnili k temu. Ker druga tema za danes preko opolnomočenje je tudi govoril o zelo strašljivega sveta, v katerem živimo in koliko, kaj počnete na web, koliko kaj storiti še na vaš mobilni telefoni lahko danes biti gosenicami res nihče med ti in točka B. In Ajax, odpoklic. Pogledali smo le na kratko na to, čeprav ste jo uporabljate posredno v pset8, ker ste z uporabo Google Maps in ker si pomočjo Google Earth. Google Maps in Google Earth ne prenesti ves svet na vaši namizje, seveda, Trenutek, ko naložite pset8. To samo prenese kvadrat svetu ali večji kvadrat zemlje. In nato vsakič, ko se nekako usmerjati izven območja, boste morda opazili - še posebej, če je povezava počasna - ti lahko vidite nekaj sivih za trenutek ali malo mehke podobe kot Računalniški prenosi več takih ploščic, Več kot podobe iz svet ali zemlje. In Ajax je na splošno tehnika s katere spletne strani so s tem. Ko boste potrebovali več zemljevida, si Brskalnik bo uporabil Ajax, ki je ne sam jezik ali tehnologije, to je samo tehnika. To je uporaba JavaScript, da pojdi več informacij s strežnika, ki omogoča vaš brskalnik iti dobiti, kar je v vzhodu ali kaj je na zahodu kar je sicer trenutno so prikazani v tej karti. Torej je to tema, da mnogi od vas bodo imeli bodisi neposredno bodisi posredno prek končnih projektov, če odločijo, da nekaj, kar je Podobno dinamiko, ki vleče podatki iz neke tretje spletne strani. Torej imamo res razburljivo naslednjo sredo naprej. Kviz ena, informacije, za katere je na CS50.net že. Vem, da bom tam seje pregled ta prihaja v ponedeljek ob 05:30. Datum in ura je že objavljene na CS50.net v da O stanja. In ne dovolite, da vas vedeti Za vsa vprašanja. Pset8 medtem že v vaših rokah. In povej mi samo eno obravnavo Pogosta vprašanja da shranite ljudje nekaj stresa. Za večino del, veliko od klepetanja bomo videli ob uradnih urah in veliko bugs vidimo poročali o Pogovorite se Dejansko hrošči v kodi študenta. Toda, ko ste naleteli nekaj kot je Google Earth vtičnik v zrušitve ali pa sploh ne deluje in ste Prepričan je ne boste, da to ni [? chamad?] vprašanje, ki ga ni bug ste uvedli v distribucijo kode. Zavedaš, FYI - To je neke vrste načrt Z - da se v zadnjem času, smo ta problem nastaviti in smo naleteli na podoben Vprašanja, tam je vrstica kode v service.js, da v bistvu je to, , ki pravi, pa stavbe na. In delajo po zadnjem času smo to naredil, da spet primerov kotiček, kjer študenti samo ne more dobiti darn stvar deluje, je res, da spremenite false v tej eni vrstici kode. In boste našli, če boste iskanje skozi service.js. Jaz tega ne priporočamo, saj boste ustvariti najbolj skopega v Cambridge, Massachusetts. To bo dobesedno sploščijo svoj svet tako da vse, kar vidite, so poučevanje raziskovalci in asistenti na tečaj obzorje in ni stavb. Ampak zavedati, iz kakršnega koli razloga Google Earth plug-in se zdi, da je še vedno vozičkom leto kasneje, tako da to lahko vaš izpadom rešiti. Torej, namesto da se zatekajo k solz, letovišče obračanja stavbe off, če veste, to je plug-in, ki je ne sodeluje na vaš Mac ali PC. Ampak, to je spet zadnja možnost, če ste prepričani, da to ni bug. Torej Hackathon. Nekaj ​​Dražljivke samo da boste navdušeni. Imeli smo kar nekaj RSVPs. In samo slikati sliko, kaj pričakuje, sem mislil, da sem dal nekaj sekund spomnim tega posnetkov od lani. [MUSIC] DAVID J. Malan: Počakajte, oh. Mi še imamo dobesedno CS50 avtobusi. [MUSIC] DAVID J. Malan: Tako da je tisto, kar čaka boste v smislu Hackathon. In to bo priložnost, da biti jasno, da ne začnete končno Projekti, vendar še naprej prizadeva za vaš končni projekti vezu sošolci in osebje in veliko hrane. In spet, če si buden ob 05:00 vam bom po cesti do IHOP. Poštena CS50, medtem, je vrhunec za celotno skupino, kjer boste prinesla svoje prenosne računalnike in prijatelje, morda celo družino na sobo na kampusu po ulici, da pokažejo svoje projekte na prenosnih računalnikih, na visokih mizah , kot je ta z veliko hrane in prijateljev in glasba v ozadju, kot tudi naši prijatelji iz industrije. Podjetja, kot so Facebook in Microsoft in Google in Amazon in šopki drugi, tako da če bodo zainteresirani v pravkar poslušam o resničnem svetu ali klepetali z ljudje o realnem svetu pripravništva ali polni priložnosti časom, vem, da nekateri naši prijatelji od industrije bo tam. In nekaj slik smo lahko barve tukaj, kot sledi. [MUSIC] DAVID J. Malan V redu. Tako da je potem CS50 pošteno. Torej, kaj je sedaj nadaljuje, da povem zgodbo ki bodo res vas pooblaščajo upajmo za stvari, kot končnih projektov. Torej ena od redkih malenkosti za seme vašem um, bodisi za končno projekti ali samo bolj splošno za projekte, ki morda ste se odločili za reševanje po Seveda pa so vsi ti dokumentirani na manual.cs50.net kjer CS50 navodilo, kjer imamo veliko Tehnike dokumentirani. In to je le okrajšava za zapis pravijo, da obstaja v svetovne stvari, imenovano SMS na e-pošto prehodi, kar je fancy način pravijo, da je strežnikov v svetu da vedeti, kako spremeniti e-pošte besedilna sporočila. Torej, če za svoj končni projekt, ki ga želite ustvariti neke vrste mobilne tematskih storitev, ki vam omogoča, da opozori prijatelje ali uporabniki na dogodke na kampusu ali kaj je bila vročena v dvorani D Tisto noč ali kot opozorilo funkcija, vem, da je to enostavno, kot pošiljanje e kot pri phpMailer ki ste lahko bili uporabljeni za pset7 ali smo videli Na kratko teden ali dva nazaj, da naslovi kot je ta. In v resnici lahko besedilo tega ob predpostavki, Tvoj prijatelj ima neomejeno pošiljanje kratkih sporočil načrt in ne želite, da jim zaračuna $ 0.10. Ampak, če boste poslali e-pošto vašemu prijatelju ki ste vedeli, da imajo Verizon ali AT & T uporabljate Gmail in samo jo pošlje svojo telefonsko številko na kateri koli pod domeno je, ko se zavedaš, bomo poslali sporočilo. Toda to je ena od tistih stvari biti previdni. Če troll skozi lansko CS50 videi Mislim, da je, grozljivo, grozljivo, grozljivo napako sem napisal v šifrah končal pošiljanje okoli 20.000 besedilo Sporočila živijo na naš učenci v razredu. In samo zato, ker je nekdo opazil, da so dobili več besedila sporočila iz mene naredil imam opremili za hitro zadeti Nadzorna C in ustaviti ta proces. Nadzor C, se spomnite, je tvoj prijatelj v primerih neskončno zanko. Torej pazi na moč, ki smo ga pravkar dano za vas precej neodgovorno, najbolj verjetno na podlagi lastnih izkušenj. Ampak to je na spletu in ima tam že nekaj časa. Vse je v redu. Torej textmarks.com. Torej, to je spletna stran. In tam je šopki drugim tam tudi, da smo dejansko uporablja kot razreda let, da lahko za prejemanje besedilnih sporočil. Žal, pošiljanje besedilnih sporočil je enostavno, kot pošiljanje e-pošte, kot je ta. Sprejemanje je malo težje, še posebej, če želite, da je eden od tisti seksi kratke kode, ki je samo dolgih pet ali šest mest. Torej, na primer, za let ste bili lahko poslali sporočilo SMS - in To lahko poskusite tudi - za 41.411. In to je telefonska številka to predvsem zagonu. In če ste poslali sporočilo za 41.411 - Jaz bom samo napisal sem gor, tako 41.411 - in jim nato pošljete sporočilo všeč SBOY za Shuttle Boy. In nato vnesite v nekaj kot Mather štirikolesnika. Torej ste poslali to sporočilo na to telefonsko številko. V nekaj sekundah bi morali dobiti nazaj odziv CS50 Shuttle Deček storitev, ki je shuttle načrtovanje programske opreme, da smo imeli ven tam na spletu za nekaj časa. In se odzivajo na si prek SMS. Ker tisto, kar smo storili, kot razred, kot je programer, je napisati programsko opremo, nastavljen našo brezplačno račun z besedilom oznake za poslušanje za besedilna sporočila poslana da SBOY na to številko. In kaj storiti, je prihodnost tistih besedilo Sporočila na naši spletni strani PHP osnovi kot HTTP parametri rekoč tukaj. Ta uporabnik s to telefonsko številko vam je poslal to sporočilo. Naredi z njim, kar hočeš. Tako smo zapisali nekaj programske opreme, ki na prejemanje niz kot SBOY Mather quad, jo razčleniti. Smo ugotoviti, kje so prostori so med besedami. In smo kot razred odloči kako se odzvati na to. In če poskusite, da je zdaj, na primer, bi morali videti preko odgovora v Nekaj ​​sekund, v naslednjih nekaj avtobusi dogaja od Mather na quad če sploh. In tam je druga ustavi. Lahko vnesete v Boylston ali drugo kot ustavi na kampusu, in bi morala priznajo te besede. Torej parse.com. To je še ena služba, da smo bili kaže nekaj študentom za končni projekti, ki je čudovito s tem, da je prosta razumen znesek porabe. In če grem na parse.com boste videli da je to alternativa dejansko imajo nekaj podobnega svoje podatkovne baze MySQL. In odkrito povedano, to je samo vrsta mesmerizing. To je tisto, kar je znotraj zameglijo celo na oblačen dan. Torej parse.com vam omogoča, da kup zanimivih stvari. In tam je druge alternative to tam. Na primer, jih lahko uporabite kot vaš ozadju bazo podatkov. Torej vam ni treba imeti spletno gostovanje družba. Vam ni treba imeti MySQL baze podatkov. Lahko uporabite namesto njihovega zadnji konec. Če delaš mobilni projekt Android ali iOS ali tako vedo, da obstaja stvari, kot naročenih storitev tako da lahko push opozorila, da svojim prijateljem ali doma zasloni svojih uporabnikov. In potem kup drugih lastnosti, kot tudi. Torej, če imate interes, check out to spletne strani in spletnih strani, kot so jih samo poglejte, koliko druga ljudstva " Ramena lahko stojiš na da res kul programsko opremo svoje. Zdaj v smislu pristnosti, Pogosta vprašanja, je, kako si dejansko zagotavljajo da so vaši uporabniki ljudje na kampusu, Harvardski študenti ali fakultete ali sodelavci? Torej CS50 ima svojo pristnosti Storitev se imenuje CS50 ID. Pojdi k temu URL in lahko omejite Spletna stran vsakomur s Harvarda ID, npr. Torej vemo, da zmorem to. Vi ne bi smeli biti v poslovnem bi rekel, kaj je tvoj Harvard ID? Kakšna je tvoja Harvard PIN? Dovolite mi, da zdaj nekaj storiti z njim. Naredili bomo vse, da. In kaj vam bom dal nazaj, je ime nekoga in naslov elektronske pošte, vendar ni nič občutljiva. Aplikacija na mobilni napravi, je lahko na delo na mobilni napravi, vendar to ni povsem zasnovan za to. Tako da boste na koncu porabi ni nepomembno časa to. Zato bi odvrnila da je pot za zdaj. To je res namenjen spletne aplikacije. Torej, spletno gostovanje. Torej, če še niste videli na Tečaj je domača stran - in tukaj, kjer bomo začeli zgodbo - web hosting je vse o čemer za Ponavadi storitev, gostil strežnik v lasti z nekom na spletu, ki je IP naslov in ga nato dal svoje Spletna stran o njej. In ponavadi dam email računov in baze podatkov in druge takšne funkcije. Vem, da če ne želite, da se dejansko plačati za take, pojdite na ta URL tam in CS50 dejansko ima neprofitna Račun, ki ga lahko uporabite za dejansko ne http://project notranjost stroja za svoj končni projekt. Če si dejansko želijo, da bi bilo nekaj podobno, isawyouharvard.com, lahko kupite, da ime domene - čeprav ne da zlasti eno - in potem lahko greš na to gostovanje na javni spletni strežnik, kot lahko ponudimo vidva tu skozi. In v resnici, če ne poznajo, Če še nikoli niste bili v isawyouharvard.com, ena, pojdi tja. Ampak dva, vedo, da je to mlada Žensko ime, ki ga želite Tej TOOR Too dva Pred leti, pred tremi leti, ki je bil CS50 alumni, ki se je zgodilo dan ali dva Pred CS50 pošteno poslala e-pošto njeni hiši mailing listo in voila. Dva dni kasneje z CS50 sejmu, je imela stotine uporabnikov po vsem plazeče na seboj na svoji spletni strani in rekel, kako so videli ona ali on na kampusu. Tako, da je eden od CS50 najljubši Zgodbe o uspehu iz CS50 končni projekt. Torej, kako si šel okoli dajanje spletno stran všeč, da na internetu? No, tam je nekaj tako Sestavine tukaj. Torej eno, boste morali kupiti domensko ime. Obstaja šopki mest v svet, iz katerega lahko kupiti domensko ime. In na primer tisti, priporočamo Samo zato, ker je priljubljena in je poceni, se imenuje namecheap.com. Vendar pa lahko greš godaddy.com in desetine drugih tam. Lahko glasi na kritike. Toda za večino del pa ne pomembno, od koga si kupiti domensko ime. In se razlikujejo v ceni in se razlikujejo v končnico. Priponami, kot so. Com,. Net, . Org. Io. Tv, tisti, dejansko razlikujejo v ceni. Ampak, če smo želeli narediti nekaj podobnega cats.com lahko gremo na tej spletni strani, kliknite Najdi. Verjetno se jemlje tole. Ampak očitno, catsagainst.com je na voljo. pluscats.com je na voljo. Lovecats, catscorner, dampcats.net. Vse to upajmo psevdo naključno. Če želite cats.pw, 1500 $ samo, kar je malo noro. Torej je nekdo res pograbil vse povezane domenskih imen tukaj za mačke različne cene. Kot prahi, kaj je videl. Kdo ima cats.com? Vedeti, da imajo fantje na razpolago precej prefinjene ukazi zdaj. Kot sem lahko tip dobesedno kdo je cats.com? In zaradi načina internet strukturiran lahko dejansko videli, kdo ta registrirana. Očitno je ta oseba [neslišno] uporabo proxy storitve. Torej, kdo je lastnik cats.com ne želi svet ve, kdo so. Torej ste bili registrirani, če skozi nekaj naključno storitev zasebnost. Ampak včasih si dejansko dobili dejanske lastnike. In to se pravi, še posebej, če ste uresničevanju nekaj zagona in vi res želim nekaj domensko ime, in ste pripravljeni plačati nekomu drugemu za da, lahko ugotovimo, stik Podatki na ta način. Pa tudi zanimivo je to. Dovolite mi, da se pomaknete do tega dela. Torej je to, da je isti rezultat. In to je samo lepljiv. Torej očitno lahko cats.com biti tvoje za pravo ceno. Ampak kaj je zanimivo tukaj je, da je ime strežniki - to je skupno zloraba kaj ime Strežnik bi moral biti - vaše ime strežnik ne bi smel biti thisdomainforsale.com. Če smo dejansko izbrati nekaj takega - kaj je izbrati nekaj malo več legitimno, kot so, kdo je google.com, in se pomaknite gor. Torej, tukaj - kaj se je zgodilo tam? Zanimivo. Tistega, kdo je - kaj je to bolj nizko ključno ohraniti. Kdo je mit.edu? OK. To je koristno. Torej, to je tisto, kar sem upal. Zakonita uporaba storitve DNS. Ime strežniki tukaj navajajo Naslednji. To je MIT besedami, kadar nekdo na svetu, kjerkoli so so vrste v mit.edu in zadetki Enter, prenosni računalnik, ali Mac ali PC, bo nekako na koncu ugotovimo, da je ljudi na svetu, ki vedo, kaj IP naslov za mit.edu ali katerokoli poddomene na mit.edu ali katerokoli ti strežniki tukaj - in to dejansko Izgleda vrhovih infrastruktura Precej močna, kot bi lahko pričakovali. Imajo več strežnikov imena kar je dobro za odpuščanje. In v resnici se zdi, da se globalno razporejena po vsem svetu. Kup tistih zdi, da so v ZDA Nekaj ​​v Aziji, ena v Evropi, dva v nekje drugje. Ampak poanta je, da DNS, da smo bili pri tem za samoumevno in na splošno opisali kot velik Excelovi tabeli da ima IP naslove in domene Imena je pravzaprav dokaj zapletene Hierarhična storitev, tako da je v Svet tam je pravzaprav končno število strežnikov, ki v bistvu vedo, kje vse. COMS so ali vse so. mreže so vse . Org so, in tako naprej. Torej, ko greš naprej in kupiti domeno Ime iz kraja, kot je ime ali poceni Go Daddy ali kateri koli drugi spletni strani, eno ključne korake, ki jih boste morali storiti vam, če boste to storili tudi za vaš končni Projekt, ki je povedal registrarja od koga ste nakup domene Ime, ki je v svetu pozna svoje IP naslov spletne strani je, ki vaše ime strežniki. Torej, če boste uporabili, na primer CS50 je gostovanje račun - se zgodi, da imajo ta račun prek dreamhost.com ki je priljubljeno spletno gostovanje družba - se vam bo povedal, da bi morali kupiti vaša domena in povej svetu, da Ime strežnika Vaša domena je ns1.dreamhost.com, ns2.dreamhost.com, in ns3.dreamhost.com. Ampak to je to. Nakup domene pomeni, jim daje Denar in pridobivanje lastništva domene, vendar je bolj kot najem, čeprav. Štekaš za eno leto, nato pa so bill vam recurringly za preostanek svoje življenje, dokler se ne odpove ime domene. In potem jim povej, kdo poimenovanje strežniki. Ampak potem ste končali z vaš registrar. In od tam boste lahko sodelovale le z vašo spletno gostovanje družba, ki je v primeru CS50 bodo lahko DreamHost. Ampak še enkrat, bo več dokumentacija bo pod pogojem, da vas, če se boste odločili, da gredo da pot. Torej, če ste to naredili po Tečaj je konec, preprosto googling spletno gostovanje Družba bo zavihati tisoče možnosti. In jaz bi na splošno vas, da spodbujajo od prijateljev, ki so lahko bila uporabljena Družba prej, če ga priporočajo njih in imeli dobre izkušnje. Zato, ker je veliko letenje ponoči web hosting podjetja, kot fantom v njegova klet s strežnikom ki ima naslov IP. Ima nekaj dodatnega RAM in trdi disk prostor in samo prodaja spletno gostovanje računi, čeprav ne obstaja način, da Strežnik zmogel več sto Uporabniki ali tisoč uporabnikov. Tako spoznali boste dobili kar ste plačali za. Že kar nekaj časa za mojo osebno doma stran - in to je bil povsem sprejemljiv ker sem kot, dva Obiskovalci mesec - Sem bil plačilni, kot so, 2,95 $ na mesec. In sem precej prepričan, da je V kleti nekoga. Ampak še enkrat, ne dobiš nujno vsa jamstva uptime ali razširljivost. Torej še enkrat, ti si navadno išče V nekaj več kot to. No, kaj je SSL? Torej, kaj je SSL uporablja? Kaj je zdaj začel usmerjati v Smeri varnosti in stvari, ki nam lahko škoduje. Še posebej, ko podjetje na svoje. Kaj je SSL, ali kaj SSL uporablja? Varnost, OK. Torej je uporabljena za varnost. Kaj to pomeni? Torej je kratica za Secure Sockets Layer. In je označeno z URL , ki se začne s https://. Mnogi od nas verjetno nikoli tipkal https://, vendar boste pogosto ugotovili, da Vaš brskalnik je preusmerjen iz protokola HTTP HTTPS, tako da vse, kar je tam Po šifrirana. FYI, z uporabo SSL zahteva običajno, da boste imeli edinstveno IP naslov. In običajno, da bi dobili edinstven IP naslov boste morali plačati spletno gostovanje Družba nekaj dolarjev več na mesec. Torej zavedaš, da je to zelo enostavno v teh dneh izvaja z nakupom IP naslov in odkup, kar je imenujemo certifikat SSL. Ampak se zavedaš, da ne pride na neki dodatnih stroškov. In, kot bomo poskušali prestrašiti v samo bit, da sploh ni nujno 100% zaščitniški karkoli že je ste poskušali zaščititi. Torej za varnost, sem mislil, da sem delam nekako naključno segue tukaj. Kot morda veste iz CS50 predavanju video posnetkov, je naša produkcijska ekipa je fan, kot sem jemanja res lepo fotografiranje kampusu in anteno fotografija nedavno. Če ste kdaj pogledal gor in vidiš nekaj leti z malo kamero, to lahko dejansko CS50. In sem mislil, da sem deliti minuto nekaj posnetkov ekipa ima zbrani, predvsem ko se ozremo na pomlad semester in naslednji padec. Če kdo od vas ima smisel za fotografiranje, Videografsko, bi mi radi dobili ste vpleteni v ozadju. Ampak več o teh podrobnostih v tednu. [MUSIC] DAVID J. Malan: Izkazalo se je, da je mini golf na vrhu Stadion da ne bomo nikoli vedeli. [MUSIC] DAVID J. Malan: Ogledate si lahko oris brnenje tam. [MUSIC] DAVID J. Malan: Najboljši del tukaj je, pazi Tekač na levi. [MUSIC] DAVID J. Malan: Še en primer, kaj lahko to storite s tehnologijo, ki je le bežno, odkrito povedano, povezane z varnostjo. Mislila sem, da bo bolj zabaven način samo rekel, varnost. Torej, da vidimo, če vam ne more prestrašiti fantje zdaj z ne le nekaj redkih grožnje, temveč tudi temeljne razumevanje tega, kaj te grožnje so tako, da napreduje lahko odločiti, kako in ali zagovarjati sam pred temi stvarmi in na vsaj, da se zaveda od njih, kot si ti sprejemanje odločitev o tem, ali ne bi poslati e-pošto, ali se prijavite v tej spletni strani, ali bo ali ne uporabiti, da Wi-Fi kiberkavarna je točko, tako da boste vedeli, kaj grožnje so res okoli vas. Torej, Jonathan iz nečesa všeč v ponedeljek. Imel je okno posnetka zaslona. To je ena izmed Mac. Koliko vas je že kdaj namestili programske opreme na vašem Mac ali PC? Očitno vsi. Koliko vas je veliko razmišljal z vpisom v geslu ob pozivu? Mislim, sploh ne vem, odkrito povedano. Torej, nekaj od nas se dobro ob paranoičen. Ampak razmisli, kaj si pravzaprav počne tukaj. Na tipičen Mac ali PC imate skrbniški račun. In ponavadi ti si edina uporabo laptop vsaj v teh dneh. Torej vaš račun, Malan ali JHarvard ali karkoli že je, je skrbniški račun. In kaj to pomeni, da ste zakoreninil dostop do vašega računalnika. Lahko namestite vse, kar hočeš, izbrisati vse, kar hočeš. In običajno v teh dneh, in sicer zaradi Potekel oblikovanje odločitve izpred let, Tako pride nameščena večina programske opreme je kot skrbnik. In tudi, če ima vaš Mac ali PC najmanj dovolj pameten prebolel let z najnovejšimi inkarnacij Mac OS in Windows ne vodijo svojo uporabniško ime privzeto kot Skrbnik, ko prenesete nekaj Novi program off internet in poskusite ga namestite, ste verjetno bo biti pozvani za geslo. Ampak ulov je na tej točki, ste dobesedno predajo ključe vašega računalnik prenesejo karkoli naključno program, ki ga pravkar prenesli in ki ji omogoča, da namestite karkoli hoče. In kot Jonathan namiguje, zavedati da bi bilo reči, da želi namestite programsko opremo, ki vas zanimajo O, Spotify ali iTunes ali karkoli je skušate namestiti. Ampak si dobesedno zaupati avtorju ali avtorji programske opreme za samo to, kar je program naj bi naredil. Vendar pa ni popolnoma nič zaustavitev večine programov na najbolj operacijske sisteme, brisanje datotek, od jih naložite na nekatere družbe Spletna stran od panulo okoli, za šifriranje stvari. In spet smo nekako zgradili celotna infrastruktura preko leta na zaupanju. In tako se zavedaš, da ste pravkar zaupamo naključno ljudje in naključno Podjetja za večino del. Jonathan namiguje, da preveč, včasih te družbe same vrste zavestno zlonamerno, v redu? Sony ujetih veliko Flack nekaj let Pred za namestitev, kar je bil imenovan Rootkit kit na računalnikih ljudi brez njihove vednosti. In bistvo je to, da ko kupili zgoščenko, na primer, da nisem hotela, da bi mogli kopirati ali razporek glasba off, bi CD namestiti brez vašega vedenja, rootkit na vašem računalniku. Rootkit samo pomeni programsko opremo, ki teče kot skrbnik, ki potencialno počne slabe stvari. Toda med stvari, ta stvar pa se je sam skril. Torej, nekateri od vas morda precej zdrava pamet z računalnikom in vem, no, jaz lahko samo odprete Task Manager ali Monitor dejavnost in sem lahko ogledate na vseh od arcanely navedenih programov ki se izvajajo. In če je kaj videti sumljivo Jaz bom samo ubiti ali izbrisati. Ampak to je tisto, rootkit storil. V bistvu je rekel, če teče opravilo Manager, ne pokaži. Torej programske opreme je bil tam. In le, če ste res, res pogledal Težko bi lahko celo našli. In to je bilo storjeno v imenu za zaščito pred kopiranjem. Ampak predstavljajte si, kaj bi lahko so naredili drugače. Zdaj v smislu sebe zaščiti. Veliko spletnih strani so čudovito milostljiv v tem, da ti dajo ključavnico ikone na njihovi spletni strani, ki pomeni, da je spletna stran varna. To je razvidno iz bankofamerica.com to jutro. Torej, kaj ikona malo ključavnico pa pomeni poleg Vpis gumb? Popolnoma nič. To pomeni, da nekdo ve, kako uporabiti Photoshop, da bi sliko ključavnico ikona. Všeč mi je dobesedno, da je da je mišljeno, da je pozitivno znak za uporabnika, kot so, Ooh, varno spletno mesto. Jaz bi smeli zaupati to spletno stran in zdaj vnesite svoje uporabniško ime in geslo. In je bilo to običajna za let, kot je pred kratkim kot zjutraj. Vendar menijo, navade, da to nas dobili v. Razmislite implicitno sporočilo, da so vsi teh bank, so v tem primeru bili nam pošljete let. Če vidite ključavnico, nato pa pritrdite. Vse v redu? Torej, kako lahko zlorabijo ta sistem zaupanja, če ste slab človek? Dal ključavnico na vaši spletni strani, in logično, uporabniki so pogojena let, da prevzame ključavnica pomeni varno. In bi bilo dejansko varen. Morda imate čudovito varno SSL HTTPS povezava ponaredek spletno stran. com. In nihče drug na svetu ne more videti da ste o tem, da mu ali ji izroči vaše uporabniško ime in geslo na vaš račun. Ta čeprav, morda, je malo bolj pomirjujoče. Torej, to je zaslon strel vrh v mojem brskalniku zjutraj na bankofamerica.com. In opazil tudi tu smo imajo ikono ključavnice. Kaj to pomeni v tem kontekstu v Chrome najmanj? Tako da je ta sedaj uporablja SSL. To je torej dejansko bolj stvar. In dejstvo, da se Chrome česar je zelena je mišljeno, da opozorijo na dejstvo, da je to ne samo preko SSL. To je podjetje, ki se je nekdo tam je preverila dejansko bankofamerica.com. In to pomeni, da je Bank of America, pri nakupu svoje tako imenovane SSL potrdilo, v bistvu velika naključno, Nekoliko naključnih števil, ki izvajajo varnost za njih, so bili preveri nekatere neodvisna tretja Stranka, ki pravi, ja. To je pravzaprav predsednik uprave Banke Amerika poskuša kupiti potrdilo. Chrome bo zato verjamemo, da organ za potrjevanje in povedati, zelena, to je bankofamerica.com. In Bank of America le plača nekaj sto dolarjev za da ali nekaj tisoč evrov v primerjavi s Nekaj ​​deset dolarjev. A tudi tu, koliko vas je že kdaj obnašal drugače, saj URL v vaš brskalnik, zelena namesto črno? Kajne? Torej, nekaj od nas. In to je dobro biti paranoičen. Toda tudi takrat, tiste, ki še Opazili te stvari, imaš dejansko stop prijavite v nasprotnem primeru varno Spletna stran, če naslov ni zelena? Vse je v redu, tako da verjetno ne, kajne? Vsaj večina od nas, če to ni zelena, verjetno ste šele tekoč da se kot, karkoli. Všeč mi je, želim, da se prijavite na tej spletni strani. To je razlog, zakaj sem tu. Grem, da se prijavite vseeno. Kot prahi, Chrome, je malo bolje o tem. Ampak tam je veliko brskalnikov, kot so Firefox na primer, vsaj za nekaj časa, če to ključavnico ikona se lahko dejansko dal vse ikona svoje. Naj vidim, kaj najnovejša različica za Firefox izgleda. Torej, če gremo na CS50.net. OK, tako da oni 'gotten bolje kot dobro. Kaj brskalniki uporabljajo storiti je všeč, Tukaj je primer [? SAAS to?] greben tukaj. To je tako imenovani najljubši Ikona za spletno stran. Leti - pravzaprav ne tako dolgo nazaj - da malo Ščit bi bilo prav Tukaj zraven URL. Ker nekateri genij odločil, da bi samo lepa, classy, ​​da imajo vaš grafični logotip desno poleg URL-ja. In oblikovanje pametno, da dejansko je zelo prepričljiv. Torej, kaj je slab začetek fant počne? Začeli spreminja njihov najljubši ikone ali njihove privzeta ikona za domača stran ne sme biti grb vendar ključavnico, ki je nikakršnega pomena. Razen svoje najljubše ikono je ključavnica ni imela znaki varnosti. Torej lekcije so tukaj Nekaj ​​se mi zdi. Ena je, da dejansko obstajajo nekatere dobronamerne mehanizmi za poučevanje nas uporabnike o varnosti celo če ne bi niti zavedali, kaj zelena pomenilo, ali kaj sploh pomeni HTTPS. Ampak, če nam ti mehanizmi priti v slaba navada zaupamo spletnih strani ko smo videli tiste pozitivne signale, oni so zelo hitro zlorabljeni, kot smo videli, pred nekaj trenutki z nečim neumno, kot je ta. Torej seja ugrabitve pride v igrali, kot smo rekli prej, s piškotki, na primer. In kaj to dejansko pomeni? Tudi z ugrabitev seje, je to vse O krajo nekoga piškotkov. Torej, če sem odprla Chrome tukaj, za primer, in sem odprla nadzornikom dol in sem šel Tab omrežja - in smo to storiti, preden - in sem šel na nekaj podobnega http://facebook.com Enter, celotna kup stvari gre po zaslonu zaradi vseh slik in CSS in Datoteke JavaScript. Ampak, če gledam tole sem obvestilo da je Facebook v resnici sajenje eno ali več piškotkov na moji Brskalnik tukaj. To so predvsem roko žigi, ki me predstavljajo. In zdaj upam, da bo moj brskalnik ponovno predstavi in ​​spet ob ponovno pregledati te spletne strani. Toda to je le varna, smo rekli, Pred dvema tednoma, če ste z uporabo SSL povezave. Toda tudi sam SSL lahko ogrožena. Razmislite navsezadnje način SSL del. Ko vaš brskalnik poveže na daljavo Strežnik prek https://, skrajšam zgodbo, kriptografija je vključen. To ni tako enostavno, kot Cezarja ali Visionaire ali celo DES, DES od medtem pa pset2. To je bolj zapletena kot to. To se imenuje javni ključ kriptografija. Ampak res velik in res naključno Številke se uporabljajo za pehanje informacij med točko, ti, in točko B, tako kot facebook.com. Ampak problem je, koliko nas spet kdaj tip v https:// za začetek naši spletni strani povezava V tem varnem načinu? Mislim, koliko vas sploh Tip http://facebook.com? Vse je v redu, če boste to storili, kot, zdravo. Vam ni treba storiti, da več, kajne? Brskalnik ga bo pogruntal. Ampak večina od nas res vtipkaj facebook.com. Ker, če smo z brskalnikom, brskalniki so gotten dovolj pameten, ki jih 2013 prevzeti, če uporabljate brskalnik vpišete naslov, vas Verjetno želijo dostopati do njega ne preko elektronske pošte ali neposrednega sporočila. Misliš, HTTP in vrata 80. Sprejeti so bili ti sporazumi. Ampak kako preusmeritev dela? No, opazil, kaj se dogaja tukaj. Če grem nazaj v Chrome - in naredimo to v Incognito način, tako da so vsi moji piškotki so vrgli proč. In pusti me tukaj, spet facebook.com. In da vidimo, kaj se bo zgodilo. Spomnimo se, da je bila prva zahteva res samo za facebook.com. Ampak kaj je bil odgovor, da sem dobil? Ni bilo 200 OK. Bilo je 300 ali 301, ki je preusmeriti mi povedali, da gre za http://www.facebook.com, ki je kjer je Facebook želi, da grem. Ampak potem, če gledamo na naslednjo zahtevo in smo videli že prej, opazili, kaj je njihova druga odziv. Posebej, da me hočejo zdaj pojdite na SSL različico Facebooku. Torej, tukaj je priložnost. To je nadvse uporabna funkcija za samo spleta in HTTP. Če mi končni uporabnik kot so Facebook želi ostati na varni različico svojega spletna stran, super. Mi bodo preusmerili zase. In tako mi ni treba niti razmišljati o tem. Toda kaj, če med točko A in B, med vami in Facebook, obstaja nekaj slab človek, tam je neki sistem administrator na Harvardu, ki je radoveden da vidim, kdo so tvoji prijatelji. Ali obstaja nekaj - Pred leti je ta uporablja za zvenelo noro - vendar pa nekateri vladni subjekt kot NSA, ki je dejansko zanima v tem, kdo si drezal na Facebooku. Kje je priložnost tam? No, dokler nekdo dovolj tehnično zdrava pamet in imajo dostop s svojim dejanskim omrežje preko Wi-Fi ali nekatere fizične žica Kaj lahko storijo? No, če si v istem omrežju kot ti in vedo nekaj o TCP / IP in IP naslove in DNS in kako vse to deluje, kaj če bi Človek na sredini, kaj če nacionalna Varnostna agencija, ne glede na to lahko, kaj pa če ta oseba preprosto hitreje, kot odgovor na Facebooku vaš HTTP zahtevo in pravi, oh, sem Facebook. Pojdi naprej, in tukaj je HTML za facebook.com. Računalniki so precej darn hitro. Torej bi lahko napisali program teče na strežnik kot nsa.gov da ko sliši zahtevo za vas facebook.com, zelo hitro zadaj Prizori dobi resničen facebook.com Popolnoma [? posestnik?] varni SSL povezava med NVO in med Facebook, dobili, da je zelo HTML Varno na prijavni strani, nato pa Strežnik NSA samo odziva na vas s prijavni strani za facebook.com. Zdaj, koliko od vas bi niti opazili da ste z uporabo Facebooka preko HTTP še na tej točki, ker ste pomotoma povezana nsa.gov in Ne Facebooka? URL-ji se ne spreminja. Vse to je bilo storjeno v ozadju. Ampak večina od nas, vključno z mano, verjetno ne bi opazili kot manjše podrobnosti. Torej boste morda morali popolnoma delujoč povezava med vami in kaj si mislim, da je Facebook, vendar pa je ti človek v sredini. In to je splošen izraz za človeka v middle napad, kjer imate nekaj Podjetje med vami in točki B, ki je nekako manipulacijo, krajo ali gledal svoje podatke. Torej, tudi SSL ni surefire, zlasti če ste bili Prelisičil ni ga vklopite, saj o tem, kako ti Odgovorni mehanizmi dejansko delajo. Torej, danes lekcija, potem tudi je, če ste hočeš biti paranoičen - in tudi tu obstajajo grožnje - bi bilo res začeli že v navada tipkanje v https://www ne glede na ime domene si dejansko skrbi. In kot je razveljavilo tudi tam še ena grožnja z menijo, da ugrabitev seje. Zelo pogosto, ko ste prvič obiskali Spletna stran kot facebook.com, razen Strežnik je nastavljen tako, da pomeni, da da roko žig je dal na vas včeraj je treba zagotoviti sama, si Brskalnik lahko zelo dobro, na gostujoči stvari, kot facebook.com google.com, twitter.com Vaš brskalnik lahko predstavlja le kolek roke da se udaril dol in rekel, št. Uporabi SSL. Ampak to je prepozno na tej točki. Če ste že poslali svojo roko žig, piškotke, v jasno z Ne SSL, imate delček sekunde ranljivosti, kjer nekdo ovohava vaš promet, ali sostanovalec ali NSA, Nato lahko uporabite isti piškotek, in z malo tehnično zdrava pamet, ga predstaviti kot svojo lastno. Še en napad, boste morda ne bi pomislili. Ta je res nekaj na vas, če zaserješ ta v pisni obliki neke spletne strani, ki nekako uporablja SQL. Torej, tukaj, na primer, je zaslon Ekipa iz Harvard prijavi. In to je splošni primer nečesa s uporabniško ime in geslo. Super pogosti. Torej, kaj je domnevati, da SSL obstaja in ni človek v sredini ali kaj podobnega. Zdaj smo se osredotočajo na strežnik je kodo, ki jo lahko pišete. No, ko sem tipa v uporabniškega imena in geslo, domnevam, da PIN storitev se izvaja v PHP. In morda nekaj kode na tem strežniku, kot je ta. Pridobite uporabniško ime na pošti super globalni in dobili geslo, nato če ste z uporabo nekaj podobnega pset7 Koda tam je funkcija poizvedba da bi to lahko naredil. Izberite zvezdo od uporabnikov, katerih ime da je enak in geslo, da je enak. , Ki je videti na prvi pogled, povsem razumno. To je sintaktično veljavno PHP kodo. Logično ni nič narobe s tem. Verjetno obstaja nekaj več vrstic, ki dejansko nekaj narediti s Rezultat, ki pride nazaj iz baze podatkov. Ampak to je ranljiva za Naslednji razlog. Opazili, da kot dober državljan, Sem dal v narekovaje, sam kotacije, uporabniško ime. In sem dal v enojnih narekovajih geslo. In to je dobra stvar, ker oni Ne bi smel biti številke. Značilno je, da si bo besedilo. Tako da sem jih citira kot strune. In če sem zdaj dosežemo napredek še kaj, če - in sem odstranil krogle iz Storitev začasno PIN - Kaj pa, če sem poskusil, da se prijavite kot Predsednik [? Scroob?] vendar trdim, da je moje geslo 12345 'ali '1' = '1, in obvestilo kar nisem storil. Nisem blizu drugega sam citat. Ker sem precej ostra tukaj kot slab človek. In jaz sem ob predpostavki, oni si ni zelo dobro z vašo PHP in MySQL kodo. Ugibam, da niste preverjanje za prisotnost ponudb. Torej, kaj se je zgodilo, da ko si Uporabnik je tipkal v tem nizu, poizvedba ste približno ustvariti izgleda takole. In skrajšam zgodbo, če vas in nekaj skupaj, ali ste ali kaj skupaj to se dogaja, da se vrnete vrstice iz baze podatkov. Ker je vedno Primer, ki je enaka 1 1. In samo zato, ker ni predvidel da vaši uporabniki, dobra ali slaba, bi imajo opuščaj v svojem imenu vam so ustvarili poizvedbo SQL, ki je še vedno veljaven, in bo vrnil zdaj več rezultatov kot ste namenjeni. In tako je ta baraba ima sedaj potencialno prijavljeni na strežnik ker je vaša baza se vrača vrstico tudi če je on ali ona nima pojma, kaj [? Scroob je?] Dejanska geslo. Oh, sem spoznal, slovnične tukaj. Moral bi dejal, geslo je enako 12345 kot prejšnja Primer 1 ali enaka 1. Popravil bom to na spletu. Torej, zakaj smo si s poizvedbo Funkcija z vprašaji? Ena od stvari, funkcijo poizvedbe ni za vas je to poskrbi, da ko se boste peljali v argumentih po Vejice tukaj, kot je ta, da poizvedba da je dejansko poslan baza podatkov je videti takole. Veliko grši na pogled, ampak nazaj poševnici so samodejno vstavi natančno, da bi se izognili injekcijo napad, da sem pokazal pred nekaj trenutki. Zdaj zabavno XKCD, da sem mislil, da sem potegnite tu gor, da upam, da je zdaj treba malo bolj razumljivo je to ena tukaj. Malo? Mogoče smo potrebovali malo več Razprava o tem. Torej je to namiguje, da majhen otrok imenom Bobby, ki je nekako sprejeti Prednost spletne strani, ki je pravkar zaupamo, da tisto, kar je Vtipkali v ni, v resnici, SQL kode, vendar je v bistvu niz. Sedaj lahko spomnimo, da je padec - ste morda videli to - padec sredstva izbrisati tabelo, brisanje zbirke podatkov. Torej, če ste v bistvu trdijo, da tvoje ime je Robert "; droptabl estudentsomething,] vam lahko zelo dobro trik zbirko ne samo v preverjanje, da si res Robert, ampak podpičjem tudi nadaljuje, da spustite tabelo. In tako SQL injection napadi lahko dejansko kot nevarno, saj to s katerim lahko izbriše podatke nekoga, lahko izberete več zna poiskati vire informacij, kot namenjeni, lahko vstavite ali posodabljanje podatkov. In lahko dejansko videti na na domače delo, ne pa za zlonamerno namene, temveč le za učenje, je čas, ste pozvani, da se prijavite na spletni strani, še posebej, nekakšen niso zelo javno, zelo priljubljena spletna stran, poskusite prijaviti kot John O'Reilly ali nekdo z Apostrof v njihovem imenu. Ali dobesedno vtipkaj opuščaj, zadeti nastopiti, in glej kaj se zgodi. In vse prepogosto tragično, ljudje niso sanirati svoje vložke in poskrbela, da stvari, kot so narekovaji ali podpičji pobegnil. Zato smo v pset7 dati to poizvedbo funkcija vam. Vendar ne pod cenijo ravno kaj počne za vas. Torej, s tem je dejal, uživali ob uporabi Spletna ta teden. In vas bomo videli v ponedeljek. Na naslednjem CD50. [MUSIC]