[MUSIC] David J. Malan: U redu. Dakle, ovo je CS50 i to je kraj tjedna 10. Dakle, neki od vas možda su vidjeli ovo već, ali su u opticaju u zadnje vrijeme je članak koji sam mislio da ću pročitati izvadak iz, a zatim prikazati tri minute videa da se boje ista slika. To je jako dirljiva priča, ja Mislio, ovog raskrižja stvarnom svijetu s istinski uvjerljiv koristi tehnologije. Tako je članak pod naslovom: "Dječak oversleeps na vlak, koristi Google Maps pronaći obitelj 25 godina poslije. "A Prvih nekoliko stavaka bilo, "Kad Saroo je pet godina otišao je sa svojim starijim bratom izmoliti za promijeniti na putničkom vlaku u gradu oko dva sata iz svog malog rodnog grada. Saroo umorili i skakutao na U blizini željezničke gdje je mislio da njegov brat, a zatim zaspao. Kad se probudio, bio je u Calcutti, oko 900 km daleko. Saroo pokušava pronaći svoj put natrag, ali on nije znao Ime je njegovu rodnom gradu. I kao maleni dječak nepismenih u velika grad pun zaboravljenih djece koje je imao gotovo nikakve šanse za dobivanje doma. Bio je dijete ulice za vrijeme dok lokalno agencije za usvajanje zakačen mu se s australskom paru koji ga je doveo do živjeti u Hobart, Tasmania. Saroo preselio tamo, saznaje Engleski, a odrastao. Ali on nikada nije prestao tražiti njegova obitelj i njegov rodni grad. Desetljećima kasnije, otkrio je Google Zemlja i slijedili željezničkih pruga. A daje sebi propisanu radijus temelji se na koliko dugo je mislio da je spava i koliko brzo je mislio na vlak ide, znao je odrastao u toploj klimi, znao je govorio Hindski kao dijete, a on bi rekli koji je izgledao kao da je iz Istočne Indije. Konačno, nakon godina bičevanje su satelitski snimci, on je priznati nekoliko znamenitosti. I nakon što je razgovor s administratorom od obližnji grad-ih Facebook stranica, shvatio je on bi pronašao dom. " Pa onda ovdje je video govori da je priča iz njegove perspektive. [Video reprodukciju] -To je bilo prije 26 godina i bio sam samo o skrenuti pet. Dobili smo do željezničke stanice i smo se ukrcali na vlak zajedno. Moj brat je samo rekao da ću ostati ovdje, a ja ću se vratiti. I mislio sam, dobro, znate, ja možda i samo ići na spavanje i tada ću samo me probuditi. A kad se probudim sutradan, Cijela je prazna kolica na odbjegli Vlak, vlak duhova uzimanja ja ne znam gdje je. Ja donesen kako bi Australiju u australskom obitelji. A mama je uređena moju sobu Karta Indije, koja je stavi pored moje postelje. Probudio sam se svako jutro vidim da kartu, i stoga, to svojevrsna zadržao uspomene živ. Ljudi će reći, da pokušavaš naći iglu u plastu sijena. Saroo, nikad nećeš naći. Ja bih imati bljeskove od mjesta koje Koristio sam ići, bljeskove od moje obitelji lica. Tu je slika moja majka sjedi dolje s njezine noge prekrižene Samo gledajući njezin vapaj. Život je jednostavno tako teško. To je moje blago. I bio sam u potrazi na Google mapi i shvatila da je Google Earth kao dobro. U svijetu u kojem možete zumirati u I. počeli su sve ove misli i kakve mogućnosti da to može učiniti za mene. Rekao sam sebi, dobro, znate, imaš sve fotografske sjećanja i znamenitosti gdje ste na, a vi znate što Grad izgleda. To bi mogao biti program koji ste može koristiti kako bi pronašli svoj put natrag. Mislio sam, dobro, ja ću staviti točku na Calcutta Željeznički kolodvor u radijusu linije koje bi trebali biti u potrazi oko ovog područja. Sam došao preko ove željezničke pruge. I počeo sam ga slijedi i sam došao do željeznička stanica koja odražava ista slika koja je u mojim sjećanjima. Sve podudaraju. Samo sam mislio, da. Ja znam gdje idem. Samo ću pustiti da sam kartu imati u glavi da me vodi i uzmi me natrag u moj rodni grad. Došao sam na pragu kuće da sam rođen i zaobišao oko petnaest metara ugla. Tu je tri dame stoje vani jedan pored drugog. I srednje jedne istupio. I mislio sam, ovo je tvoja majka. Došla prema naprijed, ona me zagrlila, a mi su bili tamo za oko pet minuta. Ona je zgrabio moju ruku i ona je na mene Kuća i dobio na telefon, a ona Zazvonio mi sestru i brata za reći da tvoj brat ima samo sve Odjednom se pojavio kao duh. A onda je obitelj opet ujedinila. Sve je sve dobro. Ja vam pomoći majci van. Ona ne mora biti slaving daleko. Ona može voditi ostatak njezin život u miru. To je igla u plastu sijena, ali igla je tamo. Sve je tu. Sve imamo u svijetu je tap na gumb. Ali moraš imati volju i odlučnost da ga žele. [END video reprodukciju] Pa stvarno slatko priča. I to je zapravo me podsjeća na prilično topic koji je bio dobivanje prilično malo pažnje kasno u Crimson, više na nacionalnoj razini u cjelini. Pogotovo što MOOCs uzimate faza kasno. MOOCs ovi su masivni i otvoren online tečajevi od kojih je jedan CS50. A ljudi pričaju o tome, za Primjerice, humanističke znanosti zapravo nisu sustići ili nisu ni približno toliko u modi, kao što su nekad bili. I ja bi potaknuti vas momci, koliko kao što je Jonathan je u ponedjeljak, razmišljati o kao izlaz 50, a znamo Već oko 50% nećete nastaviti da se još računalo Znanost za golf, i to je sasvim fino i očekuje. Budući da je jedan od ciljeva dalekosešna od klase kao što je to stvarno osnažiti vas dečki sa samo razumijevanje o tome kako sve ove stvari radi i kako je ovaj svijet tehnoloških radova. Tako da kada se vratio u svoj svijeta, bilo da je pre-med ili je li to humanističkih znanosti ili društvenih znanosti ili neki drugi Polje uopce, da su ti dečki dovođenje neki tehnički pamet za stol i pomaže pametne odluke kada je riječ o korištenju i uvođenje tehnologije u svoj svijet. Na primjer ja je podsjetio kasno previše od dva preddiplomski Nastava sam uzeo prije dvije godine, koje su bile takve jednostavne primjene tehnologije ali uvijek je tako uvjerljiv. Prve noći s profesorom Tom Kelly Ako ste uzeti klasu. To je predavanje o klasičnoj glazbi na ova faza ovdje gdje učite Malo nešto o glazbi. To je zapravo prvi Noći da CS50 posudio ideju pjesme za one manje ugodno u međuvremenu i udobnije. U moje vrijeme su imali različite pjesme za djecu s apsolutno bez glazbe iskustvo poput mene, a onda djeca koja je obavljanje jer su bili pet godina. I taj razred, primjerice, upravo Web stranica kao i većina bilo koji drugi, ali to je web stranica koja vam dozvoljeno da istraživati ​​glazbu na njemu i reproducirati glazbene isječke iz klase, s weba i samo koristiti tehnologiju u vrlo bešavne način. Druge klase godina kasnije da sam revidirana, u biti, u postdiplomskog, Antropologiju 1010, Uvod za arheologiju ovdje. Bilo je nevjerojatno. A jedan od najvažnijih uvjerljiv još super očito, u retrospektivi, koristi od Softver je da su profesori u da je klasa koristiti Google Earth. Sjedili smo u cijeloj ulici u nekoj dvorani. I ne mogu putovati, primjerice, na Bliskom istoku na iskopinama da je jedan od profesora upravo se vratiti na, ali smo mogli učiniti da gotovo je leti okolo u Google Earth i gleda na ptičje perspektive na kopaju stranicu je upravo vratio od prije tjedan dana. Pa ja bi potaknuti vas dečki, osobito u humanističkim znanostima, ići natrag na one odjela nakon toga Klasa donoseći svoje konačne projekte s tobom ili ideje u vlastite, i vidjeti Samo ono što možete učiniti kako bi vaš uliti Vlastiti polja u humanističkim znanostima ili izvan nje uz malo ove vrste Ono što smo istraživali ovdje u CS50. Dakle, s tim sliku naslikao, pomislio ćemo pokušati uhvatiti u koštac dvije stvari danas. Jedan, pokušati dati vam osjećaj gdje možete ići nakon 50 godina. A naročito, ako se odlučite borila web-based projekt kao što je nevjerojatno uobičajeno, kako možete ići O polijetanje sve CS50-a Trening kotača i ide vani na sami, a ne da se oslanjaju na PDF ili podatak o pset? Nije da se oslanjaju na CS50 Aparat više. Ali stvarno može se povući se prema svojim naporima. S tim je rekao, C-based konačna Projekti su dobrodošli. Stvari koje koriste postolje za prijenosni knjižnica u grafike su dobrodošli. Mi samo znamo da je statistički puno ljudi odgristi projekte u PHP i Python i Ruby i MySQL i druge okruženja, tako da ćemo neke od pristranosti naše primjedbe prema tome. No, brzi pogled unatrag. Tako smo uzeli zdravo za gotovo u pset7 u Činjenica da je $ _SESSION postojala. Ovo je super globalna, globalni, asocijativne matrice. A što je ovo neka vam je činiti? Funkcionalno, što je sadrže nam to daje? Da? Za praćenje korisnika ID. I zašto je ovo bilo korisno? Da biste mogli pohraniti unutar ovog super Globalna JHarvard ili [? Scroobs?] ili Malan je korisnički ID kada se on ili ona posjećuje stranicu. Točno. Dakle, ne morate se prijaviti u opet i opet. Bilo bi stvarno jadan World Wide Web ako svaki puta ste kliknuli vezu na stranicama poput Facebooka ili svaki put ste kliknuli na e-mail u Gmailu vas morao ponovno ovjeriti dokazati da je to je još uvijek ti i nije tvoja cimerica tko bi išao do svoje računalo u vašoj odsutnosti. Dakle, mi koristimo samo SJEDNICU sjetite se tko ste. I kako se to provodi ispod haube? Kako se web stranica koja koristi, protokol koji web preglednicima i poslužitelja govore, kako se HTTP, što je apatrid protokol, recimo. I bez državljanstva mislim, jednom kad povezivanje na web, skinuti neke HTMLs, neki JavaScript, neki CSS, vaš preglednika ikona prestane vrtjeti. Vi ne imati stalnu vezu na poslužitelj obično. To je to. Ne postoji država zadržala stalno. Pa kako se provodi u SESSION kao način da svaki put kada posjetite nova stranica, web sjeća tko si ti? Što je temeljni provedbu pojedinosti? Ga objavite. To je jedna riječ. Kolačići. U redu. Dakle cookies. Pa, kako se koristi kolačiće? Mi ćemo podsjetiti da Kolačić je općenito Samo podatak. I to je često velika slučajna broj, ali ne uvijek. I kolačić sadi na tvrdom pogon ili na vašem računalu RAM, tako da svaki put kada ponovno ta ista Web stranica, vaš preglednik podsjeća poslužitelja, ja sam korisnik 1234567. Ja sam korisnik 1234567. I tako dok je poslužitelj pamti koje korisnik 1234567 je JHarvard, web stranice će se samo pretpostavljati da ste tko ste reći da ste. I podsjetiti da smo predstaviti ove kolačiće vrsta u obliku virtualne ruke stajati. To je poslan u HTTP zaglavlja samo podsjetiti poslužitelj da ste tko je to misli da si. Naravno, postoji prijetnja. Što prijetnja nam to otvoriti, ako U biti, koristite neku od kluba ili mehanizam zabavni park da se prisjetimo tko smo mi? Ako ste kopirati nečiju kolačić i oteti njihova sjednici, da se tako izrazim, te Možete se pretvarati da ste netko drugi, a Web stranica najvjerojatnije samo ide na vjerujem ti. Dakle, mi ćemo se vratiti na to. Jer druga tema za danas izvan osnaživanje također govori o vrlo zastrašujuće svijeta u kojem živimo i koliko od onoga što vam je činiti na web, koliko ono što radite, čak i na svojim mobitelima i danas može biti prati realno za svakoga između ti i točku B. A Ajax, opoziv. Tražili smo samo kratko na ovo, Iako ste ga pomoću neizravno u pset8 jer koristi Google Maps i zato što si koristeći Google Earth. Google Maps i Google Earth ne skinuti cijeli svijet na svoje desktop, očito, Trenutak ulažete pset8. To je samo preuzima trgu u svijetu ili veći kvadrat zemlje. I onda svaki put kad neka vrsta kormilariti izvan dometa ste mogli primijetiti - pogotovo ako se na spore veze - da možda vidimo neku sivu za trenutak ili malo fuzzy slikovnim računalne preuzimanja više takvih pločice, više takvih slika iz Svijet i zemlja. A Ajax je općenito tehnika kojim web stranice rade to. Nakon što je potrebno više od karti, vaš preglednik će koristiti Ajaxa, koji je Ne sama jezika ili tehnologije, to je samo tehnika. To je korištenje JavaScript ići dobiti Više informacija na poslužitelju koji omogućuje vaš preglednik ići dobiti ono što je u istočno ili što je na zapadu što je inače trenutačno što je prikazano na toj karti. Dakle, ovo je tema da su mnogi od vas će se susresti izravno ili posredno preko gotovih projekata ako odlučite napraviti nešto što je Slično dinamična to vuku podatke od neke treće strane web stranice. Dakle, imamo jako uzbudljivo iduće srijede naprijed. Kviz jedan, podaci za koje Već je na CS50.net. Znati da ćete biti recenziju sjednici U ponedjeljak u 5.30. Datum i vrijeme već odgovoreno Na CS50.net u to O list. I ne dopustite da vas znate imate bilo kakvih pitanja. Pset8 međuvremenu je već u vašim rukama. I neka mi samo jednu rješavanje pitanja spremiti ljudi neki stres. Za veći dio puno cvrkutanje vidimo na radnog vremena i puno bugovi vidimo izvijestili raspravljati doista bugovi u studentskom koda. No, kada ste naišli nešto kao što je Google Earth plug-u pad ili čak i ne rade, a vi ste Uvjeren to nisi ti, to nije [? chamad?] problem, nije bug koju je uveo u Raspodjela broj. Shvatite samo FYI - To je vrsta plana Z - da je u posljednje vrijeme mi se taj problem postavili smo naletjeli i slično pitanja, postoji linija koda u service.js bitno da je ovo, kako kaže, uključite se na zgrade. I oni rade oko posljednje vrijeme smo je to učinio u, opet, kutak slučajevi gdje studentima Jednostavno se nisam mogao zakrpati stvar na posao je promijeniti vjeran lažna u toj jednoj liniji koda. I vi ćete ga naći ako se traži kroz service.js. Ja to ne preporučujemo, jer ćete stvoriti najviše neplodna krajolik of Cambridge, Massachusetts. To doslovno će poravnati svoj svijet tako da sve što vidite su nastavni novaci i asistenti na tečaj horizont i nema kuća. Ali shvatite iz bilo kojeg razloga Google Earth plug-in čini se da još uvijek buggy godinu dana kasnije, tako da je ovo Možda vaš fail spasiti. Dakle, umjesto da pribjegavaju suza, naselje se okreće zgrade off ako znate to je plug-in koji ne surađuju na vašem Mac ili PC. Ali, to je također posljednji izbor, ako ste sigurni da to nije bug. Dakle Hackathon. Nekoliko mozgalice jednostavno da bi ste uzbuđeni. Imali smo dosta RSVPs. I samo slikati sliku onoga što čeka, ja mislio bih vam dati neke sekundi prisjetiti ovih slika od prošle godine. [MUSIC] David J. Malan: Čekajte, oh. Mi čak imamo doslovne CS50 letjelicu. [MUSIC] David J. Malan: Pa to je ono što čeka da u smislu Hackathon. I to će biti prilika, da biti jasna, ne započeti svoj konačni projekte, ali da i dalje radi na svoje konačne projekte zajedno kolege i osoblje i puno hrane. I opet, ako si budan 05:00 mi ćemo vas odvesti cestom IHOP. CS50 sajma, u međuvremenu, je vrhunac za cijeli razred gdje ćete ponijeti laptop i prijatelje, možda čak i obitelj u sobi na kampusu niz ulicu izlagati svoje projekte na laptop, na visokim stolovima kao što je to s puno hrane i prijatelja i glazbe u pozadini, kao i naši prijatelji iz industrije. Tvrtke kao što su Facebook i Microsoft i Google i Amazon i trsovi drugi, tako da ako je zainteresiran samo rasprava o stvarnom svijetu ili razgovor s ljudima o stvarnom svijetu pripravnički staž ili puno radno vrijeme mogućnosti, znam da su neki od naših prijatelja iz industrije će biti tamo. I par slika možemo bojite ovdje su kako slijedi. [MUSIC] David J. Malan: U redu. Tako da je onda CS50 sajmu. Tako ćemo sada nastaviti pričati priču koji stvarno će vas osnažiti nadam za stvari kao konačne projekte. Dakle, jedan od rijetkih malih stvari na sjeme svoje uma, bilo za konačne projekte ili samo općenito za projekte koji možda ćete odlučiti da se pozabave nakon Naravno, to su sve dokumentirano manual.cs50.net na kojem CS50 upotrebu u kojoj imamo puno tehnike dokumentirana. A to je samo stenogram notacija za rekavši da postoji u svjetski stvari zove SMS na e-mail pristupnici koji je fancy način govoreći, postoji poslužitelja u svijetu da je znati kako to pretvoriti e-pošte na tekstualne poruke. Dakle, ako je za svoj konačni projekt želite stvoriti nekakvu mobilne tematskim servis koji vam omogućuje da upozori prijatelje ili korisnik zbivanja na kampusu ili što je se poslužuje u dvorani D Te noći ili bilo takva upozorenja značajka, znam da je to jednostavno kao slanje e kao i sa kojima PHPMailer Možda ste koristili za pset7 ili smo vidjeli Kratko prije otprilike tjedan dana, kako bi adrese kao što je ovaj. A u stvari tekst može to uz pretpostavku tvoj prijatelj ima neograničeno texting Plan i ne želite naplatiti im 0,10 dolara. Ali ako pošaljete e-mail sa svojim prijateljem koji znate da su Verizon ili AT & T koriste Gmail i samo ga pošaljete na njihov broj telefona bez obzira na sub domene postoji, shvatit će poslati SMS poruku. Ali ovo je jedna od onih stvari biti oprezni. Ako trol kroz prošlogodišnje CS50 videa mislim da je, strašnim, užasno, užasno bug sam napisao u kodu završio slanje oko 20.000 tekst Poruke živjeti na naše učenika u razredu. I samo zato što je netko primijetio da je oni su uzimajući više teksta Poruke od mene nisam imao novac za upravljanje pogodio C brzo i zaustaviti taj proces. Kontrola C, ako se sjećate, je tvoj prijatelj u slučajevima beskonačnu petlju. Dakle, čuvajte snagu smo upravo dao radije vas neodgovorno, većina vjerojatno, na temelju vlastitog iskustva. Ali to je na webu i ima bio tamo neko vrijeme. U redu. Dakle textmarks.com. Dakle, ovo je web stranica. I tu je trsovi drugima vani kao i da smo zapravo sam se kao klasa za nekoliko godina biti u mogućnosti primanje SMS poruka. Nažalost, slanje tekstualnih poruka je lako kao slanje e-pošte kao što je to. Prijem je malo teže, pogotovo Ako želite imati jedan od one seksi kratke kodove koji je samo pet ili šest znamenki. Tako, primjerice, već godinama ste bili u mogućnosti poslati SMS poruku - i vi Možete pokušati to kao dobro - na 41.411. I to je broj telefona za ovaj startup. A ako ste poslali poruku 41411 - Samo ću ga napisati ovdje, pa 41411 - a zatim poslati im poruku sviđa SBOY za Shuttle Boy. A onda upisati nešto kao Mather quad. Znači li poslati tu poruku teksta do tog telefonskog broja. U roku od nekoliko sekundi da bi se vratiti Odgovor iz CS50 prijevoz Dječak usluga, koja je shuttle raspoređivanje softver koji smo imali iz postoji na webu već neko vrijeme. I to će odgovoriti na da putem SMS poruke. Jer ono što smo učinili kao klasa, kao programer, je pisati softver, konfiguriran naš besplatni račun s tekstom ocjene za slušati tekstualnih poruka poslana da SBOY na taj broj. I što učiniti je prema naprijed onima tekst poruke našim PHP-based web stranice kao HTTP parametri govoreći, ovdje. Ovaj korisnik s ovim telefonski broj poslao ovu SMS poruku. Učinite s njom što želiš. Tako smo pisali neki softver koji nakon primio je niz poput SBOY Mather quad, možemo ga analizirati. Mi shvatiti gdje prostori su između riječi. A mi kao razred odlučite kako reagirati na to. A ako pokušate da je sada, primjerice, trebali biste vidjeti, preko odgovor u roku od nekoliko sekundi, narednih nekoliko letjelica ide od Mather na quad ako ih ima. I tu je drugi zaustavlja. Možete upisati Boylston ili druge, kao zaustavlja se na kampusu, a to bi prepoznaju te riječi. Dakle parse.com. Ovo je još jedan servis koji smo bili ukazujući na neke studente za Konačni projekti To je divno time, da je slobodan za razumnu količinu korištenja. A ako idem na parse.com vidjet ćete da je alternativa zapravo imaju nešto poput svoj MySQL baza podataka. I iskreno, to je samo vrsta očaravajuća. To je ono što je unutar Oblak čak i na oblačan dan. Dakle parse.com vam omogućuje da učinite hrpa zanimljivih stvari. I tu je druge alternative na to vani. Na primjer, možete ih koristiti kao krajnje baze podataka. Dakle, ne morate imati web hosting tvrtka. Ne morate imati MySQL baza podataka. Umjesto toga možete koristiti svoj kraj leđa. Ako radite mobilni projekt Android ili iOS ili slično, znaju da postoji stvari kao što su push usluge tako da možete gurnuti upozorenja za svoje prijatelje ili vaših korisnika početne zaslone. I onda hrpa drugih značajke kao dobro. Dakle, ako imate interes, check out ove Web stranice i web stranice poput njih samo vidjeti koliko su druge narode ' Ramena možete stajati na napraviti stvarno cool software za svoj vlastiti. Sada u pogledu autentičnosti, FAQ, je kako se zapravo jamči da su korisnici ljudi na kampusu, Harvard studenti ili nastavnici ili osoblje? Dakle CS50 ima svoju autorizaciju usluga zove CS50 ID. Idi na tom URL-a možete ograničiti Web stranica za svakoga s Harvarda ID, primjerice. Tako znamo da možemo podnijeti. Vi ne bi trebali biti na poslu govoreći, ono što je tvoj Harvard ID? Koja je tvoja Harvard PIN? Dopustite mi sada nešto učiniti s njom. Mi ćemo učiniti sve da. A što ćemo vam vratiti se nečije ime i adresu e-pošte, ali Nije ništa osjetljiva. Aplikacija na mobilnom uređaju, to može biti je raditi na mobilnom uređaju, ali to nije sasvim dizajniran za to. Tako da ćete završiti trošenje ne trivijalna Iznos od vrijeme da to učini. Pa ja bi obeshrabrila da je put za sada. Ovo je stvarno namijenjen web aplikacije. Dakle, web hosting. Dakle, ako niste vidjeli na toku je početna - a evo i gdje ćemo početi priču - web hosting je sve o plaćati za Obično usluga, domaćin poslužitelj vlasništvu netko drugi na webu koji ima IP adresa, a zatim staviti svoj Web stranica o tome. I oni obično vam dati e-mail računi i baze podataka i druge takve osobine. Znaj da ako ne želite da se zapravo platiti kao što, idite na taj URL postoji i CS50 zapravo ima neprofitna računa koje možete koristiti za zapravo ne http://projekt unutar uređaja za konačni projekt. Ako stvarno želite da bude nešto kao što je, isawyouharvard.com, možete kupiti taj naziv domene - iako Nije li to jedan određeni - i onda možete ići o tome hosting na javni web poslužitelj kao što možemo ponuditi vi ovuda. A u stvari, ako nisu upoznati, Ako ste nikada nije bio u isawyouharvard.com, jedan, idi tamo. No, dva, znam da je to mlada žensko ime koje Tej Za Toor Too dva godina, prije tri godine, koji je bio CS50 alumni koji se dogodile samo dan ili dva prije CS50 Sajam poslao e-mail na njezinu popisu kuća poštansku i voila. Dva dana kasnije u CS50 sajma, imala je stotine korisnicima puzanje na sve jedni druge na svojoj internetskoj stranici, a govoreći kako su vidjeli ili joj ga na kampusu. Dakle, to je jedna od CS50 omiljeni priče o uspjehu iz CS50 konačni projekt. Dakle, kako idete o stavljanju web stranicu kao da je na internetu? Pa, postoji nekoliko takvih Sastojci ovdje. Dakle jedan, morate kupiti ime domene. Tu su trsovi mjesta u Svijet iz kojeg možete kupiti naziv domene. A za primjer, onaj koji preporučamo Samo zato što je popularno i to je jeftino se zove namecheap.com. No, možete otići i godaddy.com više desetaka drugih vani. Možete pročitati na recenzije. No, za najveći dio to ne bitno od koga si kupiti naziv domene. I oni se razlikuju po cijeni i oni se razlikuju u sufiksom. U sufiksi poput. Com,. Net, . Org,. IO,. Tv, onima zapravo razlikuju u cijeni. Ali, ako smo htjeli napraviti nešto poput cats.com možemo ići na ovoj web stranici, kliknite Traži. Vjerojatno je ovo jedna je uzeti. No, očito, catsagainst.com je dostupan. pluscats.com dostupan. Lovecats, catscorner, dampcats.net. Sve to nadamo pseudo nasumično generiraju. Ako želite cats.pw, 1500 $ samo, što je pomalo suludo. Dakle, netko stvarno je zgrabila sve se mačka povezane imena domena ovdje različite cijene. Kao na stranu, da vidimo. Tko ima cats.com? Znajte da vi imate na raspolaganju prilično sofisticirane naredbe sada. Kao što sam može upisati doslovno tko je cats.com? I zbog načina na internetu strukturiran možete zapravo vidjeti tko ovo je registrirana. Očito je ta osoba [nečujno] pomoću proxy usluge. Pa tko je vlasnik cats.com ne želi svijet zna tko su oni. Tako su, ako ste registrirani kroz neki slučajni privatnost usluga. Ali ponekad se zapravo dobili stvarni vlasnici. A to je za reći, pogotovo ako ste slijedila neke startup i vi Stvarno želim neke domene, a ti si spremni platiti da netko drugi za to, možete shvatiti kontakt Informacije na taj način. Ali zanimljivo je to. Dopustite mi dođite do tog dijela. Dakle, to je taj isti output. A to je samo neukusno. Dakle, očito cats.com može biti tvoje za pravu cijenu. No, ono što je zanimljivo ovdje je da je ime poslužitelja - ovo je ukupno zlouporaba ono ime poslužitelj bi trebao biti - vaše ime server nije trebao biti thisdomainforsale.com. Ako smo zapravo odabrati nešto poput - neka je odabrati nešto malo više legitimna kao, tko je google.com, i pomaknite se ovdje. Dakle, ovdje - što se tamo dogodilo? Zanimljivi. Iza tko je - neka je zadržati ga više niska ključ. Tko je mit.edu? OK. To je korisno. Dakle, to je ono što sam se nadao. Legitimno korištenje DNS usluge. Ime poslužitelja ovdje pokazuju sljedeće. Ovo je MIT način da se kaže, kad god je netko u svijetu, gdje god su, vrste u mit.edu i hitove Enter, svoj laptop, je li Mac ili PC, neće nekako s vremenom shvatiti da je ljudi na svijetu koji znaju što je IP adresa je za mit.edu ili bilo pod domene na mit.edu ili bilo koju od ovi poslužitelji ovdje - i to je zapravo Izgleda MITs infrastruktura prilično snažan kao što se i očekuje. Oni imaju više imena poslužitelja što je dobro za otpremnine. A u stvari, čini se da se na globalnoj razini distribuirati diljem svijeta. Hrpa onih Čini se da u SAD-u, par u Aziji, jedan u Europi, dva negdje drugdje. No, točka ovdje je da DNS da uzimamo zdravo za gotovo, a općenito opisao kao veliki Excel tablicu koja ima IP adrese i domene imena je zapravo prilično sofisticiran hijerarhijska služba, tako da je u svijet tu je zapravo konačan broj poslužitelja koji bitno znaju gdje je sve. coms su ili sve su. su mreže, sve . Orgs se, i tako dalje. Dakle, kad idete naprijed i kupiti domenu Naziv iz mjesta kao što su ime ili jeftini Go Daddy ili bilo koje druge web stranice, jedan od ključnih koraka koje ćete morati učiniti da, ako to čak i za konačni Projekt je reći matičar od koga kupujete domenu Naziv, koji je u svijetu zna svoje web-lokacije IP adrese, koji je Vaše ime poslužitelji. Dakle, ako koristite, na primjer CS50-a hosting računa - mi se dogoditi da imaju ovaj račun preko dreamhost.com što je popularni web hosting tvrtka - oni će vam reći da biste trebali kupiti Vaša domena i reći svijetu da je Vaša domena je ime poslužitelja je ns1.dreamhost.com, ns2.dreamhost.com, i ns3.dreamhost.com. No, to je to. Kupnja domene znači da ih daje Novac i uzimajući vlasništvo domene, ali to je više kao Najam ipak. Možete ga dobiti za godinu dana, a onda su Bill što recurringly za ostatak svoj život dok ne odustanete naziv domene. I onda im reći tko Poslužitelji naziva se. No, tada ste gotovi s Vaš matičar. A od tamo ćete komunicirati samo s Vaše web hosting tvrtka, koja u CS50 slučaju će biti DreamHost. Ali opet, više dokumentacija će se pod uvjetom da vas, ako se odlučite ići taj put. Dakle, ako ste to učinili nakon što je tečaj na kraju, jednostavno googling web hosting Tvrtka će se pojaviti tisuće opcija. I općenito bi potaknuti vas na pitajte prijatelje koji bi mogli imati koristi Tvrtka prije nego li oni preporučuju ih i imali dobro iskustvo. Budući da postoji mnogo letjeti noću web hosting tvrtki, poput čovjeka u njegov podrum s poslužitelja da ima IP adresu. On ima neki dodatni RAM-a i tvrdi disk Prostor i samo prodaje web hosting račune, iako ne postoji način da se poslužitelj mogao nositi stotine Korisnici ili tisuće korisnika. Dakle, shvatite da ćete dobiti ono što plaćate. Već dulje vrijeme za moj osobni kuće poštom - a to je potpuno prihvatljivo jer sam, kao, dva posjetitelja mjesečno - Bio sam plaćati, kao što su, 2,95 dolara mjesečno. I ja sam prilično siguran da je u nečijem podrumu. Ali opet, ne mora nužno doći bilo jamstva ili produženje rada skalabilnost. Pa opet, što obično tražimo , na nešto više od toga. Pa, što je SSL? Dakle, ono što je SSL se koristi za? Idemo sada početi usmjeriti u pravci sigurnosti i stvari koje može nam nauditi. Pogotovo što ste venture na svoj vlastiti. Što je SSL, ili ono što je SSL se koristi za? Sigurnost, OK. Dakle, to se koristi za sigurnost. Što to znači? Dakle, to stoji za Secure Sockets Layer. I to je označeno URL koji počinje s https://. Mnogi od nas vjerojatno nikada nisu upisali https://, ali često naći da je Vaš preglednik je preusmjeren na HTTP-a HTTPS, tako da je sve tu Nakon kodiran. Za Vašu informaciju, koristeći SSL zahtijeva da se obično imate jedinstvenu IP adresu. I obično dobiti jedinstvenu IP adresu morate platiti web hosting Tvrtka nekoliko dolara više mjesečno. Dakle, shvatite to vrlo jednostavno provodi ovih dana kupnjom IP adresa i kupnjom onoga što je zove SSL certifikata. No, shvatili da to ne dolazi po nekim dodatnim troškovima. I, kao što ćemo pokušati zastrašiti samo u malo, to nije ni nužno 100% štiti sve što je pokušavate zaštititi. Dakle, za sigurnost, mislila sam da bih to svojevrsno slučajnim prikazali ovdje. Kao što možda znate iz CS50 predavanju videa, naš produkcijski tim je fan kao što sam ja za uzimanje jako lijepo fotografije od kampusa, i iz zraka fotografije nedavno. Ako ste ikada pogledati gore i vidite nešto leti s malom kamerom, to zapravo može biti CS50. I samo sam mislio bih podijeliti minutu Neki od snimke, ekipa je okupljeni, osobito zato jer izgleda da ljetnom semestru, a iduće jeseni. Ako itko od vas ima smisao za fotografije, videografsko, mi bismo volim da se bavite iza kulisa. No, više o tim detaljima u tjedan dana. [MUSIC] David J. Malan: Ispada da postoji mini golf na vrhu Stadion da mi nikada nije znao o tome. [MUSIC] David J. Malan: Možete vidjeti Obris trut tamo. [MUSIC] David J. Malan: Najbolji dio ovog je, gledati trkač na lijevoj strani. [MUSIC] David J. Malan: Još jedan primjer onoga što možete učiniti s tehnologijom koja je samo tangencijalno, iskreno, odnose na sigurnost. Ali sam mislio da će biti više zabavan način jednostavno govoreći, sigurnost. Dakle, neka je vidjeti ako mi ne može zastrašiti vas dečki Sada ne samo s malo malo prijetnje, ali i temeljne razumijevanje o tome što su te prijetnje se tako da se kreće prema naprijed što može odlučiti kako i da li se braniti sami protiv tih stvari, a kod Barem da bude pažljiv od njih kao što donositi odluke o tome hoće li ili ne pošalji taj e-mail, da li ili ne da se prijavite na toj web stranici, da li ili ne iskoristiti da cyber caffe Wi-Fi pristup točku tako da znate što Prijetnje su doista oko vas. Tako Jonathan iz nečega ovako ponedjeljak. On je pucao prozor zaslona. Ovo je jedna od Mac. Koliko vas je ikada instaliran softver na vašem Mac ili PC? Očito svatko. Kako mnogi od vas su razmotrili se upisivati ​​lozinke kada se to zatraži? Mislim, ni ja ne, iskreno. Dakle, par nas su dobre , na što je paranoičan. Ali razmislite što ste zapravo radiš ovdje. Na tipičnom Mac ili PC imate administratorski račun. I obično ti si samo jedan pomoću laptop barem ovih dana. Dakle, vaš korisnički račun, ili Malan JHarvard ili što god da je, je administratorski račun. A što to znači da su root pristup vašem računalu. Možete instalirati sve što želite, izbrisali sve što želite. I obično ovih dana, zbog datirani dizajnerske odluke od godina, način na koji većina softver dobiva instaliran se kao administrator. A čak i ako je vaš Mac ili PC ima najmanje dobivši dovoljno pametan tijekom godine s najnovijim inkarnacija Mac OS i Windows ne pokrenuti vaš username po defaultu kao Administrator, kada ste preuzeli neke Novi program s interneta i pokušati instalirati ga, da ste vjerojatno idući biti upitani za lozinku. No, kvaka je u tom trenutku, ti si doslovno predao ključeve vašeg Računalo na to što slučajni Program ste upravo preuzeli i čime je za instalaciju što god želi. I kao Jonathan aludira, shvatite da bi mogli reći da je to želi instalirati softver koji vam je stalo o, Spotify ili iTunes ili bilo što drugo je li pokušavate instalirati. Ali vi ste doslovno vjerujući autora ili autori softvera za Samo to što program je trebao učiniti. Ali ne postoji apsolutno ništa zaustavljajući većinu programa na većini operativnog sustava na brisanju datoteka, od slali ih na neke tvrtke Web stranica, od oko trolling, za kriptiranje stvari. I opet, mi smo vrsta izgrađena cjelokupna infrastruktura tijekom godine na povjerenju. I tako shvatiti da ste upravo bili vjerujući slučajni ljudi i slučajnih tvrtki za najveći dio. A Jonathan aludirao previše, ponekad one tvrtke sami su svojevrsni svjesno zlonamjerni, u redu? Sony uhvaćen puno flack nekoliko godina Prije instalacije za ono što je nazvao rootkit kit od tuđih računala bez njihova znanja. A suština je to da kada kupio CD-a za primjer da su ne želim biti u mogućnosti kopirati ili RIP glazbu off, CD bi instalaciju, bez vašeg znanja, rootkit na vašem računalu. Korijen samo znači softver koji pokreće kao administrator koji potencijalno radi loše stvari. No, među stvarima ova stvar je bio da se sakrila. Dakle, neki od vas možda biti prilično pamet s računalom i znaju, dobro, ja može samo otvoriti Task Manager ili Aktivnost Monitor i ja mogu gledati na sve od navedenih programa arcanely koji se izvode. A ako ništa izgleda sumnjivo Samo ću ga ubiti ili ga izbrisati. Ali to je ono što rootkit učinio. To u osnovi je rekao, ako se radi zadatak Manager, ne pokažeš. Dakle softver bio tamo. I samo ako ste stvarno, stvarno izgledala Teško ste uopće mogli naći. A to je učinjeno u ime zaštite od kopiranja. No, samo zamisliti što bi su učinili neki drugi način. Sada u smislu sebe štiti. Puno web stranice su predivno milostiv u da mu to Lokot ikona na njihovoj stranici, znači da je web stranica sigurna. Ovo je iz bankofamerica.com Jutros. Pa što se lokota ikona postoji znači pokraj gumba Prijava? Apsolutno ništa. To znači da netko zna kako koristiti Photoshop napraviti sliku Lokot ikona. Sviđa mi se doslovno, činjenica da je Tu je trebao biti pozitivan signal korisniku kao što su, ooo, sigurne web stranice. Ja bi trebao vjerovati ovoj web stranici i sad upisati svoje korisničko ime i lozinku. A ovo je bio konvencionalni za godine, kao što je nedavno kao jutros. Ali razmislite navike koje ovo je nas uvaliti. Razmislite implicitnu poruku da su svi od tih banaka u tom slučaju bili nas slanja godinama. Ako vidite lokot, zatim pričvrstite. U redu? Pa kako možeš zloupotrijebiti taj sustav povjerenja ako si loš čovjek? Stavite lokot na svoju web stranicu, a logično, korisnici su uvjetovan godinama pretpostaviti Lokot znači siguran. I to je zapravo moglo biti siguran. Možda ste predivno sigurna SSL HTTPS vezu s lažni web stranice. com. I nitko drugi na svijetu ne može vidjeti da ste o tome da preda njega ili nju Vaše korisničko ime i lozinku na svoj račun. To ipak, možda, Malo više ohrabrujuća. Dakle, ovo je slika zaslona vrhu mog pregledniku jutros u bankofamerica.com. I ovdje smo primjetiti imaju ikonu lokota. Što to znači u ovom kontekstu u Chromeu barem? Dakle, to se sada koristi SSL. Dakle, ovo je zapravo bolja stvar. A činjenica da je Chrome je to odluka zeleni je značilo da privući našu pozornost na činjenicu da je ovo ne samo preko SSL. To je tvrtka koja je netko iz Tu je provjereno je zapravo bankofamerica.com. A to znači da je Bank of America, pri kupnji svoj takozvani SSL Potvrda, u biti velika slučajna, Nešto slučajnih brojeva koje provode sigurnost za njih, oni su bili ovjeren od strane neke nezavisne treće Stranka koja je, kaže, da. To je zapravo predsjednik Uprave banke Amerika pokušava kupiti certifikat. Chrome će stoga vjeruju da je certificiranja i reći u zeleni, ovo bankofamerica.com. I Bank of America plaća samo neke stotina dolara za to ili nekoliko tisuća kuna, za razliku od Nekoliko desetaka dolara. Ali ovdje, koliko vas je ikada ponašao bilo drugačije, jer URL u pregledniku zeleni umjesto crne? Točno? Dakle, par nas. I to je dobro biti paranoičan. No, čak i tada, oni od vas koji ni primijetite ove stvari, to zapravo zaustavi prijavom na drugi način sigurno Ako web stranice URL nije zelena? U redu, tako da vjerojatno nije, zar ne? Barem većina nas, ako to nije zelena, najvjerojatnije ste samo ide biti poput, kako god. Sviđa mi se, želim se prijaviti na ovoj web stranici. Zato sam ovdje. Idem se prijaviti svejedno. Kao na stranu, Chrome je malo Bolje o tome. No, postoji puno preglednicima kao što su Firefox primjerice, barem za nekog vremena, gdje je lokot ikona je, zapravo možete staviti bilo ikona sami. Da vidim što najnovija inačica Vatra izgleda. Dakle, ako ćemo ići na CS50.net. U redu, tako da sam stečen bolji, kao dobro. Koji su preglednici koriste učiniti je voljeli, evo primjerice [? SaaS je?] Crest ovdje. To je takozvani omiljena ikona za web stranicu. Godina - zapravo nije tako davno - da se malo Štit bi bio u pravu Ovdje pored URL-a. Budući da su neki genijalac odlučio da bi samo izgledaju prilično elegantan imati Vaš grafički logo desnom Sljedeći na svoj URL. I dizajn mudar, koji zapravo je prilično uvjerljiv. Pa što je negativac start radiš? Oni su započeli s promjenom njihova omiljena ikone, ili njihov zadani ikona stranica se ne brijeg , ali je lokot, koji je imao Apsolutno nema smisla. Osim svoje omiljene ikone je lokot je imao naznake sigurnosti. Dakle, ovdje su lekcije par mislim. Jedan od njih je da zapravo postoje neke dobronamjeran mehanizmi za uči nas korisnike o sigurnosti i ako nisu bili ni svjesni što se zeleni znači ili što je značilo i HTTPS. Ali ako ti mehanizmi nas dobili u Loša navika povjerljiv web stranice kad smo vidjeli one pozitivne signale, Oni vrlo lako zlostavljani kao što smo vidjeli maloprije s nečim glupo kao što je ovaj. Dakle sjednici otmice dolazi u igraju, kao što smo rekli prije, s kolačićima za primjer. A što to zapravo znači? Pa sa sjednice otmice to je sve o krađa nečije cookies. Dakle, ako sam otvoriti Chrome ovdje, za instanca, a ja otvoriti inspektor ovdje i ja ići na Mreža Tab - a mi smo to učinili prije - i ja ići na nešto slično http://facebook.com Enter, cijelo hrpa stvari ide preko ekrana zbog svih slika i CSS-a JavaScript datoteke. Ali ako pogledate ovaj jedan ovdje primjetiti da je Facebook doista je sadnja jednog ili više kolačića na moj browser ovdje. Dakle, to su u biti ruku Marke koje mi zastupamo. A sada nadamo se moj browser će prezentirati to opet i opet, kada ponovni tu web stranicu. No, da je samo da je sigurna, mi je rekao Prije par tjedana, ako koristite SSL. No, čak i SSL sama može biti ugrožena. Razmislite nakon svega način SSL radova. Kada vaš preglednik povezuje s udaljenim poslužitelja putem https, duljimo, kriptografija je uključena. To nije tako jednostavno kao caru ili Visionaire ili čak DES, DES od dok je još u pset2. To je sofisticiraniji od toga. To se zove kriptografija s javnim ključem. Ali stvarno velika i stvarno slučajna brojevi koriste se otimati Informacije između točke A, što, i točke B, kao facebook.com. No, problem je, kako mnogi od nas opet nikad putovanja u https:// za početak Naša web stranica veze u tom sigurnom načinu rada? Mislim, koliko vas je čak Vrsta http://facebook.com? U redu, ako to učinite, željeli, bok. Vi ne morate to učiniti više, zar ne? Preglednik će to shvatiti. No, većina nas učiniti doista Samo upišite facebook.com. Jer ako ćemo putem preglednika, preglednici dobivši dovoljno pametni strane 2013 pretpostaviti ako koristite preglednik, možete upisati adresu, vas Vjerojatno želite pristupiti ne putem e-pošte ili instant poruka. Misliš HTTP i port 80. Ti ugovori su usvojeni. No, kako se preusmjeravanje rad? Pa, primjetiti što se događa ovdje. Ako sam se vratiti na Chrome - i neka je to anonimnog mod, tako da su sve moje kolačići odbačen. I pusti me ovdje, opet, facebook.com. I neka je vidjeti što se događa. Podsjetimo da je prvi zahtjev bio doista samo za facebook.com. No, ono što je odgovor koji sam dobio? To nije bio 200 OK. Bilo je 300 ili 301, što je preusmjeravanje mi govori da ide u http://www.facebook.com, što je gdje je Facebook želi da odem. Ali ako gledamo sljedećeg zahtjeva, a mi smo to vidjeli, primijetiti što je njihov drugi odgovor. Naime kako žele da se sada ići na SSL verziju Facebooka. Dakle, ovdje je prilika. Ovo je čudesno korisna značajka od samo webu i HTTP. Ako krajnji korisnik kao što su Facebook želi mi ostati na sigurnom verziju svog Web stranica, super. Oni će me preusmjeriti za sebe. I tako ja ne moram ni razmišljam o tome. Ali što ako je između točke A i B, između vas i Facebook, ima nekih negativac, postoji neki sustav administrator na Harvardu koji je znatiželjan vidjeti tko su ti prijatelji. Ili postoji neki - godina, to se koristi za zvuk luda - ali ima nekih vlada entiteta kao NSA, koji je zapravo zainteresirani na koga ti njuška na Facebooku. Gdje je tu priliku? Pa, tako dugo dok netko ima dovoljno tehničke pamet i oni imaju pristup na vlastitoj mreži preko Wi-Fi ili neke fizičke žice, što su mogli učiniti? Pa, ako ste na istoj mreži kao vi i oni znaju nešto o TCP / IP i IP adrese i DNS-a i kako sve to radi, što ako je to Čovjek u sredini, što ako je to narodna Sigurnosna agencija, bez obzira na to može biti, ali što ako je taj subjekt jednostavno reagira brže od Facebook Vaš HTTP zahtjev i kaže: oh, ja sam Facebook. Ajde, i ovdje je HTML za facebook.com. Računala su prilično prokleto brzo. Tako da bi mogao napisati program koji radi na poslužitelja kao nsa.gov da kada je čuje od vas zahtjev za facebook.com, vrlo brzo iza sebe scena dobiva pravi facebook.com odluka Savršeno [? esque?] siguran SSL veza između NSA i između Facebook, uzimajući da je vrlo HTML sigurno za stranicu za prijavu, a zatim NSA poslužitelja jednostavno reagira na vas sa stranice za prijavu na facebook.com. Sada koliko vas bi ni primijetili da koristite Facebook preko HTTP Još uvijek u tom trenutku, jer ste slučajno spojen na nsa.gov i Ne Facebook? URL-ovi se ne mijenja. Sve ovo što se radi iza kulisa. No, većina od nas, uključujući i mene, Vjerojatno neće primijetiti kao maloljetnik detalja. Tako možete imati savršeno djelatan veza između vas i ono što da je Facebook, ali postoji tzv. čovjek u sredini. A to je opći pojam za čovjeka u Srednji napad u kojem imate neke Subjekt između vas i točki B koja je nekako manipulira, krađe, ili gledajući svoje podatke. Dakle, čak i SSL nije pouzdan, pogotovo ako ste bili načičkana Nije ga uključite, jer kako to temeljnih mehanizama zapravo rade. Dakle, pouka je danas i tada je, ako se stvarno želim biti paranoičan - pa čak i ovdje postoje prijetnje - vi stvarno trebali početi uzimajući u Navika tipkanje u https://www bez obzira na naziv domene zapravo stalo. A što se izdvaja previše postoji još jedna prijetnja sa obzirom na sjednici otmice. Vrlo često kada ste prvi put posjetiti Web stranica kao facebook.com, osim ako poslužitelj je konfiguriran reći da ta ruka marka je stavio na vas jučer treba se osigurati, vaš preglednik može vrlo dobro, nakon gostujući stvari kao facebook.com google.com, twitter.com, vaš preglednik Možda će predstaviti tu ruku pečat samo biti ošamario dolje i rekao, nema. Koristite SSL. Ali prekasno je u tom trenutku. Ako ste već poslali svoju ruku pečat, svoj kolačić, u jasno s nema SSL, imate sekundu Ranjivost gdje je netko njuška Vaš promet, bilo cimer ili NSA, možete onda koristiti taj isti kolačić, a s malo tehničke pamet, ga predstaviti kao njegov ili njezin vlastiti. Još jedan napad možda nisu mislili o tome. Ovo je stvarno na vas ako zajebeš to se u pisanom obliku neke web stranice da nekako koristi SQL. Pa evo, na primjer, je zaslon Snimka Harvarda prijavu. A to je općeniti primjer nečega s korisničko ime i zaporku. Super zajedničko. Dakle, pretpostavimo da postoji i SSL ne postoji čovjek u sredini ili bilo što slično. Sada smo s naglaskom na server-a kod koji ste mogli napisati. Pa, kad sam upisati korisničko ime i lozinku, pretpostavimo da je PIN usluga provodi se u PHP. A možda ima neki kod Na tom poslužitelju kao što je ovaj. Nabavite korisničko ime od pošte super globalno i dobiti lozinku, a zatim ako se oni koriste neke pset7 kao Kod tu funkciju upita kako bi to učinili. Odaberite zvijezdu sa korisnicima, gdje korisničko ime jednak je i lozinka je jednak. To izgleda, na prvi pogled, sasvim razumno. Ovo je sintaktički vrijedi PHP kod. Logično nema ništa krivo s tim. Vjerojatno postoji neki više linija koje zapravo učiniti nešto s Rezultat koji se vraća iz baze podataka. No, to je osjetljiva za Sljedeći razlog. Obavijest da je, poput dobrog građanina, Ja sam stavio u navodnike, jednom citati, korisničkog imena. I ja staviti u jednostruke navodnike lozinkom. I to je dobra stvar, jer su oni Ne bi trebao biti brojevi. Obično oni će biti tekst. Dakle, ja sam ih citirao kao žice. A ako sada unaprijed dalje, što ako - i ja sam uklonio metaka iz PIN uslugu privremeno - što ako ja pokušati prijaviti kao Predsjednik [? Scroob?] ali ja tvrdim da je moja lozinka 12345 'ili '1' = '1, a obavijest ono što nisam učinio. Nisam blizu drugog jedan citat. Jer ja sam prilično oštra Ovdje kao negativac. I ja sam uz pretpostavku da su ti nije jako dobar sa svojim PHP i MySQL koda. Ja sam guessing da ne provjeravaš za prisutnost citati. Dakle, ono što se dogodilo je da kada vaš Korisnik je upisali u tom nizu, Upit ste o stvoriti izgleda ovako. I ne duljimo, ako vas i nešto zajedno ili ste ili nešto zajedno će se to vratiti red iz baze podataka. Budući da je uvijek slučaj da je jedan jednako jedan. I samo zato što nisu predvidjeli da korisnici, dobre ili loše, možda ima apostrof u njihovo ime da stvorili su SQL upit koji je uvijek vrijedi, i da će se vratiti sada više rezultata nego što su namjeravali. I tako je taj negativac sada ima potencijalno prijavljeni na poslužitelj jer vaše baze podataka se vraća na red čak i ako on ili ona nema pojma što [? Scroob-a?] Stvarna lozinka. Oh, shvatio sam pri upisu ovdje. Trebao sam rekao lozinkom jednaka 12345 kao i prethodna Primjer 1 ili jednak jedan. Ja ću popraviti taj online. Pa zašto smo koristite upit Funkcija s upitnicima? Jedna od stvari upita funkcijskih nema za tebe je to osigurava da kad prođe u argumente nakon što zarezi ovdje kao što je ovaj, da će upit da je zapravo poslan baza izgleda ovako. Puno ružnije gledati, ali povratak kose crte su automatski umetnut upravo kako bi se izbjeglo da Ubrizgavanje napad koji sam pokazao maloprije. Sada zabavno XKCD da sam mislio da ću povući Ovdje se nadamo da je sada trebao biti Malo više razumljivo je ovaj ovdje. Malo? Možda nam treba malo više Rasprava o tome. Dakle, ovo je aludirajući na malo dijete zove Bobby koji na neki način je poduzela Prednost web stranicu koja je samo vjerujući da je ono što korisnik upisali u ne, u stvari, SQL koda, , ali je zapravo niz. Sada mogu podsjetiti da pad - možda ste vidjeli ovaj - kap znači brisanje stola, brisanje podataka. Dakle, ako ste u suštini tvrde da Vaše ime je Robert "; droptabl estudentsomething,] možda vrlo dobro prevariti baze podataka ne samo na provjeru da ste doista Robert, ali zarez i nastaviti padati na stol. I tako SQL injection napada može zapravo biti kao prijetnju, jer to pri čemu možete izbrisati nečije podatke, možete odabrati više od tablica podataka namijenjeni, možete umetnuti ili ažurirati podatke. A što zapravo može vidjeti nakon po Početna vježba, a ne za zlonamjerni svrhe, ali samo za obrazovni, je svaki put kad zatraži da se prijavite na web stranici, a posebno neka vrsta non vrlo javno, vrlo popularne web stranice, Pokušajte se prijaviti kao John O'Reilly ili netko s apostrof u njihovo ime. Ili doslovno samo upisati apostrof, pritisnite Enter, i vidjeti što se događa. I prečesto, nažalost, ljudi nisu dezinficirati svoje inpute i pobrinuo da se stvari kao što su citati ili zarezom su pobjegli. Koji je razlog zašto u pset7 dajemo da je taj upit funkciju. No, to nije pod cijenim točno što radi za vas. Dakle, s tim je rekao, uživajte u korištenju Web ovaj tjedan. A mi ćemo vas vidjeti u ponedjeljak. Na sljedećem CD50. [MUSIC]