1 00:00:00,000 --> 00:00:11,214 >> [MUZIEK] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. Malan: Oke. 3 00:00:11,661 --> 00:00:15,400 Dus dit is CS50 en dit het einde van week 10. 4 00:00:15,400 --> 00:00:20,420 Dus sommige van jullie dit misschien gezien hebben al, maar worden verspreid van laat 5 00:00:20,420 --> 00:00:25,800 is een artikel dat ik dacht dat ik had gelezen een stukje uit en dan laten zien een 6 00:00:25,800 --> 00:00:27,800 drie minuten durende video die schildert hetzelfde beeld. 7 00:00:27,800 --> 00:00:30,950 Het was echt een ontroerend verhaal, ik dacht van dit kruispunt van de 8 00:00:30,950 --> 00:00:35,210 echte wereld met echt overtuigend gebruik van technologie. 9 00:00:35,210 --> 00:00:39,785 >> Zodat het artikel was getiteld, "Een jongen oversleeps op de trein, maakt gebruik van Google Maps 10 00:00:39,785 --> 00:00:44,930 naar familie 25 jaar later vinden. "En de eerste paar alinea's waren, 11 00:00:44,930 --> 00:00:48,820 "Toen Saroo vijf jaar oud was ging hij met zijn oudere broer te bietsen voor 12 00:00:48,820 --> 00:00:51,830 veranderen op een passagierstrein in een stad ongeveer twee uur 13 00:00:51,830 --> 00:00:53,510 van zijn woonplaats. 14 00:00:53,510 --> 00:00:56,790 Saroo moe werd en sprong op een nabijgelegen trein waar hij dacht dat zijn 15 00:00:56,790 --> 00:00:58,880 broer was, dan viel in slaap. 16 00:00:58,880 --> 00:01:03,360 Toen hij wakker werd was hij in Calcutta, bijna 900 mijl afstand. 17 00:01:03,360 --> 00:01:05,770 Saroo probeerde zijn weg te vinden terug, maar hij wist niet 18 00:01:05,770 --> 00:01:07,260 de naam van zijn geboortestad. 19 00:01:07,260 --> 00:01:11,430 En als een klein ongeletterde jongen in een uitgestrekt stad vol vergeten kinderen hij had 20 00:01:11,430 --> 00:01:13,520 vrijwel geen kans op het krijgen van thuis. 21 00:01:13,520 --> 00:01:16,760 >> Hij was een straatkind voor een tijdje totdat een lokaal adoptiebureau verslaafd 22 00:01:16,760 --> 00:01:18,840 hem met een Australisch koppel die hem aan gebracht 23 00:01:18,840 --> 00:01:20,600 wonen in Hobart, Tasmanië. 24 00:01:20,600 --> 00:01:23,130 Saroo verhuisde, leerde Engels, en opgegroeid. 25 00:01:23,130 --> 00:01:27,450 Maar hij nooit gestopt op zoek naar zijn familie en zijn geboortestad. 26 00:01:27,450 --> 00:01:32,380 >> Decennia later, ontdekte hij Google Aarde en volgde het spoor sporen. 27 00:01:32,380 --> 00:01:36,140 En geeft zichzelf een voorgeschreven radius gebaseerd op hoe lang hij dacht dat hij was 28 00:01:36,140 --> 00:01:40,020 slaap en hoe snel dacht dat hij de trein ging, wist hij dat hij was opgegroeid 29 00:01:40,020 --> 00:01:43,930 in een warm klimaat, wist hij dat hij sprak Hindi als een kind, en hij was verteld 30 00:01:43,930 --> 00:01:46,160 dat hij zag eruit alsof hij was uit Oost-Indië. 31 00:01:46,160 --> 00:01:49,650 >> Eindelijk, na jaren van schuren de satelliet foto's, hij 32 00:01:49,650 --> 00:01:51,340 herkende een paar monumenten. 33 00:01:51,340 --> 00:01:54,180 En na het chatten met een beheerder van een nabijgelegen stad 34 00:01:54,180 --> 00:01:57,740 Facebook-pagina, besefte hij hij had thuis gevonden. " 35 00:01:57,740 --> 00:02:03,770 >> Dus hier is dan de video vertellen dat verhaal vanuit zijn perspectief. 36 00:02:03,770 --> 00:02:04,025 >> [VIDEO AFSPELEN] 37 00:02:04,025 --> 00:02:07,480 >> -Het was 26 jaar geleden en ik was gewoon over te schakelen vijf. 38 00:02:07,480 --> 00:02:10,539 We kregen aan het station en We stapten een trein samen. 39 00:02:10,539 --> 00:02:13,390 Mijn broer zei net dat ik blijf hier en ik kom terug. 40 00:02:13,390 --> 00:02:16,363 En ik dacht, nou, weet je, ik kan net zo goed gewoon gaan slapen en 41 00:02:16,363 --> 00:02:17,950 dan zal hij me gewoon wakker. 42 00:02:17,950 --> 00:02:21,740 En als ik wakker word de volgende dag, de hele wagen was leeg op een op hol geslagen 43 00:02:21,740 --> 00:02:24,305 trein, een spooktrein nemen me Ik weet niet waar. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Ik werd aangenomen naar Australië een Australische familie. 46 00:02:31,660 --> 00:02:35,360 En Mam had mijn kamer met versierde de kaart van India, die ze 47 00:02:35,360 --> 00:02:37,090 zet naast mijn bed. 48 00:02:37,090 --> 00:02:42,170 Ik werd wakker elke ochtend te zien dat de kaart, en dus het soort hield de 49 00:02:42,170 --> 00:02:43,740 herinneringen levend. 50 00:02:43,740 --> 00:02:46,475 >> Mensen zouden zeggen, je probeert te vinden van een naald in een hooiberg. 51 00:02:46,475 --> 00:02:49,060 Saroo, je zult het nooit vinden. 52 00:02:49,060 --> 00:02:52,510 Ik zou flitsen van de plaatsen die moeten Ik gebruikte om te gaan, de flitsen 53 00:02:52,510 --> 00:02:55,050 van de gezichten van mijn familie. 54 00:02:55,050 --> 00:02:59,200 Er was het beeld van mijn moeder zitten neer met haar benen gekruist 55 00:02:59,200 --> 00:03:00,610 gewoon kijken naar haar huilen. 56 00:03:00,610 --> 00:03:03,340 Het leven is net zo moeilijk. 57 00:03:03,340 --> 00:03:06,002 Dat was mijn schat. 58 00:03:06,002 --> 00:03:09,390 >> En ik was op zoek in Google Map en realiseerde er is Google Earth ook. 59 00:03:09,390 --> 00:03:13,560 In een wereld waar je kan inzoomen op I begon al deze gedachten en 60 00:03:13,560 --> 00:03:16,650 wat mogelijkheden die dit kon doen voor mij. 61 00:03:16,650 --> 00:03:19,520 Ik zei tegen mezelf, nou ja, je weet wel, je hebt alle fotografische 62 00:03:19,520 --> 00:03:22,340 herinneringen en monumenten waar je bent uit en je weet wat 63 00:03:22,340 --> 00:03:23,460 de stad eruit ziet. 64 00:03:23,460 --> 00:03:27,910 Dit zou een toepassing kunnen zijn dat u kunt gebruiken om je weg terug te vinden. 65 00:03:27,910 --> 00:03:32,750 >> Ik dacht, nou, ik zal een punt op Calcutta treinstation in een straal 66 00:03:32,750 --> 00:03:36,350 lijn die je moet zoeken rond dit gebied. 67 00:03:36,350 --> 00:03:38,850 Ik kwam deze treinsporen. 68 00:03:38,850 --> 00:03:44,490 En ik begon na het en ik kwam tot een treinstation dat het gevolg van de 69 00:03:44,490 --> 00:03:48,260 hetzelfde beeld dat was in mijn herinneringen. 70 00:03:48,260 --> 00:03:49,730 >> Alles op elkaar afgestemd. 71 00:03:49,730 --> 00:03:50,800 Ik dacht, yep. 72 00:03:50,800 --> 00:03:51,545 Ik weet waar ik heen ga. 73 00:03:51,545 --> 00:03:55,387 Ik ben gewoon gaan om een ​​plan te laten dat ik heb in mijn hoofd om me te leiden en mij 74 00:03:55,387 --> 00:03:58,230 terug naar mijn woonplaats. 75 00:03:58,230 --> 00:04:02,290 >> Ik kwam aan de deur van het huis dat ik ben geboren en liep rond 76 00:04:02,290 --> 00:04:04,270 ongeveer vijftien meter om de hoek. 77 00:04:04,270 --> 00:04:08,140 Er werd drie dames die buiten naast elkaar. 78 00:04:08,140 --> 00:04:10,230 En de middelste stapte naar voren. 79 00:04:10,230 --> 00:04:12,910 En ik dacht, dit is je moeder. 80 00:04:12,910 --> 00:04:18,590 Ze kwam naar voren, ze omhelsde me, en we waren er voor ongeveer vijf minuten. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Ze pakte mijn hand en ze nam me mee naar het huis en kreeg aan de telefoon en ze 83 00:04:25,787 --> 00:04:31,110 belde mijn zus en mijn broer om te zeggen dat je broer heeft net al het 84 00:04:31,110 --> 00:04:34,480 plotseling verscheen als een geest. 85 00:04:34,480 --> 00:04:37,590 >> En toen de familie was weer herenigd. 86 00:04:37,590 --> 00:04:38,570 Alles is al goed. 87 00:04:38,570 --> 00:04:40,250 Ik help mijn moeder uit. 88 00:04:40,250 --> 00:04:42,240 Ze hoeft niet weg te zwoegen. 89 00:04:42,240 --> 00:04:45,040 Ze kan de rest van leiden haar leven in vrede. 90 00:04:45,040 --> 00:04:48,590 >> Het was een naald in een hooiberg, maar de naald was er. 91 00:04:48,590 --> 00:04:49,530 Alles is er. 92 00:04:49,530 --> 00:04:53,410 Alles wat we hebben in de wereld is de kraan van een knop. 93 00:04:53,410 --> 00:04:57,375 Maar je moet de wil hebben en de vastberadenheid om het te willen. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [END VIDEO AFSPELEN] 96 00:05:02,780 --> 00:05:04,220 >> Dus een heel lief verhaal. 97 00:05:04,220 --> 00:05:08,430 En het eigenlijk doet me denken aan een heel onderwerp dat is al het krijgen van heel wat 98 00:05:08,430 --> 00:05:11,200 van de aandacht van laat in The Crimson, meer nationaal in het algemeen. 99 00:05:11,200 --> 00:05:13,620 Vooral als MOOCs nemen het stadium van de late. 100 00:05:13,620 --> 00:05:17,370 MOOCs dat deze enorme en geopend online cursussen waarvan CS50 is een. 101 00:05:17,370 --> 00:05:20,680 >> En mensen praten over hoe, voor Zo, de geesteswetenschappen zijn niet echt 102 00:05:20,680 --> 00:05:23,900 inhalen of zijn lang niet zo in de mode als ze ooit waren. 103 00:05:23,900 --> 00:05:26,680 En ik wil jullie aanmoedigen, veel als Jonathan deed op maandag, om na te denken 104 00:05:26,680 --> 00:05:29,900 ongeveer zoals u afrit 50, en we weten al ongeveer 50% van je wil niet 105 00:05:29,900 --> 00:05:32,480 verder naar een andere computer over te nemen wetenschap natuurlijk, en dat is helemaal 106 00:05:32,480 --> 00:05:33,770 fijn en verwacht. 107 00:05:33,770 --> 00:05:36,620 Omdat een van de overkoepelende doelstellingen van een klasse als dit is echt te 108 00:05:36,620 --> 00:05:39,790 machtigen jullie met slechts een inzicht in hoe al deze spullen 109 00:05:39,790 --> 00:05:41,760 werkt en hoe deze wereld technologie werken. 110 00:05:41,760 --> 00:05:45,400 >> Zodat wanneer je terug bent in uw eigen werelden, of het nu pre-med of 111 00:05:45,400 --> 00:05:48,270 of het nu de geesteswetenschappen of de sociale wetenschappen of een ander veld 112 00:05:48,270 --> 00:05:51,830 geheel, dat jullie brengen enkele technische savvy om de tafel en 113 00:05:51,830 --> 00:05:54,770 helpen om slimme beslissingen te nemen bij het gaat om het gebruik en 114 00:05:54,770 --> 00:05:57,530 invoering van de technologie in uw wereld. 115 00:05:57,530 --> 00:06:00,410 >> Zo moest ik denken aan de late Ook twee van de undergraduate 116 00:06:00,410 --> 00:06:04,410 klassen Ik nam twee jaar geleden, die waren dergelijke eenvoudige technologiegebruik 117 00:06:04,410 --> 00:06:06,180 maar ooit zo overtuigend. 118 00:06:06,180 --> 00:06:08,845 Eerste nachten met professor Tom Kelly als je de klas hebt genomen. 119 00:06:08,845 --> 00:06:11,640 Het is een les over klassieke muziek op dit stadium hier waar je leert een 120 00:06:11,640 --> 00:06:13,190 beetje iets over muziek. 121 00:06:13,190 --> 00:06:17,770 Het is eigenlijk de eerste nachten dat CS50 leende het idee van de tracks voor die 122 00:06:17,770 --> 00:06:20,630 minder comfortabel tussen en comfortabeler. 123 00:06:20,630 --> 00:06:24,410 >> In mijn tijd hadden ze verschillende tracks voor kinderen met absoluut geen muziek 124 00:06:24,410 --> 00:06:27,300 ervaren zoals ik, en dan kinderen die was het uitvoeren aangezien ze waren 125 00:06:27,300 --> 00:06:28,240 vijf jaar oud. 126 00:06:28,240 --> 00:06:31,200 En die klasse, bijvoorbeeld, had net een website zoals de meeste andere, maar het 127 00:06:31,200 --> 00:06:34,210 was een website die toegestaan ​​u muziek ontdekken op en af ​​te spelen 128 00:06:34,210 --> 00:06:39,120 muzikale clips uit de klas, van het web, en gewoon gebruik maken van technologie in een zeer 129 00:06:39,120 --> 00:06:40,210 naadloze manier. 130 00:06:40,210 --> 00:06:44,460 >> Een andere klasse jaren later dat ik gecontroleerd, in wezen, in grad school, 131 00:06:44,460 --> 00:06:47,430 Anthro 1010, Inleiding tot de archeologie hier. 132 00:06:47,430 --> 00:06:48,190 Het was geweldig. 133 00:06:48,190 --> 00:06:52,715 En een van de meest dwingende nog super duidelijk, achteraf gezien, maakt gebruik van 134 00:06:52,715 --> 00:06:56,000 software was dat de professoren in die klasse Google Earth gebruikt. 135 00:06:56,000 --> 00:06:58,250 We waren aan de overkant zitten in sommige collegezaal. 136 00:06:58,250 --> 00:07:01,240 En je kon niet reizen, bijvoorbeeld, naar het Midden-Oosten aan de graven die ene 137 00:07:01,240 --> 00:07:04,530 van de hoogleraren net terug op was gekomen, maar we konden dat vrijwel doen door 138 00:07:04,530 --> 00:07:07,870 rondvliegen in Google Earth en kijken naar een vogelperspectief bij de 139 00:07:07,870 --> 00:07:10,360 graven terrein hij net terug was van een week geleden. 140 00:07:10,360 --> 00:07:12,630 >> Dus zou ik jullie aanmoedigen, met name in de geesteswetenschappen, om te gaan 141 00:07:12,630 --> 00:07:16,260 terug naar die departementen na deze klasse brengen van uw laatste projecten 142 00:07:16,260 --> 00:07:19,960 met u of ideeën van je eigen, en zie precies wat je kunt doen om uw bezielen 143 00:07:19,960 --> 00:07:23,570 eigen velden in geesteswetenschappen of daarbuiten met een beetje van dit soort 144 00:07:23,570 --> 00:07:26,770 ding dat we hebben onderzocht hier in CS50. 145 00:07:26,770 --> 00:07:31,790 >> Dus met dat beeld geschilderd, dacht we zouden proberen om twee dingen te pakken vandaag. 146 00:07:31,790 --> 00:07:35,040 , Probeer je een gevoel van geven waar u kunt gaan na 50. 147 00:07:35,040 --> 00:07:37,950 En in het bijzonder, als je ervoor kiest om aanpakken van een web-based project is 148 00:07:37,950 --> 00:07:42,580 ongelooflijk vaak, hoe je kunt gaan over opstijgen al CS50's 149 00:07:42,580 --> 00:07:45,810 zijwieltjes en gaan daar op je eigen en niet hoeft te rekenen op een 150 00:07:45,810 --> 00:07:48,000 PDF of een specificatie van een pset? 151 00:07:48,000 --> 00:07:50,510 Niet hoeft te rekenen op een CS50 apparaat niet meer. 152 00:07:50,510 --> 00:07:52,780 Maar kan je echt trek up aan je laarzen. 153 00:07:52,780 --> 00:07:55,790 >> Met dat gezegd, C-gebaseerd finale projecten zijn welkom. 154 00:07:55,790 --> 00:07:58,020 Dingen die de standaard gebruikt voor een draagbare bibliotheek 155 00:07:58,020 --> 00:07:59,510 graphics zijn welkom. 156 00:07:59,510 --> 00:08:03,240 We weten gewoon dat statistisch gezien veel mensen afbijten projecten in PHP en 157 00:08:03,240 --> 00:08:07,860 Python en Ruby en MySQL en andere omgevingen, dus we zullen vooringenomenheid aantal van 158 00:08:07,860 --> 00:08:09,570 onze opmerkingen in de richting van dat. 159 00:08:09,570 --> 00:08:10,650 >> Maar een snelle blik terug. 160 00:08:10,650 --> 00:08:15,940 Dus namen we voor lief in pset7 de feit dat $ _SESSION bestond. 161 00:08:15,940 --> 00:08:19,400 Dit was een super globaal, wereldwijd, associatieve array. 162 00:08:19,400 --> 00:08:23,040 En wat betekent dit laten doen? 163 00:08:23,040 --> 00:08:27,130 Functioneel, wat is de over dit geeft ons? 164 00:08:27,130 --> 00:08:28,590 Yeah? 165 00:08:28,590 --> 00:08:30,270 Naar ID van de gebruiker te volgen. 166 00:08:30,270 --> 00:08:31,660 En waarom is dit nuttig? 167 00:08:31,660 --> 00:08:36,059 Om te kunnen naar binnen slaan van deze super wereldwijde JHarvard of [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 of Malan's gebruikers-ID, toen hij of zij een site bezoeken. 169 00:08:41,880 --> 00:08:42,380 >> Precies. 170 00:08:42,380 --> 00:08:44,049 Dus je hoeft niet in te loggen in opnieuw en opnieuw. 171 00:08:44,049 --> 00:08:47,170 Het zou een echt lame world wide web te zijn Als elke keer dat je een link hebt geklikt 172 00:08:47,170 --> 00:08:50,780 op een site als Facebook of elke keer U klikte op een e-mail in Gmail je 173 00:08:50,780 --> 00:08:54,060 moest opnieuw authenticeren om te bewijzen dat het is nog steeds jij en niet je huisgenoot 174 00:08:54,060 --> 00:08:56,700 die zou hebben liep naar uw computer in uw afwezigheid. 175 00:08:56,700 --> 00:08:59,640 >> Dus gebruiken we SESSION om gewoon herinneren wie je bent. 176 00:08:59,640 --> 00:09:01,830 En hoe wordt dit geïmplementeerd onder de motorkap? 177 00:09:01,830 --> 00:09:07,720 Hoe werkt een website die gebruik maakt van de protocol dat webbrowsers en servers 178 00:09:07,720 --> 00:09:12,060 spreken, hoe werkt HTTP, dat is een stateless protocol, laten we zeggen. 179 00:09:12,060 --> 00:09:15,510 >> En door staatloze Ik bedoel, als je eenmaal verbinding met een website, download een aantal 180 00:09:15,510 --> 00:09:19,650 HTMLs, sommige JavaScript, sommige CSS, uw icon browser stopt met draaien. 181 00:09:19,650 --> 00:09:23,420 U hoeft niet een constante verbinding hebben naar de server meestal. 182 00:09:23,420 --> 00:09:24,170 Dat is het. 183 00:09:24,170 --> 00:09:26,290 Er is geen toestand gehandhaafd voortdurend. 184 00:09:26,290 --> 00:09:30,510 Dus hoe is SESSION uitgevoerd op een manier dat iedere keer dat je een bezoek aan een 185 00:09:30,510 --> 00:09:32,860 nieuwe pagina, de website onthoudt wie je bent? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Wat is de onderliggende implementatie detail? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Schreeuw het uit. 190 00:09:41,490 --> 00:09:43,270 Het is een woord. 191 00:09:43,270 --> 00:09:43,640 >> Cookies. 192 00:09:43,640 --> 00:09:44,190 Oke. 193 00:09:44,190 --> 00:09:44,800 Dus cookies. 194 00:09:44,800 --> 00:09:45,900 Nou ja, hoe worden cookies gebruikt? 195 00:09:45,900 --> 00:09:48,870 We zullen zich herinneren dat een cookie is algemeen gewoon een stukje informatie. 196 00:09:48,870 --> 00:09:51,590 En het is vaak een grote willekeurige nummer, maar niet altijd. 197 00:09:51,590 --> 00:09:55,420 En een koekje is geplant op uw harde schijf of in het RAM van uw computer, zodat 198 00:09:55,420 --> 00:09:59,070 dat elke keer als je dat zelfde opnieuw website, uw browser herinnert de 199 00:09:59,070 --> 00:10:01,650 server, Ik ben gebruiker 1234567. 200 00:10:01,650 --> 00:10:03,570 Ik ben gebruiker 1234567. 201 00:10:03,570 --> 00:10:07,590 >> En zolang de server heeft onthouden die gebruiker 1234567 is 202 00:10:07,590 --> 00:10:11,300 JHarvard, zal de website gewoon aannemen dat je bent wie je zegt te zijn. 203 00:10:11,300 --> 00:10:14,230 En herinneren dat we presenteren deze cookies soort in de vorm van een 204 00:10:14,230 --> 00:10:15,510 virtuele handtribune. 205 00:10:15,510 --> 00:10:20,530 Het is in de HTTP-headers gestuurd gewoon om herinneren aan de server die je bent wie het 206 00:10:20,530 --> 00:10:21,620 denkt dat je bent. 207 00:10:21,620 --> 00:10:23,320 >> Natuurlijk, er is een bedreiging. 208 00:10:23,320 --> 00:10:27,530 Welke dreiging gaat deze opent ons tot wanneer we zijn wezen met een soort van een club 209 00:10:27,530 --> 00:10:30,110 of een pretpark mechanisme voor het herinneren wie we zijn? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Als je iemands koekje kopiëren en kapen hun sessie, om zo te zeggen, u 212 00:10:36,170 --> 00:10:39,670 kan doen als iemand anders en het zijn website het meest waarschijnlijk is gewoon te 213 00:10:39,670 --> 00:10:40,150 geloof je. 214 00:10:40,150 --> 00:10:41,030 Dus we zullen terugkomen naar dat. 215 00:10:41,030 --> 00:10:44,240 Omdat de andere thema voor vandaag voorbij empowerment 'is ook praten 216 00:10:44,240 --> 00:10:48,170 over de zeer enge wereld waarin we leven en hoe veel van wat je doet op 217 00:10:48,170 --> 00:10:51,480 het web, hoeveel van wat je nog doet op uw mobiele telefoons vandaag de dag kan worden 218 00:10:51,480 --> 00:10:55,170 echt bijgehouden door iedereen tussen u en punt B. 219 00:10:55,170 --> 00:10:56,240 >> En Ajax, terugroepen. 220 00:10:56,240 --> 00:10:58,740 We keken slechts kort op dit, hoewel u al gebruik van het 221 00:10:58,740 --> 00:11:02,660 indirect in pset8 want je gebruikt Google Maps en omdat je 222 00:11:02,660 --> 00:11:03,830 met behulp van Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps en Google Earth niet downloaden de hele wereld aan uw 224 00:11:07,780 --> 00:11:10,490 desktop, uiteraard, de moment dat u laadt pset8. 225 00:11:10,490 --> 00:11:15,020 Het downloadt slechts een plein van de wereld of een groter plein van de aarde. 226 00:11:15,020 --> 00:11:18,910 En dan elke keer dat je soort van sturen buiten bereik je misschien opmerken - 227 00:11:18,910 --> 00:11:21,790 vooral als op een trage verbinding - u zou kunnen zien wat grijze voor een moment 228 00:11:21,790 --> 00:11:26,440 of een beetje van vage beelden als de computer downloads meer van dergelijke tegels, 229 00:11:26,440 --> 00:11:29,190 meer van dergelijke beelden uit de wereld of de aarde. 230 00:11:29,190 --> 00:11:34,620 >> En Ajax is over het algemeen de techniek door die websites die aan het doen zijn. 231 00:11:34,620 --> 00:11:39,250 Zodra je meer van de kaart, uw browser gaat naar Ajax, dat is gebruikt 232 00:11:39,250 --> 00:11:42,240 niet zelf een taal of technologie, het is gewoon een techniek. 233 00:11:42,240 --> 00:11:47,390 Het is het gebruik van JavaScript te gaan halen meer informatie van een server die 234 00:11:47,390 --> 00:11:52,320 maakt uw browser te gaan halen wat er aan het oosten of wat er aan de westkant van 235 00:11:52,320 --> 00:11:55,110 wat er momenteel anders wordt in genoemde map. 236 00:11:55,110 --> 00:11:58,520 Dus dit is een onderwerp dat veel van jullie zal direct of tegenkomen 237 00:11:58,520 --> 00:12:01,180 indirect via afstudeeropdrachten als u kiezen voor iets dat te maken 238 00:12:01,180 --> 00:12:05,020 dezelfde dynamiek die de trekken van gegevens van enkele website van derden. 239 00:12:05,020 --> 00:12:07,390 >> Dus we hebben een echt spannend volgende week woensdag vooruit. 240 00:12:07,390 --> 00:12:12,280 Quiz ene, de inlichtingen waarvoor is op CS50.net reeds. 241 00:12:12,280 --> 00:12:17,530 Weet dat er een review sessie zal deze komende maandag om 05:30. 242 00:12:17,530 --> 00:12:21,010 De datum en tijd is al gepost op CS50.net in die Over sheet. 243 00:12:21,010 --> 00:12:22,940 En laat het ons weten dat u Voor vragen. 244 00:12:22,940 --> 00:12:25,230 Pset8 ondertussen al in uw handen. 245 00:12:25,230 --> 00:12:29,210 >> En laat ik alleen betrekking hebben op een FAQ om mensen te redden wat stress. 246 00:12:29,210 --> 00:12:32,530 Voor het grootste deel veel van de chatter we zien op kantooruren en veel 247 00:12:32,530 --> 00:12:36,950 de insecten zien we gerapporteerd over Discuss zijn inderdaad bugs in de code van een student. 248 00:12:36,950 --> 00:12:41,360 Maar als je iets bent tegengekomen zoals de Google Earth plug-in crasht 249 00:12:41,360 --> 00:12:44,310 of zelfs niet werken en je bent ervan overtuigd dat het je niet, het is niet een 250 00:12:44,310 --> 00:12:48,530 [? chamad?] kwestie, is geen bug je in de ingevoerde 251 00:12:48,530 --> 00:12:49,820 verdeelsleutel. 252 00:12:49,820 --> 00:12:51,250 >> Beseffen FYI - 253 00:12:51,250 --> 00:12:53,130 Dit is een soort van plan van Z - 254 00:12:53,130 --> 00:12:57,100 dat de laatste keer dat we dit probleem gebruikt ingesteld en we liepen tegen vergelijkbare 255 00:12:57,100 --> 00:13:01,520 kwesties, is er een regel code in service.js die in wezen is dit, 256 00:13:01,520 --> 00:13:03,580 dat zegt, zet gebouwen op. 257 00:13:03,580 --> 00:13:07,100 En ze werken rond de laatste keer dat we deed dit in, wederom, hoek gevallen waarin 258 00:13:07,100 --> 00:13:11,660 studenten kon gewoon niet de darn krijgen ding aan het werk is verandering true in false 259 00:13:11,660 --> 00:13:12,940 in die ene regel code. 260 00:13:12,940 --> 00:13:15,520 En u zult het vinden als je zoekt door service.js. 261 00:13:15,520 --> 00:13:19,990 >> Ik beveel dit niet omdat je wil maken van de meest dorre landschap 262 00:13:19,990 --> 00:13:21,720 van Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Dit zal letterlijk plat uw wereld zodat alles wat je ziet zijn het onderwijs 264 00:13:24,930 --> 00:13:28,610 bursalen en natuurlijk assistenten op de horizon en geen gebouwen. 265 00:13:28,610 --> 00:13:31,980 Maar realiseren om welke reden de Google Earth plug-in lijkt nog steeds te zijn 266 00:13:31,980 --> 00:13:35,290 buggy een jaar later, dus deze misschien wel uw fail slaan. 267 00:13:35,290 --> 00:13:38,915 Dus in plaats van toevlucht te nemen tot tranen, toevlucht te draaien van gebouwen af ​​als je weet 268 00:13:38,915 --> 00:13:41,980 het is de plug-in die niet is samenwerken op je Mac of pc. 269 00:13:41,980 --> 00:13:46,060 Maar, dit is weer laatste redmiddel als weet je zeker dat het niet een bug. 270 00:13:46,060 --> 00:13:46,890 >> Dus de Hackathon. 271 00:13:46,890 --> 00:13:48,950 Een paar teasers net om u enthousiast te krijgen. 272 00:13:48,950 --> 00:13:50,640 We hadden een flink aantal RSVPs. 273 00:13:50,640 --> 00:13:54,230 En alleen maar om een ​​beeld van wat verf wacht, ik dacht dat ik je een paar geven 274 00:13:54,230 --> 00:13:56,858 seconden herinneren van deze beelden van vorig jaar. 275 00:13:56,858 --> 00:14:00,850 >> [MUZIEK] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. Malan: Wacht, oh. 277 00:14:02,240 --> 00:14:05,410 We hebben zelfs onze letterlijke CS50 shuttles. 278 00:14:05,410 --> 00:14:17,920 >> [MUZIEK] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. Malan: Dus dat is wat wacht u in termen van de Hackathon. 280 00:14:20,620 --> 00:14:24,180 En dit zal een gelegenheid zijn, om duidelijk zijn, niet om te beginnen met uw laatste 281 00:14:24,180 --> 00:14:27,730 projecten, maar te blijven werken aan je laatste projecten naast 282 00:14:27,730 --> 00:14:30,210 klasgenoten en personeel en veel eten. 283 00:14:30,210 --> 00:14:34,340 En nogmaals, als je wakker bent om 05:00 we brengen je op de weg naar IHOP. 284 00:14:34,340 --> 00:14:37,075 >> De CS50 beurs, ondertussen, is de climax voor de hele klas, waar 285 00:14:37,075 --> 00:14:41,160 je zult breng je laptops en vrienden, misschien zelfs familie naar een kamer op de campus 286 00:14:41,160 --> 00:14:44,530 in de straat aan uw projecten tentoon op laptops, op hoge tafels 287 00:14:44,530 --> 00:14:47,570 als deze met veel eten en vrienden en muziek op de achtergrond, 288 00:14:47,570 --> 00:14:49,250 evenals onze vrienden uit de industrie. 289 00:14:49,250 --> 00:14:52,760 Bedrijven als Facebook en Microsoft en Google en Amazon en trossen van 290 00:14:52,760 --> 00:14:55,750 anderen, zodat als belanghebbende in slechts horen over de echte wereld of 291 00:14:55,750 --> 00:14:59,570 chatten met mensen over de echte wereld stage of full-time mogelijkheden, 292 00:14:59,570 --> 00:15:01,950 weten dat sommige van onze vrienden uit de industrie zal er zijn. 293 00:15:01,950 --> 00:15:04,970 En een paar foto's die we kunnen verf zijn hier als volgt. 294 00:15:04,970 --> 00:15:24,400 >> [MUZIEK] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. Malan: Oke. 296 00:15:24,920 --> 00:15:27,060 Dus dat is dan de CS50 beurs. 297 00:15:27,060 --> 00:15:31,780 Dus laten we nu overgaan tot een verhaal te vertellen die echt je hopelijk zal machtigen 298 00:15:31,780 --> 00:15:33,230 voor zaken als de definitieve projecten. 299 00:15:33,230 --> 00:15:36,940 Dus een van de weinige kleine dingen om zaad uw geest, hetzij voor afstudeeropdrachten 300 00:15:36,940 --> 00:15:40,470 of gewoon meer in het algemeen voor projecten die je zou besluiten om te pakken na 301 00:15:40,470 --> 00:15:45,720 de cursus, deze zijn allemaal gedocumenteerd op manual.cs50.net waar de CS50 302 00:15:45,720 --> 00:15:48,010 handleiding, waar we veel technieken gedocumenteerd. 303 00:15:48,010 --> 00:15:51,080 >> En dit is slechts korte notatie voor zeggen dat er in de 304 00:15:51,080 --> 00:15:55,190 wereld dingen geroepen SMS naar e-mail gateways, dat is een mooie manier om 305 00:15:55,190 --> 00:15:58,180 zeggen, is er servers in de wereld die weet hoe je e-mails om te zetten in 306 00:15:58,180 --> 00:15:59,230 tekstberichten. 307 00:15:59,230 --> 00:16:02,450 Dus als je laatste project dat u wilt om een ​​soort van mobiele thema maken 308 00:16:02,450 --> 00:16:06,650 dienst die u toelaat om vrienden te waarschuwen of gebruikers om gebeurtenissen op de campus 309 00:16:06,650 --> 00:16:10,290 of wat er wordt geserveerd in de D Hall die nacht of een dergelijke waarschuwing functie, 310 00:16:10,290 --> 00:16:15,150 weten dat het eenvoudig als het versturen van een email als met PHPMailer die u 311 00:16:15,150 --> 00:16:18,735 zou hebben gebruikt voor pset7 of we zagen kort een week of zo geleden, te 312 00:16:18,735 --> 00:16:20,440 adressen als deze. 313 00:16:20,440 --> 00:16:26,040 >> En in feite kun je tekst deze veronderstelling je vriend heeft een onbeperkt sms'en 314 00:16:26,040 --> 00:16:28,310 plan en u niet wilt op te laden $ 0,10. 315 00:16:28,310 --> 00:16:31,920 Maar als je een e-mail naar uw vriend wie je kent om Verizon hebben of 316 00:16:31,920 --> 00:16:35,870 AT & T met Gmail en gewoon op te sturen hun telefoonnummer op, ongeacht de 317 00:16:35,870 --> 00:16:38,980 subdomein er is, besef je zal een tekstbericht te verzenden. 318 00:16:38,980 --> 00:16:41,570 >> Maar dit is een van die dingen om voorzichtig te zijn van. 319 00:16:41,570 --> 00:16:47,430 Als je troll door CS50 van vorig jaar video Ik denk dat het was, een gruwelijke, 320 00:16:47,430 --> 00:16:51,660 gruwelijke, gruwelijke bug schreef ik in code belandde het verzenden ongeveer 20.000 tekst 321 00:16:51,660 --> 00:16:55,410 boodschappen leven om onze studenten in de klas. 322 00:16:55,410 --> 00:16:57,970 En alleen omdat iemand opgevallen dat ze kregen meerdere tekst 323 00:16:57,970 --> 00:17:01,860 berichten van mij had ik het middelen om controle C snel geraakt 324 00:17:01,860 --> 00:17:03,210 en stoppen met dat proces. 325 00:17:03,210 --> 00:17:06,200 Controle C, u herinnert, is je vriend in gevallen van oneindige lus. 326 00:17:06,200 --> 00:17:10,900 Dus pas op de macht die we net hebben gegeven aan u liever onverantwoord, de meeste 327 00:17:10,900 --> 00:17:12,950 waarschijnlijk, gebaseerd op mijn eigen ervaring. 328 00:17:12,950 --> 00:17:15,400 Maar dat is op het web en heeft er al enige tijd. 329 00:17:15,400 --> 00:17:15,810 >> Oke. 330 00:17:15,810 --> 00:17:17,064 Zo textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Dus dit is een website. 332 00:17:18,040 --> 00:17:20,829 En er is trossen van anderen die er zo goed dat we eigenlijk hebben gebruikt 333 00:17:20,829 --> 00:17:24,050 als een klasse voor de komende jaren te kunnen om tekstberichten te ontvangen. 334 00:17:24,050 --> 00:17:27,869 Helaas, het verzenden van SMS-berichten is eenvoudig als het verzenden van e-mails als dat. 335 00:17:27,869 --> 00:17:30,730 Het ontvangen is een beetje moeilijker, vooral als je wilt een van hebben 336 00:17:30,730 --> 00:17:34,610 die sexy korte codes dat is alleen vijf of zes cijfers lang. 337 00:17:34,610 --> 00:17:37,720 >> Dus bijvoorbeeld, jarenlang u geweest in staat om een ​​SMS-bericht - en je 338 00:17:37,720 --> 00:17:39,200 kan proberen dit ook - 339 00:17:39,200 --> 00:17:41,900 naar 41.411. 340 00:17:41,900 --> 00:17:44,300 En dat is het telefoonnummer voor dit opstarten. 341 00:17:44,300 --> 00:17:48,130 En als je een bericht sturen naar 41411 - 342 00:17:48,130 --> 00:17:51,190 Ik schrijf het hier, dus 41.411 - 343 00:17:51,190 --> 00:17:54,290 en vervolgens een bericht sturen graag SBOY voor Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 En typ in iets zoals mather quad. 345 00:17:56,370 --> 00:17:59,360 Dus u dat tekstbericht verzenden naar dat nummer. 346 00:17:59,360 --> 00:18:02,630 Binnen een paar seconden je moet terug te krijgen een reactie van de CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Jongen service, dat is de shuttle scheduling software die we hebben gehad op 348 00:18:06,210 --> 00:18:07,290 er op het web voor bepaalde tijd. 349 00:18:07,290 --> 00:18:09,450 En het zal reageren u via sms. 350 00:18:09,450 --> 00:18:13,410 >> Want wat we hebben gedaan als een klasse, zoals een programmeur is om software te schrijven, 351 00:18:13,410 --> 00:18:18,760 geconfigureerde onze gratis account met tekst merken te luisteren voor tekstberichten verzonden 352 00:18:18,760 --> 00:18:20,770 te SBOY op dat nummer. 353 00:18:20,770 --> 00:18:25,210 En wat ze doen is naar voren die tekst berichten naar onze PHP-gebaseerde website als 354 00:18:25,210 --> 00:18:27,420 HTTP parameters zeggen, hier. 355 00:18:27,420 --> 00:18:30,380 Deze gebruiker met dit telefoonnummer stuurde u dit SMS-bericht. 356 00:18:30,380 --> 00:18:31,850 Doe ermee wat je wilt. 357 00:18:31,850 --> 00:18:35,180 >> Dus schreven we wat software die op het ontvangen van een string als SBOY mather 358 00:18:35,180 --> 00:18:38,420 quad, ontleden we het. 359 00:18:38,420 --> 00:18:41,210 We achterhalen waar de ruimtes zijn tussen de woorden. 360 00:18:41,210 --> 00:18:44,220 En wij als een klasse te beslissen hoe te reageren op dat. 361 00:18:44,220 --> 00:18:47,335 En als je dat nu proberen, bijvoorbeeld, je moet zien, via antwoord binnen een 362 00:18:47,335 --> 00:18:51,470 enkele seconden, de komende paar shuttles gaan van mather naar de quad indien van toepassing. 363 00:18:51,470 --> 00:18:52,260 En er is andere haltes. 364 00:18:52,260 --> 00:18:56,060 U kunt typen in Boylston of andere dergelijke stopt op de campus, en het moet 365 00:18:56,060 --> 00:18:57,760 herkennen die woorden. 366 00:18:57,760 --> 00:18:58,590 >> Zo parse.com. 367 00:18:58,590 --> 00:19:01,630 Dit is een andere dienst die we ooit geweest ben wijzend sommige studenten op voor 368 00:19:01,630 --> 00:19:04,390 afstudeerprojecten dat is prachtig in dat het gratis is voor een 369 00:19:04,390 --> 00:19:05,660 redelijke mate van gebruik. 370 00:19:05,660 --> 00:19:08,820 En als ik naar parse.com je zult zien dat dit een alternatief 371 00:19:08,820 --> 00:19:13,230 eigenlijk hebben van iets als uw eigen MySQL database. 372 00:19:13,230 --> 00:19:14,490 En eerlijk gezegd, het is gewoon soort fascinerend. 373 00:19:14,490 --> 00:19:17,450 Dit is wat er in de wolk zelfs op een bewolkte dag. 374 00:19:17,450 --> 00:19:21,580 >> Dus parse.com kunt u een doen stelletje interessante dingen. 375 00:19:21,580 --> 00:19:23,610 En er is andere alternatieven deze die er zijn. 376 00:19:23,610 --> 00:19:26,870 Bijvoorbeeld, kunt u ze gebruiken als uw back-end database. 377 00:19:26,870 --> 00:19:28,980 Dus je hoeft niet te hebben een web hosting bedrijf. 378 00:19:28,980 --> 00:19:31,180 U hoeft niet te hebben een MySQL database. 379 00:19:31,180 --> 00:19:32,850 U kunt in plaats daarvan gebruik maken van hun back-end. 380 00:19:32,850 --> 00:19:36,350 >> Als je doet een mobiel project voor Android of iOS of dergelijke, dat 381 00:19:36,350 --> 00:19:39,776 bestaat er dingen zoals push-diensten dus je kunt waarschuwingen door aan uw vrienden 382 00:19:39,776 --> 00:19:41,390 of uw gebruikers 'home screens. 383 00:19:41,390 --> 00:19:43,600 En dan een heleboel andere functies ook. 384 00:19:43,600 --> 00:19:47,200 >> Dus als je interesse hebt, kijk dan op deze websites en websites als ze 385 00:19:47,200 --> 00:19:50,720 om te zien hoe veel andere volkeren ' schouders kun je staan ​​op te maken 386 00:19:50,720 --> 00:19:53,350 echt cool software van je eigen. 387 00:19:53,350 --> 00:19:56,690 >> Nu in termen van authenticatie, een FAQ, is hoe doe je dat eigenlijk garanderen 388 00:19:56,690 --> 00:20:01,220 dat uw gebruikers zijn mensen op de campus, Harvard studenten of docenten of medewerkers? 389 00:20:01,220 --> 00:20:05,350 Dus CS50 heeft zijn eigen authenticatie service genaamd CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Ga naar die URL en je kunt je beperken website voor iedereen met een Harvard 391 00:20:09,940 --> 00:20:11,340 ID, bijvoorbeeld. 392 00:20:11,340 --> 00:20:12,550 Dus weten dat we aankunnen dat. 393 00:20:12,550 --> 00:20:15,280 Jullie moet niet in het bedrijfsleven te zeggen, wat is je Harvard ID? 394 00:20:15,280 --> 00:20:16,160 Wat is je Harvard pincode? 395 00:20:16,160 --> 00:20:17,550 Laat me nu iets mee doen. 396 00:20:17,550 --> 00:20:18,740 Zullen we dat allemaal doen. 397 00:20:18,740 --> 00:20:21,710 En wat wij bellen u terug te geven is iemands naam en e-mailadres, maar 398 00:20:21,710 --> 00:20:23,010 niets gevoelig. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> Een app op een mobiel apparaat, kan het zijn gemaakt om te werken op een mobiel apparaat, maar 401 00:20:30,380 --> 00:20:32,630 het is niet helemaal voor gemaakt. 402 00:20:32,630 --> 00:20:35,640 Dus je zult uiteindelijk de uitgaven een niet triviale hoeveelheid tijd te doen. 403 00:20:35,640 --> 00:20:38,040 Dus ik zou ontmoedigen die route voor nu. 404 00:20:38,040 --> 00:20:41,570 Dit is echt bedoeld voor web-based applicaties. 405 00:20:41,570 --> 00:20:42,650 >> Dus webhosting. 406 00:20:42,650 --> 00:20:44,450 Dus als je nog niet gezien op de cursus homepage - 407 00:20:44,450 --> 00:20:46,610 en hier is waar we een verhaal zullen beginnen - 408 00:20:46,610 --> 00:20:50,900 web hosting is alles over het betalen voor meestal een dienst, host een server in eigendom 409 00:20:50,900 --> 00:20:54,800 door iemand anders op het web die een heeft IP-adres, en je zet dan je 410 00:20:54,800 --> 00:20:55,880 website op. 411 00:20:55,880 --> 00:20:58,620 En ze geven je email meestal accounts en databases 412 00:20:58,620 --> 00:21:00,160 en andere dergelijke functies. 413 00:21:00,160 --> 00:21:02,930 >> Weet dat als je niet wilt eigenlijk betalen voor een dergelijke, naar die URL 414 00:21:02,930 --> 00:21:06,280 daar en CS50 heeft eigenlijk een non-profit account die u kunt gebruiken om 415 00:21:06,280 --> 00:21:11,490 eigenlijk niet http://project binnenkant van het apparaat 416 00:21:11,490 --> 00:21:12,470 voor je afstudeerproject. 417 00:21:12,470 --> 00:21:16,465 Als je eigenlijk wilt dat het iets zijn zoals, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 kunt u die domeinnaam te kopen - hoewel niet die ene - en 419 00:21:19,730 --> 00:21:24,070 dan kunt u gaan over het hosten van het op een openbare webserver zoals wij kunnen bieden 420 00:21:24,070 --> 00:21:25,170 jullie hier doorheen. 421 00:21:25,170 --> 00:21:27,240 >> En in feite als onbekende, Als je nog nooit in geweest 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, een, ga daar. 423 00:21:30,590 --> 00:21:37,310 Maar twee, weet dat dat was een jonge naam van de vrouw door Tej Om Toor Too twee 424 00:21:37,310 --> 00:21:41,550 jaar geleden, drie jaar geleden, die was een CS50 alumni die een dag of twee gebeurd 425 00:21:41,550 --> 00:21:46,280 voordat de CS50 beurs stuurde een e-mail naar haar huis mailinglijst en voila. 426 00:21:46,280 --> 00:21:49,770 Twee dagen later door de CS50 beurs, had ze honderden gebruikers al kruipend op 427 00:21:49,770 --> 00:21:53,240 elkaar op haar website en zeggen hoe ze hadden gezien 428 00:21:53,240 --> 00:21:55,250 hem of haar op de campus. 429 00:21:55,250 --> 00:21:57,600 Dus dat is een van CS50's favoriete succesverhalen van 430 00:21:57,600 --> 00:21:59,650 een CS50 afstudeerproject. 431 00:21:59,650 --> 00:22:04,090 >> Dus hoe ga je over het zetten van een website als dat op het internet? 432 00:22:04,090 --> 00:22:07,140 Nou, er is een paar van zulke ingrediënten hier. 433 00:22:07,140 --> 00:22:09,310 Dus een, moet je een domeinnaam te kopen. 434 00:22:09,310 --> 00:22:12,440 Er zijn trossen van plaatsen in de wereld van waaruit u kunt 435 00:22:12,440 --> 00:22:13,940 koop een domeinnaam. 436 00:22:13,940 --> 00:22:16,660 En bijvoorbeeld een dat we raden alleen omdat het populair 437 00:22:16,660 --> 00:22:18,855 en het is goedkoop heet namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Maar je kunt godaddy.com gaan en tientallen anderen die er zijn. 439 00:22:22,860 --> 00:22:24,420 U kunt lezen op beoordelingen. 440 00:22:24,420 --> 00:22:26,250 >> Maar voor het grootste deel doet het niet uit van wie u 441 00:22:26,250 --> 00:22:27,720 koop een domeinnaam. 442 00:22:27,720 --> 00:22:30,780 En ze variëren in prijs en ze variëren in achtervoegsel. 443 00:22:30,780 --> 00:22:37,140 De achtervoegsels zoals. Com,. Net, . Org,. Io,. Tv, die 444 00:22:37,140 --> 00:22:38,650 eigenlijk variëren in prijs. 445 00:22:38,650 --> 00:22:43,630 Maar als we wilden iets doen als cats.com we kunnen gaan naar deze website, 446 00:22:43,630 --> 00:22:44,280 klik op Zoeken. 447 00:22:44,280 --> 00:22:46,370 Vermoedelijk deze is genomen. 448 00:22:46,370 --> 00:22:50,170 Maar blijkbaar, catsagainst.com beschikbaar. 449 00:22:50,170 --> 00:22:52,100 pluscats.com beschikbaar. 450 00:22:52,100 --> 00:22:53,780 Lovecats, catscorner, dampcats.net. 451 00:22:53,780 --> 00:22:56,320 452 00:22:56,320 --> 00:22:59,135 Dit alles hopelijk pseudo willekeurig gegenereerd. 453 00:22:59,135 --> 00:23:04,670 Als u wilt cats.pw, $ 1500 alleen, dat is een beetje gek. 454 00:23:04,670 --> 00:23:08,100 Dus iemand heeft echt griste alle de kat gerelateerde domeinnamen hier voor 455 00:23:08,100 --> 00:23:09,840 variërende prijzen. 456 00:23:09,840 --> 00:23:12,360 >> Even terzijde, laten we eens kijken. 457 00:23:12,360 --> 00:23:13,710 Wie heeft cats.com? 458 00:23:13,710 --> 00:23:16,290 Weet dat jullie nog bij uw beschikking vrij 459 00:23:16,290 --> 00:23:17,540 geavanceerde commando's nu. 460 00:23:17,540 --> 00:23:20,592 Zoals ik letterlijk kan typen wie is cats.com? 461 00:23:20,592 --> 00:23:23,730 En vanwege de manier waarop het internet is gestructureerd je daadwerkelijk kunt zien wie 462 00:23:23,730 --> 00:23:25,440 heeft dit geregistreerd. 463 00:23:25,440 --> 00:23:30,240 Blijkbaar is deze persoon is [onverstaanbaar] het gebruik van een proxy-dienst. 464 00:23:30,240 --> 00:23:33,900 Dus wie is eigenaar cats.com niet wil de wereld om te weten wie ze zijn. 465 00:23:33,900 --> 00:23:36,610 Dus hebben ze geregistreerd als door wat willekeurige privacy service. 466 00:23:36,610 --> 00:23:39,100 Maar soms moet je eigenlijk krijg werkelijke eigenaars. 467 00:23:39,100 --> 00:23:41,420 >> En dit is te zeggen, vooral als je het nastreven van een aantal opstarten en je 468 00:23:41,420 --> 00:23:44,640 echt willen sommige domeinnaam en je bent bereid zijn om iemand anders te betalen voor 469 00:23:44,640 --> 00:23:48,050 het, kunt u uitzoeken contact informatie op die manier. 470 00:23:48,050 --> 00:23:49,940 >> Maar ook interessant is dit. 471 00:23:49,940 --> 00:23:53,380 Laat me scrollen tot dit gedeelte. 472 00:23:53,380 --> 00:23:55,330 Dus dit is dezelfde uitgang. 473 00:23:55,330 --> 00:23:56,990 En dit is gewoon smakeloos. 474 00:23:56,990 --> 00:24:00,740 Dus blijkbaar cats.com kan van jou voor de juiste prijs. 475 00:24:00,740 --> 00:24:03,170 Maar wat is interessant hier is dat de nameservers - 476 00:24:03,170 --> 00:24:06,040 Dit is totale misbruik van wat een naam server hoort te zijn - je naam 477 00:24:06,040 --> 00:24:08,876 server wordt niet verondersteld te worden thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 - Als we echt iets als kiezen 479 00:24:11,050 --> 00:24:15,181 laten we iets meer te kiezen legitiem ziet, wie is google.com, 480 00:24:15,181 --> 00:24:17,030 en scroll hier boven. 481 00:24:17,030 --> 00:24:18,280 Dus hier - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 wat daar gebeurde? 484 00:24:21,740 --> 00:24:22,480 Interessant. 485 00:24:22,480 --> 00:24:25,290 Voorbij die is - 486 00:24:25,290 --> 00:24:26,610 laten we het meer low key. 487 00:24:26,610 --> 00:24:28,370 >> Wie is mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Dit is nuttig. 490 00:24:29,900 --> 00:24:31,400 Dus dit is wat ik hoopte. 491 00:24:31,400 --> 00:24:33,930 Rechtmatig gebruik van de DNS-service. 492 00:24:33,930 --> 00:24:36,750 Nameservers hier aangeven de volgende. 493 00:24:36,750 --> 00:24:40,880 Dit is MIT's manier om te zeggen, wanneer iemand in de wereld, waar ze ook 494 00:24:40,880 --> 00:24:46,950 zijn, vormen in mit.edu en klappen Enter, je laptop, of Mac of pc, zal 495 00:24:46,950 --> 00:24:51,830 een of andere manier uiteindelijk erachter te komen dat de mensen in de wereld die weten wat de 496 00:24:51,830 --> 00:24:58,130 IP adres voor mit.edu of een van de subdomeinen bij mit.edu of een van 497 00:24:58,130 --> 00:25:01,660 Deze servers hier - en het eigenlijk lijkt MITs infrastructuur is 498 00:25:01,660 --> 00:25:03,370 vrij robuust zoals je zou verwachten. 499 00:25:03,370 --> 00:25:07,050 Ze hebben meerdere namen servers wat goed is voor redundantie. 500 00:25:07,050 --> 00:25:09,840 En in feite, ze lijken te globaal zijn verspreid over de hele wereld. 501 00:25:09,840 --> 00:25:13,250 Een stelletje van die lijken te zijn in de VS, een paar in Azië, een in Europa, twee 502 00:25:13,250 --> 00:25:14,540 in ergens anders. 503 00:25:14,540 --> 00:25:18,000 >> Maar het punt is hier dat DNS dat hebben we zo vanzelfsprekend en 504 00:25:18,000 --> 00:25:21,990 algemeen beschreven als een grote Excel-tabel dat IP-adressen en domein 505 00:25:21,990 --> 00:25:25,890 namen is eigenlijk vrij gesofisticeerde hiërarchische dienst, zodat in de 506 00:25:25,890 --> 00:25:29,170 wereld is er eigenlijk een eindig aantal van servers die in wezen weten waar 507 00:25:29,170 --> 00:25:32,880 alle. com zijn of alle de. netten zijn alle 508 00:25:32,880 --> 00:25:34,650 . Orgs zijn, enzovoort. 509 00:25:34,650 --> 00:25:37,820 >> Dus als je gaat door en koop een domeinnaam naam van een plek als Naam goedkoop of 510 00:25:37,820 --> 00:25:41,450 Go Daddy of enige andere website, een van de belangrijkste stappen die je zult moeten doen 511 00:25:41,450 --> 00:25:45,180 je, als je dit doet, zelfs voor uw finale project, is het vertellen van de registrar 512 00:25:45,180 --> 00:25:49,020 van wie je koopt het domein naam, die in de wereld weet je 513 00:25:49,020 --> 00:25:52,310 IP-adressen van website's, die uw naam-servers zijn. 514 00:25:52,310 --> 00:25:55,750 >> Dus als u gebruikt, bijvoorbeeld CS50's hosting account - we toevallig hebben 515 00:25:55,750 --> 00:25:57,760 dit account via dreamhost.com die een 516 00:25:57,760 --> 00:25:59,560 populaire web hosting bedrijf - 517 00:25:59,560 --> 00:26:03,530 ze zullen je vertellen dat je moet kopen uw domein en de wereld vertellen dat 518 00:26:03,530 --> 00:26:09,410 naamserver van uw domein is ns1.dreamhost.com, ns2.dreamhost.com, 519 00:26:09,410 --> 00:26:11,470 en ns3.dreamhost.com. 520 00:26:11,470 --> 00:26:12,600 >> Maar dat is het. 521 00:26:12,600 --> 00:26:15,480 Het kopen van een domeinnaam betekent dat ze het geld en het krijgen van de eigendom van de 522 00:26:15,480 --> 00:26:17,190 domein, maar het is meer als een verhuur wel. 523 00:26:17,190 --> 00:26:20,060 Je krijgt het voor een jaar en dan zijn ze bill u recurringly voor de rest van 524 00:26:20,060 --> 00:26:22,130 je leven tot je annuleert de domeinnaam. 525 00:26:22,130 --> 00:26:24,510 En dan moet je ze vertellen wie de nameservers zijn. 526 00:26:24,510 --> 00:26:26,190 Maar dan ben je klaar met uw registrar. 527 00:26:26,190 --> 00:26:30,130 En van daar u alleen zult interactie met uw web hosting bedrijf, dat 528 00:26:30,130 --> 00:26:32,030 in het geval CS50 zal zijn DreamHost. 529 00:26:32,030 --> 00:26:36,080 Maar nogmaals, zal meer documentatie worden verstrekt aan u als u besluit om te gaan 530 00:26:36,080 --> 00:26:37,170 die route. 531 00:26:37,170 --> 00:26:40,750 >> Dus als je dit doet na de cursus end, gewoon googlen web hosting 532 00:26:40,750 --> 00:26:42,830 bedrijf zal opduiken duizenden van opties. 533 00:26:42,830 --> 00:26:45,720 En ik zou u over het algemeen te stimuleren Vraag vrienden die zou gebruik hebben gemaakt van een 534 00:26:45,720 --> 00:26:49,350 bedrijf voordat indien zij aanbevelen hen en had een goede ervaring. 535 00:26:49,350 --> 00:26:52,680 >> Want er is een heleboel vliegen bij nacht web hosting bedrijven, als een man in 536 00:26:52,680 --> 00:26:55,220 zijn kelder met een server dat een IP-adres heeft. 537 00:26:55,220 --> 00:26:58,980 Hij heeft wat extra RAM-geheugen en de harde schijf ruimte en net verkoopt web hosting 538 00:26:58,980 --> 00:27:02,380 rekeningen ook al is er geen manier dat server kon honderden verwerken 539 00:27:02,380 --> 00:27:04,050 gebruikers of duizenden gebruikers. 540 00:27:04,050 --> 00:27:06,260 Dus realiseer je krijgt wat je betaalt voor. 541 00:27:06,260 --> 00:27:09,510 >> Voor een tijdje voor mijn persoonlijke homepage pagina - en dit was volledig aanvaardbaar 542 00:27:09,510 --> 00:27:11,830 want ik had, net als, twee bezoekers per maand - 543 00:27:11,830 --> 00:27:14,990 Ik was te betalen, als, $ 2,95 per maand. 544 00:27:14,990 --> 00:27:17,230 En ik ben er vrij zeker van dat het in iemands kelder. 545 00:27:17,230 --> 00:27:20,800 Maar nogmaals, je hoeft niet per se te krijgen geen garanties van uptime of 546 00:27:20,800 --> 00:27:21,840 schaalbaarheid. 547 00:27:21,840 --> 00:27:24,560 Dus nogmaals, bent u meestal op zoek op iets meer dan dat. 548 00:27:24,560 --> 00:27:26,220 >> Nou, hoe zit het met SSL? 549 00:27:26,220 --> 00:27:27,690 Dus wat is SSL wordt gebruikt voor? 550 00:27:27,690 --> 00:27:30,320 Laten we nu beginnen om te sturen in de aanwijzingen van de beveiliging en dingen die 551 00:27:30,320 --> 00:27:32,330 kan ons schaden. 552 00:27:32,330 --> 00:27:36,890 Vooral als je onderneming op uw eigen. 553 00:27:36,890 --> 00:27:41,650 >> Wat is SSL, of wat er SSL wordt gebruikt voor? 554 00:27:41,650 --> 00:27:42,660 Veiligheid, OK. 555 00:27:42,660 --> 00:27:44,000 Dus het wordt gebruikt voor de beveiliging. 556 00:27:44,000 --> 00:27:44,640 Wat betekent dat? 557 00:27:44,640 --> 00:27:47,170 Dus het staat voor Secure Sockets Layer. 558 00:27:47,170 --> 00:27:52,330 Wordt aangeduid door een URL dat begint met https://. 559 00:27:52,330 --> 00:27:58,410 Velen van ons hebben waarschijnlijk nog nooit getypt https://, maar je zult vaak zien dat 560 00:27:58,410 --> 00:28:03,000 uw browser worden doorgestuurd van HTTP naar HTTPS zodat alles er 561 00:28:03,000 --> 00:28:04,260 na versleuteld. 562 00:28:04,260 --> 00:28:10,810 >> FYI, met behulp van SSL vereist meestal dat je hebt een uniek IP-adres. 563 00:28:10,810 --> 00:28:13,940 En doorgaans naar een uniek IP-adres te krijgen je nodig hebt om een ​​web hosting te betalen 564 00:28:13,940 --> 00:28:15,850 bedrijf een paar euro meer per maand. 565 00:28:15,850 --> 00:28:19,850 Dus beseffen dat dit heel gemakkelijk door het kopen van een IP geïmplementeerd deze dagen 566 00:28:19,850 --> 00:28:22,930 adres en door te kopen wat is riep een SSL-certificaat. 567 00:28:22,930 --> 00:28:26,520 Maar beseffen dat het komt op een aantal extra kosten. 568 00:28:26,520 --> 00:28:30,880 En, zoals we zullen proberen bang te maken in slechts een beetje, het is niet eens per se 100% 569 00:28:30,880 --> 00:28:34,040 beschermend van wat het ook is je probeert te beschermen. 570 00:28:34,040 --> 00:28:38,620 >> Dus voor de veiligheid, zou ik dacht dat ik zou doe een soort van een willekeurige segue hier. 571 00:28:38,620 --> 00:28:42,820 Zoals u wellicht weet uit lezing CS50's video's, heeft onze productie-team is een 572 00:28:42,820 --> 00:28:46,770 fan zoals ik heb van het nemen van echt leuke fotografie van campus, en luchtfoto 573 00:28:46,770 --> 00:28:48,370 fotografie meest recent. 574 00:28:48,370 --> 00:28:51,450 Als je ooit kijk omhoog en zie je iets vliegen met een kleine camera, 575 00:28:51,450 --> 00:28:53,410 het kan eigenlijk wel CS50. 576 00:28:53,410 --> 00:28:55,830 En ik dacht dat ik zou minuut van delen een aantal van de beelden van het team heeft 577 00:28:55,830 --> 00:28:59,450 verzameld, met name als we kijken naar het tweede semester en volgend najaar. 578 00:28:59,450 --> 00:29:03,320 Als een van u een talent voor fotografie, videografie, zouden we 579 00:29:03,320 --> 00:29:05,570 liefde om je betrokken te raken achter de schermen. 580 00:29:05,570 --> 00:29:07,595 Maar meer op die details in een week. 581 00:29:07,595 --> 00:29:18,560 >> [MUZIEK] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. Malan: Blijkt dat er een midgetgolfbaan op de bovenkant van 583 00:29:20,750 --> 00:29:22,754 het stadion dat we nooit wisten. 584 00:29:22,754 --> 00:30:06,150 >> [MUZIEK] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. Malan: U kunt zien dat de schetsen van de drone daar. 586 00:30:08,440 --> 00:30:24,160 >> [MUZIEK] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. Malan: Het beste deel hier is, kijk naar de jogger aan de linkerkant. 588 00:30:26,280 --> 00:30:52,900 >> [MUZIEK] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. Malan: Een ander voorbeeld van wat je kunt doen met technologie die 590 00:30:56,920 --> 00:30:58,900 slechts oppervlakkig, eerlijk gezegd, betrekking tot beveiliging. 591 00:30:58,900 --> 00:31:01,710 Maar ik dacht dat een meer zou zijn leuke manier om gewoon te zeggen, beveiliging. 592 00:31:01,710 --> 00:31:07,780 Dus laten we kijken of we niet kunnen schrikken jullie nu niet alleen met een beetje een paar 593 00:31:07,780 --> 00:31:10,590 bedreigingen, maar ook een onderliggende begrip van wat deze bedreigingen 594 00:31:10,590 --> 00:31:13,830 worden zodat vooruit kunt beslissen hoe en of te verdedigen 595 00:31:13,830 --> 00:31:17,290 jezelf tegen deze dingen en bij minst bewust van hen te zijn als u 596 00:31:17,290 --> 00:31:20,530 beslissingen te nemen over het al dan niet om stuur die e-mail, al dan niet om in te loggen 597 00:31:20,530 --> 00:31:24,920 naar die website, al dan niet te Gebruik dat WiFi cyber cafe's 598 00:31:24,920 --> 00:31:28,210 punt, zodat je weet wat de bedreigingen zijn inderdaad om je heen. 599 00:31:28,210 --> 00:31:30,990 >> Dus Jonathan bedoeld iets zoals dit op maandag. 600 00:31:30,990 --> 00:31:32,220 Hij had een raam schermafdruk. 601 00:31:32,220 --> 00:31:33,630 Deze is van een Mac. 602 00:31:33,630 --> 00:31:36,850 Hoeveel van jullie ooit hebt geïnstalleerd software op je Mac of pc? 603 00:31:36,850 --> 00:31:38,420 Uiteraard iedereen. 604 00:31:38,420 --> 00:31:41,590 Hoeveel van jullie hebben veel aandacht besteed te typen in je wachtwoord 605 00:31:41,590 --> 00:31:43,030 wanneer daarom wordt gevraagd? 606 00:31:43,030 --> 00:31:44,740 Ik bedoel, zelfs ik niet, eerlijk gezegd. 607 00:31:44,740 --> 00:31:48,730 Dus een paar van ons zijn goed bij paranoïde. 608 00:31:48,730 --> 00:31:50,490 Maar overwegen wat je bent eigenlijk hier doen. 609 00:31:50,490 --> 00:31:53,280 >> Op een typische Mac of pc je hebt een beheerdersaccount. 610 00:31:53,280 --> 00:31:56,450 En meestal je bent de enige met een laptop op zijn minst deze dagen. 611 00:31:56,450 --> 00:31:59,780 Dus je account, Malan of JHarvard of wat het ook is, is het 612 00:31:59,780 --> 00:32:00,830 beheerdersaccount. 613 00:32:00,830 --> 00:32:03,530 En wat dat betekent is dat je hebt wortel toegang tot uw computer. 614 00:32:03,530 --> 00:32:06,180 U kunt alles wat je wilt installeren, alles wat je wilt verwijderen. 615 00:32:06,180 --> 00:32:10,800 >> En meestal deze dagen, vanwege gedateerde ontwerp beslissingen van jaren geleden, 616 00:32:10,800 --> 00:32:14,560 de manier waarop de meeste software wordt geïnstalleerd is als beheerder. 617 00:32:14,560 --> 00:32:18,180 En zelfs als je Mac of pc heeft ten minste gekregen slim genoeg over de 618 00:32:18,180 --> 00:32:22,010 jaar met de laatste incarnaties van Mac OS en Windows om niet je draaien 619 00:32:22,010 --> 00:32:26,130 gebruikersnaam standaard als de administrator, als je wat te downloaden 620 00:32:26,130 --> 00:32:29,160 nieuw programma uit het internet en proberen te installeren, ben je waarschijnlijk gaat 621 00:32:29,160 --> 00:32:30,880 worden gevraagd om uw wachtwoord. 622 00:32:30,880 --> 00:32:34,790 Maar de vangst is op dat punt, je bent letterlijk overhandigen de sleutels van uw 623 00:32:34,790 --> 00:32:38,620 computer dan naar wat willekeurige programma dat u zojuist hebt gedownload en 624 00:32:38,620 --> 00:32:41,590 waardoor het installeren wat het wil. 625 00:32:41,590 --> 00:32:45,050 >> En als Jonathan gezinspeeld, realiseren dat het zou kunnen zeggen dat het wil 626 00:32:45,050 --> 00:32:49,350 Installeer de software die u de zorg over, Spotify of iTunes of wat dan ook 627 00:32:49,350 --> 00:32:50,900 het is je probeert te installeren. 628 00:32:50,900 --> 00:32:54,710 Maar je bent letterlijk het vertrouwen van de auteur of auteurs van de software te 629 00:32:54,710 --> 00:32:57,570 alleen doen wat het programma verondersteld wordt te doen. 630 00:32:57,570 --> 00:33:02,320 >> Maar er is absoluut niets het stoppen van de meeste programma's op de meeste 631 00:33:02,320 --> 00:33:06,910 besturingssystemen uit het verwijderen van bestanden, van ze te uploaden naar enkele onderneming 632 00:33:06,910 --> 00:33:10,040 website, van trollen rond, voor het coderen dingen. 633 00:33:10,040 --> 00:33:12,970 En nogmaals, we hebben soort van gebouwd een gehele infrastructuur 634 00:33:12,970 --> 00:33:14,930 het jaar op vertrouwen. 635 00:33:14,930 --> 00:33:18,690 En dus beseffen dat je net geweest bent vertrouwend willekeurige mensen en willekeurige 636 00:33:18,690 --> 00:33:20,050 bedrijven voor het grootste deel. 637 00:33:20,050 --> 00:33:24,860 >> En Jonathan zinspeelde ook, soms die bedrijven zelf zijn soort 638 00:33:24,860 --> 00:33:26,410 wetens kwaadaardig, oke? 639 00:33:26,410 --> 00:33:30,200 Sony ving veel flack een paar jaar geleden voor het installeren wat genoemd 640 00:33:30,200 --> 00:33:33,220 rootkit kit op de computers zonder hun medeweten. 641 00:33:33,220 --> 00:33:36,570 En de kern van dit was dat wanneer je kocht een cd bijvoorbeeld dat ze 642 00:33:36,570 --> 00:33:40,050 wist niet dat je in staat zijn om te kopiëren of rip de muziek uit van, de cd zou 643 00:33:40,050 --> 00:33:42,600 installeren, zonder dat je het weet, een rootkit op uw computer. 644 00:33:42,600 --> 00:33:46,020 Rootkit gewoon betekent software die draait als beheerder die potentieel 645 00:33:46,020 --> 00:33:47,260 doet slechte dingen. 646 00:33:47,260 --> 00:33:50,780 >> Maar een van de dingen dit ding wist lag verborgen zelf. 647 00:33:50,780 --> 00:33:53,660 Dus sommige van jullie misschien wel behoorlijk savvy met uw computer en kennen, nou, ik 648 00:33:53,660 --> 00:33:57,310 kan alleen de Task Manager of het openen Activity Monitor en ik kan kijken naar alle 649 00:33:57,310 --> 00:33:59,150 van de arcanely genoemde programma's die worden uitgevoerd. 650 00:33:59,150 --> 00:34:01,760 En als er iets er verdacht uitziet Ik zal gewoon doden of verwijderen. 651 00:34:01,760 --> 00:34:02,980 Maar dat is wat de rootkit deed. 652 00:34:02,980 --> 00:34:07,070 Het zei in wezen, als het runnen van Task Manager, niet jezelf te tonen. 653 00:34:07,070 --> 00:34:08,500 >> Dus de software was er. 654 00:34:08,500 --> 00:34:12,710 En alleen als je echt, echt gekeken moeilijk kon je zelfs vinden. 655 00:34:12,710 --> 00:34:15,670 En dit werd gedaan in de naam van kopieerbeveiliging. 656 00:34:15,670 --> 00:34:18,230 Maar stel je eens voor wat er zou kunnen zijn anders gedaan. 657 00:34:18,230 --> 00:34:19,699 >> Nu in termen van bescherming van jezelf. 658 00:34:19,699 --> 00:34:22,190 Veel websites zijn heerlijk genadig in dat zetten ze deze 659 00:34:22,190 --> 00:34:26,480 hangslot pictogrammen op hun homepage waar betekent dat de website beveiligd is. 660 00:34:26,480 --> 00:34:28,870 Dit is van bankofamerica.com vanmorgen. 661 00:34:28,870 --> 00:34:32,239 Dus wat doet dat kleine hangslotje daar bedoel naast de knop Aanmelden? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Absoluut niets. 664 00:34:36,790 --> 00:34:39,560 Het betekent dat iemand weet hoe te gebruiken Photoshop om een ​​foto van een te maken 665 00:34:39,560 --> 00:34:40,590 hangslot icoon. 666 00:34:40,590 --> 00:34:44,449 Net als heel letterlijk, het feit dat het er is bedoeld als een positieve 667 00:34:44,449 --> 00:34:46,880 signaal aan de gebruiker zoals, ooh, beveiligde website. 668 00:34:46,880 --> 00:34:50,449 Ik vertrouw deze website en nu Typ in mijn gebruikersnaam en wachtwoord. 669 00:34:50,449 --> 00:34:53,870 En dit heeft conventionele geweest jaren, zo recent als deze morgen. 670 00:34:53,870 --> 00:34:56,949 >> Maar rekening houden met de gewoonten die dit wordt ons in. 671 00:34:56,949 --> 00:35:00,600 De impliciete boodschap dat alle van deze banken in dit geval zou zijn geweest 672 00:35:00,600 --> 00:35:01,830 stuurt ons al jaren. 673 00:35:01,830 --> 00:35:05,160 Als je ziet hangslot, dan beveiligen. 674 00:35:05,160 --> 00:35:05,340 Oke? 675 00:35:05,340 --> 00:35:10,520 >> Dus hoe kan je misbruiken dat systeem van vertrouwen als je de bad guy? 676 00:35:10,520 --> 00:35:14,100 Zet een hangslot op uw website, en logisch, zijn de gebruikers geweest 677 00:35:14,100 --> 00:35:17,260 airconditioning voor jaren te veronderstellen hangslot betekent veilig. 678 00:35:17,260 --> 00:35:19,310 En het kan eigenlijk veilig. 679 00:35:19,310 --> 00:35:24,810 Misschien heb je een heerlijk veilige SSL HTTPS-verbinding naar een 680 00:35:24,810 --> 00:35:26,452 nep-website. com. 681 00:35:26,452 --> 00:35:30,150 En niemand anders in de wereld kan zien dat je op het punt om hem of haar de hand 682 00:35:30,150 --> 00:35:32,790 uw gebruikersnaam en wachtwoord aan uw account. 683 00:35:32,790 --> 00:35:35,110 >> Dit echter is misschien een weinig meer geruststellend. 684 00:35:35,110 --> 00:35:38,600 Dus dit is een screen shot van de top van mijn browser vanochtend bij 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 En ook hier merken we hebben een hangslot. 687 00:35:43,270 --> 00:35:48,040 Wat betekent het in deze context in Chrome tenminste? 688 00:35:48,040 --> 00:35:49,520 >> Dus dit is nu met SSL. 689 00:35:49,520 --> 00:35:51,220 Dus dit is eigenlijk een betere zaak. 690 00:35:51,220 --> 00:35:54,250 En dat Chrome maakt het groen is bedoeld om onze aandacht te vestigen 691 00:35:54,250 --> 00:35:56,750 het feit dat dit niet alleen via SSL. 692 00:35:56,750 --> 00:36:01,400 Dit is een bedrijf dat iemand er heeft geverifieerd is eigenlijk 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 En dat betekent dat de Bank of America, bij de aankoop van hun zogenaamde SSL 695 00:36:05,970 --> 00:36:09,680 certificaat, in wezen grote willekeurig, enigszins willekeurige getallen die implementeren 696 00:36:09,680 --> 00:36:14,710 zekerheid voor hen, zijn ze geverifieerd door een aantal onafhankelijke derde 697 00:36:14,710 --> 00:36:15,570 partij die zegt, yep. 698 00:36:15,570 --> 00:36:19,240 Dit is eigenlijk de CEO van Bank of Amerika proberen om het certificaat te kopen. 699 00:36:19,240 --> 00:36:23,290 Chrome zal dan ook op vertrouwen dat certificeringsinstantie en zeggen in 700 00:36:23,290 --> 00:36:25,265 groen, is bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 En Bank of America betaalt slechts een paar honderd dollar voor die of een paar 702 00:36:27,997 --> 00:36:30,800 duizend in tegenstelling tot een enkele tientallen dollars. 703 00:36:30,800 --> 00:36:34,940 >> Maar ook hier, hoeveel van jullie hebben ooit gedroeg zich anders te omdat 704 00:36:34,940 --> 00:36:38,576 de URL in je browser groen in plaats van zwart? 705 00:36:38,576 --> 00:36:39,900 Rechts? 706 00:36:39,900 --> 00:36:40,600 Dus een paar van ons. 707 00:36:40,600 --> 00:36:42,115 En dat is goed te zijn paranoïde. 708 00:36:42,115 --> 00:36:45,910 Maar zelfs dan, degenen onder jullie die nog merkt deze dingen, doe je eigenlijk 709 00:36:45,910 --> 00:36:50,720 stop in te loggen op een andere wijze veilig website als de URL is niet groen? 710 00:36:50,720 --> 00:36:53,380 Oke, dus waarschijnlijk niet, toch? 711 00:36:53,380 --> 00:36:56,740 Althans de meesten van ons, als het niet groen, waarschijnlijk ben je gewoon gaan 712 00:36:56,740 --> 00:36:57,440 te zijn als, wat dan ook. 713 00:36:57,440 --> 00:36:58,950 Graag, ik wil inloggen op deze website. 714 00:36:58,950 --> 00:37:00,200 Dat is waarom ik hier ben. 715 00:37:00,200 --> 00:37:02,390 Ik ga toch in te loggen. 716 00:37:02,390 --> 00:37:04,500 >> Even terzijde, Chrome is een beetje beter over. 717 00:37:04,500 --> 00:37:07,990 Maar er is veel browsers zoals Firefox bijvoorbeeld tenminste 718 00:37:07,990 --> 00:37:12,190 enige tijd, waar dat hangslot is, kun je eigenlijk zet elke 719 00:37:12,190 --> 00:37:13,250 pictogram van je eigen. 720 00:37:13,250 --> 00:37:17,480 Laat me zien wat de nieuwste versie van Firefox lijkt. 721 00:37:17,480 --> 00:37:20,040 Dus als we naar CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, dus ze hebben gekregen beter ook. 723 00:37:21,580 --> 00:37:24,970 Wat de gebruikte browsers te doen is willen, hier is bijvoorbeeld [? SAAS is?] 724 00:37:24,970 --> 00:37:25,790 heuvelrug hier up. 725 00:37:25,790 --> 00:37:29,240 Dat is de zogenaamde favoriet pictogram voor een website. 726 00:37:29,240 --> 00:37:30,190 Jaar geleden - 727 00:37:30,190 --> 00:37:34,720 eigenlijk niet zo lang geleden - dat kleine schild zou gelijk zijn geweest 728 00:37:34,720 --> 00:37:36,560 hier naast de URL. 729 00:37:36,560 --> 00:37:40,300 Omdat sommige genie besloten dat het zou gewoon kijken vrij classy te hebben 730 00:37:40,300 --> 00:37:43,150 uw grafische logo rechts naast uw URL. 731 00:37:43,150 --> 00:37:45,310 En het ontwerp verstandig, dat eigenlijk is vrij overtuigend. 732 00:37:45,310 --> 00:37:47,240 >> Dus wat deed slechterik start aan het doen? 733 00:37:47,240 --> 00:37:50,500 Ze begonnen het veranderen van hun favoriete pictogrammen, of hun standaard icoon voor een 734 00:37:50,500 --> 00:37:55,250 homepage om niet een kuif zijn maar een hangslot, die moest 735 00:37:55,250 --> 00:37:56,600 absoluut geen betekenis. 736 00:37:56,600 --> 00:37:59,760 Anders dan hun favoriete icoon werd een hangslot het had geen 737 00:37:59,760 --> 00:38:01,250 indicaties veiligheid. 738 00:38:01,250 --> 00:38:04,040 >> Dus de lessen hier zijn een paar denk ik. 739 00:38:04,040 --> 00:38:07,820 Een daarvan is dat er eigenlijk een aantal goedbedoeld mechanismen voor 740 00:38:07,820 --> 00:38:12,850 leert ons gebruikers over de beveiliging zelfs als je niet eens bewust waren wat groen 741 00:38:12,850 --> 00:38:15,110 betekende of wat zelfs HTTPS betekende. 742 00:38:15,110 --> 00:38:19,130 Maar als die mechanismen krijgen ons in de slechte gewoonte van het vertrouwen websites 743 00:38:19,130 --> 00:38:23,390 wanneer wij zien deze positieve signalen, ze zijn zeer gemakkelijk misbruikt zoals we zagen 744 00:38:23,390 --> 00:38:26,480 zoëven met iets dom als dit. 745 00:38:26,480 --> 00:38:29,100 >> Dus het kapen van sessies komt in spelen, zoals we al eerder zeiden, 746 00:38:29,100 --> 00:38:30,510 met koekjes bijvoorbeeld. 747 00:38:30,510 --> 00:38:32,130 En wat betekent dit eigenlijk? 748 00:38:32,130 --> 00:38:35,930 Goed met het kapen van sessies is dit alles over het stelen van iemands cookies. 749 00:38:35,930 --> 00:38:39,860 Dus als ik hier open Chrome, voor Zo, en ik open de Inspecteur 750 00:38:39,860 --> 00:38:41,550 hier beneden en ik ga naar het Netwerk Tab - 751 00:38:41,550 --> 00:38:42,830 en we hebben dit al eerder gedaan - 752 00:38:42,830 --> 00:38:48,900 en ik ga naar iets als http://facebook.com Enter, geheel 753 00:38:48,900 --> 00:38:52,280 heleboel dingen gaat over het scherm vanwege al de afbeeldingen en CSS en 754 00:38:52,280 --> 00:38:53,490 JavaScript-bestanden. 755 00:38:53,490 --> 00:38:59,420 >> Maar als ik kijk naar deze ene hier opmerken dat Facebook is inderdaad het planten van een 756 00:38:59,420 --> 00:39:02,310 of meer cookies op mijn browser hier. 757 00:39:02,310 --> 00:39:05,610 Dus deze zijn in wezen de kant stempels die mij vertegenwoordigen. 758 00:39:05,610 --> 00:39:08,580 En nu hopelijk mijn browser zal presenteren deze steeds weer als 759 00:39:08,580 --> 00:39:10,560 herzien van die website. 760 00:39:10,560 --> 00:39:15,810 Maar dat alleen is veilig, we zeiden een paar weken geleden, als je met behulp van SSL. 761 00:39:15,810 --> 00:39:18,860 >> Maar zelfs SSL zelf kan worden aangetast. 762 00:39:18,860 --> 00:39:21,800 Overweeg na helemaal SSL werkt. 763 00:39:21,800 --> 00:39:28,860 Als uw browser verbinding maakt met een externe server via https://, lang verhaal kort, 764 00:39:28,860 --> 00:39:30,110 cryptografie is betrokken. 765 00:39:30,110 --> 00:39:34,750 Het is niet zo eenvoudig als Caesar of Visionaire of zelfs DES, DES uit een 766 00:39:34,750 --> 00:39:36,110 tijdje terug in pset2. 767 00:39:36,110 --> 00:39:37,410 Het is geavanceerder dan dat. 768 00:39:37,410 --> 00:39:39,110 Het heet public key cryptografie. 769 00:39:39,110 --> 00:39:42,845 Maar echt groot en echt willekeurig nummers worden gebruikt om scramble 770 00:39:42,845 --> 00:39:47,125 informatie tussen punt A, u, en punt B, zoals facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Maar het probleem is, hoe velen van ons weer ooit typ https:// te beginnen 772 00:39:52,570 --> 00:39:55,790 onze website verbinding in die veilige modus? 773 00:39:55,790 --> 00:40:00,900 Ik bedoel, hoeveel van jullie ook Type http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Oke, als je dat doet, willen, hallo. 775 00:40:02,290 --> 00:40:03,510 U hoeft niet om dat te doen meer, toch? 776 00:40:03,510 --> 00:40:05,190 De browser zal het uitzoeken. 777 00:40:05,190 --> 00:40:08,070 >> Maar de meesten van ons doen inderdaad typ je gewoon facebook.com. 778 00:40:08,070 --> 00:40:10,960 Want als we met behulp van een browser, het browsers zijn slim genoeg gekregen door 779 00:40:10,960 --> 00:40:14,920 2013 aan te nemen als u gebruik maakt van een browser, u typt in een adres, je 780 00:40:14,920 --> 00:40:18,550 Waarschijnlijk wil het openen niet via e-mail of chatbericht. 781 00:40:18,550 --> 00:40:21,250 Je bedoelt HTTP en poort 80. 782 00:40:21,250 --> 00:40:22,970 Die verdragen zijn aangenomen. 783 00:40:22,970 --> 00:40:24,830 >> Maar hoe werkt omleiding werk? 784 00:40:24,830 --> 00:40:26,170 Nou ja, op wat hier gebeurt. 785 00:40:26,170 --> 00:40:27,590 Als ik terug naar Chrome - 786 00:40:27,590 --> 00:40:31,920 en laten we dit doen in incognito modus, zodat al mijn 787 00:40:31,920 --> 00:40:33,620 cookies worden weggegooid. 788 00:40:33,620 --> 00:40:38,130 En laat mij gaan hier naar, nogmaals, facebook.com. 789 00:40:38,130 --> 00:40:39,490 En laten we zien wat er gebeurt. 790 00:40:39,490 --> 00:40:43,372 >> Bedenk dat het eerste verzoek was inderdaad alleen voor facebook.com. 791 00:40:43,372 --> 00:40:46,580 Maar wat was het antwoord dat ik kreeg? 792 00:40:46,580 --> 00:40:48,520 Het was niet een 200 OK. 793 00:40:48,520 --> 00:40:53,550 Het was 300 of 301, die een redirect vertelt me ​​om naar 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, dat is waar Facebook wil dat ik ga. 795 00:40:59,050 --> 00:41:01,900 Maar dan als we kijken naar de volgende aanvraag, en we hebben dit eerder gezien, 796 00:41:01,900 --> 00:41:04,370 merken wat hun tweede reactie is. 797 00:41:04,370 --> 00:41:10,280 Specifiek dat ze willen dat ik nu naar ga naar de SSL versie van Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Dus hier is een kans. 799 00:41:11,800 --> 00:41:15,440 Dit is een heerlijk nuttige functie van alleen de web-en HTTP. 800 00:41:15,440 --> 00:41:19,570 Als de eindgebruiker zoals Facebook wil dat ik te blijven op de beveiligde versie van hun 801 00:41:19,570 --> 00:41:20,850 website, geweldig. 802 00:41:20,850 --> 00:41:23,130 Ze zullen me redirect voor mezelf. 803 00:41:23,130 --> 00:41:25,250 En dus heb ik niet om nog denken. 804 00:41:25,250 --> 00:41:29,200 >> Maar wat als tussen punt A en B, tussen u en Facebook, is er een aantal 805 00:41:29,200 --> 00:41:32,220 slechterik, is er een aantal systeem beheerder op Harvard wie nieuwsgierig 806 00:41:32,220 --> 00:41:34,240 om te zien wie je vrienden zijn. 807 00:41:34,240 --> 00:41:36,760 Of is er een aantal - 808 00:41:36,760 --> 00:41:38,340 jaar geleden, dit was vroeger gek klinken - 809 00:41:38,340 --> 00:41:41,950 maar er is wat overheidsentiteit zoals de NSA die is eigenlijk geïnteresseerd 810 00:41:41,950 --> 00:41:44,390 in wie je bent porren op Facebook. 811 00:41:44,390 --> 00:41:45,910 Waar is de kans daar? 812 00:41:45,910 --> 00:41:49,305 Nou ja, zo lang als iemand heeft genoeg technisch onderlegde en zij toegang hebben 813 00:41:49,305 --> 00:41:53,350 om uw werkelijke netwerk via Wi-Fi of een fysieke draad, 814 00:41:53,350 --> 00:41:54,570 wat kunnen ze doen? 815 00:41:54,570 --> 00:41:57,520 >> Nou, als ze op hetzelfde netwerk als je en ze iets over weten 816 00:41:57,520 --> 00:42:02,050 TCP / IP en IP-adressen en DNS en hoe dat alles werkt, wat als dat 817 00:42:02,050 --> 00:42:05,970 man in het midden, wat als dat National Security Agency, wat het ook 818 00:42:05,970 --> 00:42:11,480 kan zijn, maar wat als die entiteit gewoon reageert sneller dan Facebook te 819 00:42:11,480 --> 00:42:15,820 uw HTTP-verzoek en zegt, oh, ik ben Facebook. 820 00:42:15,820 --> 00:42:19,300 Ga je gang, en hier is de HTML voor facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Computers zijn pretty darn snel. 822 00:42:20,720 --> 00:42:25,990 Dus je kan een programma op te schrijven een server zoals nsa.gov dat wanneer het 823 00:42:25,990 --> 00:42:29,790 hoort een verzoek van u om facebook.com, heel snel achter de 824 00:42:29,790 --> 00:42:34,000 scènes krijgt de echte facebook.com maken een volkomen [? esque?] veilig 825 00:42:34,000 --> 00:42:38,290 SSL-verbinding tussen NSA en tussen Facebook, het krijgen van die HTML zeer 826 00:42:38,290 --> 00:42:42,670 veilig voor de login-pagina en klik vervolgens de NSA server reageert alleen maar om je 827 00:42:42,670 --> 00:42:44,942 met een login pagina voor facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Nu hoeveel van jullie zouden eens merken dat u gebruikt Facebook via HTTP 829 00:42:49,120 --> 00:42:53,375 nog steeds op dat punt, want je hebt ongeluk verbonden nsa.gov en 830 00:42:53,375 --> 00:42:53,870 geen Facebook? 831 00:42:53,870 --> 00:42:54,980 De URL's niet veranderen. 832 00:42:54,980 --> 00:42:57,040 Dit alles wordt gedaan achter de schermen. 833 00:42:57,040 --> 00:42:59,470 Maar de meesten van ons, waaronder ikzelf, waarschijnlijk niet zou opmerken 834 00:42:59,470 --> 00:43:00,800 zo'n klein detail. 835 00:43:00,800 --> 00:43:05,510 >> Dus je zou kunnen hebben een perfect werkbare verbinding tussen jou en wat je 836 00:43:05,510 --> 00:43:08,660 denken is Facebook, maar er is een zogenaamde man in het midden. 837 00:43:08,660 --> 00:43:12,480 En dit is een algemene term voor de mens in de middle aanval waarbij je een aantal 838 00:43:12,480 --> 00:43:17,670 entiteit tussen u en punt B dat is een of andere manier manipuleren, stelen, of 839 00:43:17,670 --> 00:43:18,960 kijken naar uw gegevens. 840 00:43:18,960 --> 00:43:22,750 Dus zelfs SSL is niet trefzekere, vooral als je hebt misleid in 841 00:43:22,750 --> 00:43:26,790 niet aan te zetten vanwege de manier waarop deze onderliggende mechanismen eigenlijk werken. 842 00:43:26,790 --> 00:43:30,670 >> Dus een les van vandaag dan ook is als je echt wilt worden paranoïde - 843 00:43:30,670 --> 00:43:32,110 en ook hier zijn er bedreigingen - 844 00:43:32,110 --> 00:43:37,112 je moet echt beginnen met het krijgen in de gewoonte van het typen in https://www 845 00:43:37,112 --> 00:43:39,850 welke domeinnaam u eigenlijk schelen. 846 00:43:39,850 --> 00:43:41,820 >> En als een terzijde te er nog een andere bedreiging met 847 00:43:41,820 --> 00:43:43,410 met betrekking tot het kapen van sessies. 848 00:43:43,410 --> 00:43:47,440 Heel vaak wanneer u voor het eerst een bezoek aan een website zoals facebook.com, tenzij de 849 00:43:47,440 --> 00:43:51,050 server is geconfigureerd om te zeggen dat die hand stempel het op je 850 00:43:51,050 --> 00:43:56,140 gisteren te beveiligen zelf, uw browser zou heel goed, na 851 00:43:56,140 --> 00:44:00,620 bezoek aan dingen zoals facebook.com google.com, twitter.com, uw browser 852 00:44:00,620 --> 00:44:04,280 misschien maar presenteert die hand stempel worden geslagen neer en zei, nee. 853 00:44:04,280 --> 00:44:05,660 SSL gebruiken. 854 00:44:05,660 --> 00:44:07,030 >> Maar het is te laat op dat punt. 855 00:44:07,030 --> 00:44:10,940 Als u al hebt verzonden uw hand stempel, uw cookie, in het heldere met 856 00:44:10,940 --> 00:44:15,180 geen SSL, heb je een fractie van een seconde kwetsbaarheid waar iemand snuiven 857 00:44:15,180 --> 00:44:19,530 uw verkeer, of huisgenoot of NSA, kunt vervolgens dat zelfde koekje, en 858 00:44:19,530 --> 00:44:23,860 met een beetje technisch onderlegde, presenteren het als zijn of haar eigen. 859 00:44:23,860 --> 00:44:25,930 >> Andere aanval je misschien niet over nagedacht. 860 00:44:25,930 --> 00:44:30,120 Deze is echt aan jou als je schroef deze op schrift enkele website die 861 00:44:30,120 --> 00:44:31,580 een of andere manier gebruik maakt van SQL. 862 00:44:31,580 --> 00:44:34,610 Hier, bijvoorbeeld, is een scherm schot van Harvard login. 863 00:44:34,610 --> 00:44:36,380 En dit is een algemeen voorbeeld van iets met een 864 00:44:36,380 --> 00:44:37,480 gebruikersnaam en wachtwoord. 865 00:44:37,480 --> 00:44:38,440 Super gemeen. 866 00:44:38,440 --> 00:44:41,310 Dus laten we aannemen dat SSL bestaat en er is geen man in het midden of 867 00:44:41,310 --> 00:44:41,920 iets dergelijks. 868 00:44:41,920 --> 00:44:45,660 Nu richten we ons op de server code die je zou kunnen schrijven. 869 00:44:45,660 --> 00:44:49,830 >> Nou, als ik typ een gebruikersnaam en wachtwoord, veronderstellen dat de PIN-dienst 870 00:44:49,830 --> 00:44:51,740 wordt geïmplementeerd in PHP. 871 00:44:51,740 --> 00:44:53,990 En je zou een stukje code hebben op die server als deze. 872 00:44:53,990 --> 00:44:57,740 Verkrijg de gebruikersnaam uit de post super wereldwijde en krijg het wachtwoord, en vervolgens 873 00:44:57,740 --> 00:45:01,130 als ze met behulp van enkele pset7 zoals code is er een query functie 874 00:45:01,130 --> 00:45:01,820 dit zou kunnen doen. 875 00:45:01,820 --> 00:45:06,320 Selecteer Star van gebruikers waarbij gebruikersnaam gelijk aan die en het wachtwoord is gelijk aan die. 876 00:45:06,320 --> 00:45:08,120 >> Dat ziet er op het eerste gezicht, volstrekt redelijk. 877 00:45:08,120 --> 00:45:11,090 Dit is syntactisch geldig PHP-code. 878 00:45:11,090 --> 00:45:13,160 Logischerwijs is er niets mis mee. 879 00:45:13,160 --> 00:45:15,710 Vermoedelijk is er wat meer lijnen die daadwerkelijk iets doen met de 880 00:45:15,710 --> 00:45:18,150 resultaat dat terug komt uit de database. 881 00:45:18,150 --> 00:45:20,580 Maar dit is kwetsbaar voor de volgende reden. 882 00:45:20,580 --> 00:45:23,760 >> Merk op dat, als een goede burger, Ik heb tussen aanhalingstekens, enkele 883 00:45:23,760 --> 00:45:25,380 citaten, de gebruikersnaam. 884 00:45:25,380 --> 00:45:26,980 En ik zet in enkele aanhalingstekens het wachtwoord. 885 00:45:26,980 --> 00:45:28,830 En dat is een goede zaak omdat ze niet hoort te zijn getallen. 886 00:45:28,830 --> 00:45:30,660 Typisch ze gaan om de tekst te zijn. 887 00:45:30,660 --> 00:45:32,290 Dus ik ben ze te citeren, zoals strijkers. 888 00:45:32,290 --> 00:45:37,470 >> En als ik nu verder wat als vooruit - en ik heb de kogels van de verwijderde 889 00:45:37,470 --> 00:45:38,870 PIN dienst tijdelijk - 890 00:45:38,870 --> 00:45:41,650 wat als ik probeer in te loggen als President [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 maar ik beweren dat mijn wachtwoord is 12345 'OR '1' = '1, en kennisgeving 892 00:45:52,540 --> 00:45:53,830 wat ik niet heb gedaan. 893 00:45:53,830 --> 00:45:56,140 Ik heb niet de andere sluiten enkele offerte. 894 00:45:56,140 --> 00:45:58,500 Want ik ben er vrij scherpe hier als de bad guy. 895 00:45:58,500 --> 00:46:01,870 En ik neem aan dat ze je niet erg goed met uw 896 00:46:01,870 --> 00:46:03,450 PHP en MySQL code. 897 00:46:03,450 --> 00:46:06,740 Ik gok dat je niet controleren voor de aanwezigheid van citaten. 898 00:46:06,740 --> 00:46:11,190 >> Dus wat er net gebeurd is dat wanneer uw gebruiker in die string heeft getypt, 899 00:46:11,190 --> 00:46:15,060 de vraag die je gaat maken ziet er zo uit. 900 00:46:15,060 --> 00:46:18,180 En lang verhaal kort te maken, als u en iets samen of u of iets 901 00:46:18,180 --> 00:46:21,740 samen dit gaat terug een rij van de database. 902 00:46:21,740 --> 00:46:26,570 Want het is altijd de zo dat 1 gelijk is aan 1. 903 00:46:26,570 --> 00:46:30,400 >> En alleen maar omdat je niet op hadden gerekend dat uw gebruikers, goed of slecht, misschien 904 00:46:30,400 --> 00:46:35,340 hebben een apostrof in hun naam hebben een SQL-query die nog gemaakt 905 00:46:35,340 --> 00:46:39,040 geldig is, en zal nu meer resultaten opleveren dan je zou hebben bedoeld. 906 00:46:39,040 --> 00:46:42,340 En dus is deze slechte kerel heeft nu mogelijk aangemeld bij uw server 907 00:46:42,340 --> 00:46:47,060 want uw database is terug een rij zelfs als hij of zij heeft geen idee wat 908 00:46:47,060 --> 00:46:49,410 [? ?] Werkelijke wachtwoord Scroob is. 909 00:46:49,410 --> 00:46:50,640 >> Oh, realiseerde ik een typfout hier. 910 00:46:50,640 --> 00:46:53,260 Ik heb gezegd wachtwoord is gelijk aan 12345 net als de vorige 911 00:46:53,260 --> 00:46:54,990 Bijvoorbeeld of 1 is gelijk aan 1. 912 00:46:54,990 --> 00:46:56,400 Ik zal dat online te lossen. 913 00:46:56,400 --> 00:46:59,960 >> Dus waarom hebben wij u met behulp van de query functie met vraagtekens? 914 00:46:59,960 --> 00:47:04,000 Een van de dingen die de query functie betekent voor u is het zorgt ervoor dat 915 00:47:04,000 --> 00:47:07,660 wanneer je langs in argumenten na de komma hier als deze die de query 916 00:47:07,660 --> 00:47:10,330 die daadwerkelijk aan het wordt verzonden databank ziet er zo uit. 917 00:47:10,330 --> 00:47:13,830 Veel lelijker om naar te kijken, maar terug slashes zijn automatisch geweest 918 00:47:13,830 --> 00:47:19,030 ingevoegd juist aan dit voorkomen injectie aanval die ik liet een 919 00:47:19,030 --> 00:47:20,270 daarnet. 920 00:47:20,270 --> 00:47:24,930 >> Nu een leuke XKCD dat ik dacht dat ik trek hier die hopelijk moet nu een 921 00:47:24,930 --> 00:47:28,546 beetje meer begrijpelijk is dit hier. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> Een beetje? 924 00:47:40,265 --> 00:47:42,370 Misschien moeten we een beetje meer discussie over dat. 925 00:47:42,370 --> 00:47:47,810 Dus dit is een verwijzing naar een klein kind genaamd Bobby die een of andere manier heeft genomen 926 00:47:47,810 --> 00:47:52,250 voordeel van een website die is gewoon vertrouwen dat wat de gebruiker heeft getypt 927 00:47:52,250 --> 00:47:55,100 Het is niet in feite SQL code, maar is in feite een tekenreeks. 928 00:47:55,100 --> 00:47:56,830 >> Nu kun je die druppel herinneren - 929 00:47:56,830 --> 00:48:00,190 je zou hebben gezien dit - daling betekent een tabel verwijderen, verwijderen van een database. 930 00:48:00,190 --> 00:48:02,235 Dus als je in wezen beweren dat je naam is Robert "; droptabl 931 00:48:02,235 --> 00:48:03,485 estudentsomething,] 932 00:48:03,485 --> 00:48:06,340 933 00:48:06,340 --> 00:48:09,370 je zou heel goed misleiden de databank niet alleen rekening te controleren of u bent 934 00:48:09,370 --> 00:48:13,530 inderdaad Robert, maar puntkomma ook overgaan tot de tafel laten vallen. 935 00:48:13,530 --> 00:48:17,560 >> En dus SQL injectie aanvallen kunnen eigenlijk als bedreigend als deze 936 00:48:17,560 --> 00:48:20,740 waarbij je de gegevens van iemand kunt verwijderen, kunt u meer details bekijken selecteert dan 937 00:48:20,740 --> 00:48:23,440 bedoeld, kunt u invoegen of gegevens bij te werken. 938 00:48:23,440 --> 00:48:26,520 En je kunt eigenlijk dit zien in ten thuis te oefenen, niet voor kwaadaardige 939 00:48:26,520 --> 00:48:29,730 doeleinden, maar alleen voor educatieve, is elke keer dat je wordt gevraagd om in te loggen 940 00:48:29,730 --> 00:48:35,180 in de website, in het bijzonder een soort van niet erg openbaar, zeer populaire website, 941 00:48:35,180 --> 00:48:38,630 probeer dan in te loggen als John O'Reilly of iemand met een 942 00:48:38,630 --> 00:48:39,740 apostrof in hun naam. 943 00:48:39,740 --> 00:48:42,990 Of letterlijk typ je gewoon apostrof, druk op Enter, en zie wat er gebeurt. 944 00:48:42,990 --> 00:48:47,990 >> En maar al te vaak, tragisch, mensen hebben hun input opgeschoond en 945 00:48:47,990 --> 00:48:51,690 zorgde ervoor dat dingen als quotes of puntkomma's zijn ontkomen. 946 00:48:51,690 --> 00:48:54,430 Dat is de reden waarom in pset7 wij geven u deze query functie. 947 00:48:54,430 --> 00:48:59,510 Maar niet onder waarderen precies wat het doet voor je. 948 00:48:59,510 --> 00:49:01,800 >> Dus met dat gezegd, genieten van het gebruik het web deze week. 949 00:49:01,800 --> 00:49:04,660 En wij zullen u op maandag. 950 00:49:04,660 --> 00:49:06,180 >> Bij de volgende CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUZIEK]