1 00:00:00,000 --> 00:00:11,214 >> [MUSIC] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. MALAN: All right. 3 00:00:11,661 --> 00:00:15,400 Så dette er CS50 og dette er utgangen av uke 10.. 4 00:00:15,400 --> 00:00:20,420 Så noen av dere kanskje har sett dette allerede, blir men sirkulert i det siste 5 00:00:20,420 --> 00:00:25,800 er en artikkel som jeg tenkte jeg skulle lese et utdrag fra, og deretter vise deg et 6 00:00:25,800 --> 00:00:27,800 tre minutters video som tegner det samme bildet. 7 00:00:27,800 --> 00:00:30,950 Det var virkelig en rørende historie, jeg tenkte på dette krysset av 8 00:00:30,950 --> 00:00:35,210 virkelige verden med genuint overbevisende bruker av teknologi. 9 00:00:35,210 --> 00:00:39,785 >> Så artikkelen ble tittelen "En gutt oversleeps på toget, bruker Google Maps 10 00:00:39,785 --> 00:00:44,930 å finne familien 25 år senere. "Og første par avsnitt var, 11 00:00:44,930 --> 00:00:48,820 "Da Saroo var fem år gammel gikk han med sin eldre bror til å rote for 12 00:00:48,820 --> 00:00:51,830 endre på et passasjertog i en by ca to timer 13 00:00:51,830 --> 00:00:53,510 fra sin lille hjemby. 14 00:00:53,510 --> 00:00:56,790 Saroo ble sliten og hoppet på en nærliggende tog hvor han trodde hans 15 00:00:56,790 --> 00:00:58,880 bror var, så sovnet. 16 00:00:58,880 --> 00:01:03,360 Da han våknet var han i Calcutta, nesten 900 miles unna. 17 00:01:03,360 --> 00:01:05,770 Saroo prøvde å finne veien tilbake, men han visste ikke 18 00:01:05,770 --> 00:01:07,260 navnet på hjembyen. 19 00:01:07,260 --> 00:01:11,430 Og som en liten analfabet gutt i en stor by full av glemte barna han hadde 20 00:01:11,430 --> 00:01:13,520 nesten ingen sjanse for å komme hjem. 21 00:01:13,520 --> 00:01:16,760 >> Han var en gate barn en stund til en lokal adopsjon byrå hekta 22 00:01:16,760 --> 00:01:18,840 ham opp med en australsk par som brakte ham til 23 00:01:18,840 --> 00:01:20,600 bor i Hobart, Tasmania. 24 00:01:20,600 --> 00:01:23,130 Saroo flyttet dit, lærte Engelsk, og vokste opp. 25 00:01:23,130 --> 00:01:27,450 Men han har aldri sluttet å lete etter hans familie og hans hjemby. 26 00:01:27,450 --> 00:01:32,380 >> Tiår senere, oppdaget han Google Jorden og fulgte jernbane spor. 27 00:01:32,380 --> 00:01:36,140 Og gi seg selv en foreskrevet radius basert på hvor lenge han trodde han var 28 00:01:36,140 --> 00:01:40,020 sover og hvor fort han trodde toget skulle, visste han at han hadde vokst opp 29 00:01:40,020 --> 00:01:43,930 i et varmt klima, visste han at han snakket Hindi som et barn, og han hadde fått beskjed 30 00:01:43,930 --> 00:01:46,160 at han så ut som han var fra Øst-India. 31 00:01:46,160 --> 00:01:49,650 >> Endelig, etter flere år på skuring satellitt bilder, han 32 00:01:49,650 --> 00:01:51,340 anerkjent noen landemerker. 33 00:01:51,340 --> 00:01:54,180 Og etter chatter med en administrator av en nærliggende byen sin 34 00:01:54,180 --> 00:01:57,740 Facebook-side, innså han han hadde funnet hjemme. " 35 00:01:57,740 --> 00:02:03,770 >> Så her er da videoen forteller at historien fra hans perspektiv. 36 00:02:03,770 --> 00:02:04,025 >> [VIDEOAVSPILLING] 37 00:02:04,025 --> 00:02:07,480 >> -Det var 26 år siden og jeg var bare om å slå fem. 38 00:02:07,480 --> 00:02:10,539 Vi fikk til jernbanestasjonen og vi tok toget sammen. 39 00:02:10,539 --> 00:02:13,390 Min bror sa jeg skal bo her og jeg skal komme tilbake. 40 00:02:13,390 --> 00:02:16,363 Og jeg tenkte, vel, du vet, jeg kan like godt bare gå i dvale og 41 00:02:16,363 --> 00:02:17,950 så vil han bare vekke meg opp. 42 00:02:17,950 --> 00:02:21,740 Og når jeg våkner opp neste dag, hele vognen var tom på en rømling 43 00:02:21,740 --> 00:02:24,305 tog, et spøkelse tog tar meg at jeg vet ikke hvor. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Jeg ble vedtatt ut til Australia til en australsk familie. 46 00:02:31,660 --> 00:02:35,360 Og mamma hadde dekorert rommet mitt med kartet av India, som hun 47 00:02:35,360 --> 00:02:37,090 satt ved siden av sengen min. 48 00:02:37,090 --> 00:02:42,170 Jeg våknet opp hver morgen å se at kartet, og dermed er det liksom holdt 49 00:02:42,170 --> 00:02:43,740 minnene i live. 50 00:02:43,740 --> 00:02:46,475 >> Folk vil si, du prøver å finne en nål i en høystakk. 51 00:02:46,475 --> 00:02:49,060 Saroo, vil du aldri finne den. 52 00:02:49,060 --> 00:02:52,510 Jeg ville ha blinker av de stedene som Jeg pleide å gå, blinker 53 00:02:52,510 --> 00:02:55,050 av min families ansikter. 54 00:02:55,050 --> 00:02:59,200 Det var bildet av min mor sittende ned med bena krysset 55 00:02:59,200 --> 00:03:00,610 bare se henne gråte. 56 00:03:00,610 --> 00:03:03,340 Livet er bare så vanskelig. 57 00:03:03,340 --> 00:03:06,002 Det var min skatt. 58 00:03:06,002 --> 00:03:09,390 >> Og jeg var ute i Google Map og innså at det er Google Earth også. 59 00:03:09,390 --> 00:03:13,560 I en verden der du kan zoome inn jeg begynte å ha alle disse tankene og 60 00:03:13,560 --> 00:03:16,650 hvilke muligheter som dette kunne gjøre for meg. 61 00:03:16,650 --> 00:03:19,520 Jeg sa til meg selv, vel, du vet, du har all den fotografiske 62 00:03:19,520 --> 00:03:22,340 minner og landemerker der du er fra og vet du hva 63 00:03:22,340 --> 00:03:23,460 byen ser ut. 64 00:03:23,460 --> 00:03:27,910 Dette kan være et program som du kan bruke til å finne veien tilbake. 65 00:03:27,910 --> 00:03:32,750 >> Jeg tenkte, vel, jeg skal sette en prikk på Calcutta togstasjon i en radius 66 00:03:32,750 --> 00:03:36,350 linje som du bør søke rundt dette området. 67 00:03:36,350 --> 00:03:38,850 Jeg kom over disse jernbanelinjene. 68 00:03:38,850 --> 00:03:44,490 Og jeg begynte å følge det, og jeg kom til en togstasjon som reflekterte 69 00:03:44,490 --> 00:03:48,260 samme bildet som var i mine minner. 70 00:03:48,260 --> 00:03:49,730 >> Alt matchet. 71 00:03:49,730 --> 00:03:50,800 Jeg tenkte, ja. 72 00:03:50,800 --> 00:03:51,545 Jeg vet hvor jeg skal. 73 00:03:51,545 --> 00:03:55,387 Jeg skal bare la kartet som jeg har i hodet mitt til å lede meg og ta meg 74 00:03:55,387 --> 00:03:58,230 tilbake til hjembyen min. 75 00:03:58,230 --> 00:04:02,290 >> Jeg kom til dørstokken til huset at jeg ble født og gikk rundt 76 00:04:02,290 --> 00:04:04,270 ca femten meter rundt hjørnet. 77 00:04:04,270 --> 00:04:08,140 Det var tre damer som står utenfor ved siden av hverandre. 78 00:04:08,140 --> 00:04:10,230 Og den mellomste gikk frem. 79 00:04:10,230 --> 00:04:12,910 Og jeg tenkte, dette er din mor. 80 00:04:12,910 --> 00:04:18,590 Hun kom fram, klemte hun meg, og vi var der i ca fem minutter. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Hun tok meg i hånden og hun tok meg med til huset og fikk på telefonen, og hun 83 00:04:25,787 --> 00:04:31,110 ringte min søster og min bror å si at din bror har bare alle 84 00:04:31,110 --> 00:04:34,480 plutselig dukket opp som et spøkelse. 85 00:04:34,480 --> 00:04:37,590 >> Og da familien var gjenforent igjen. 86 00:04:37,590 --> 00:04:38,570 Alt er bra. 87 00:04:38,570 --> 00:04:40,250 Jeg hjelper min mor ut. 88 00:04:40,250 --> 00:04:42,240 Hun trenger ikke å være slaving unna. 89 00:04:42,240 --> 00:04:45,040 Hun kan lede resten av sitt liv i fred. 90 00:04:45,040 --> 00:04:48,590 >> Det var en nål i en høystakk, men nålen var der. 91 00:04:48,590 --> 00:04:49,530 Alt er der. 92 00:04:49,530 --> 00:04:53,410 Alt vi har i verden er å banke på en knapp. 93 00:04:53,410 --> 00:04:57,375 Men du må ha vilje og vilje til å ville det. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [END VIDEOAVSPILLING] 96 00:05:02,780 --> 00:05:04,220 >> Så en veldig søt historie. 97 00:05:04,220 --> 00:05:08,430 Og det minner meg faktisk på ganske tema som har vært å få ganske mye 98 00:05:08,430 --> 00:05:11,200 oppmerksomhet i det siste i The Crimson, mer nasjonalt generelt. 99 00:05:11,200 --> 00:05:13,620 Spesielt som MOOCs tar scenen i det siste. 100 00:05:13,620 --> 00:05:17,370 MOOCs blir disse massive og åpne online kurs som CS50 er én. 101 00:05:17,370 --> 00:05:20,680 >> Og folk snakker om hvordan, for eksempel humaniora er egentlig ikke 102 00:05:20,680 --> 00:05:23,900 fange opp eller ikke er nesten like på moten som de en gang var. 103 00:05:23,900 --> 00:05:26,680 Og jeg vil oppfordre dere, mye som Jonathan gjorde på mandag, å tenke 104 00:05:26,680 --> 00:05:29,900 om når du avslutter 50, og vi vet allerede om 50% av dere vil ikke 105 00:05:29,900 --> 00:05:32,480 fortsette å ta en annen datamaskin vitenskap kurs, og det er helt 106 00:05:32,480 --> 00:05:33,770 fint og forventet. 107 00:05:33,770 --> 00:05:36,620 Fordi en av de overordnede målene av en klasse som dette er virkelig å 108 00:05:36,620 --> 00:05:39,790 styrke dere med bare en forståelse av hvordan alt dette ting 109 00:05:39,790 --> 00:05:41,760 fungerer og hvordan denne verden av teknologien fungerer. 110 00:05:41,760 --> 00:05:45,400 >> Slik at når du er tilbake i ditt eget verdener, enten det er pre-med eller 111 00:05:45,400 --> 00:05:48,270 enten det er humaniora eller samfunnsfag eller noen andre felt 112 00:05:48,270 --> 00:05:51,830 helt, at dere bringer noen teknisk kyndige til bordet og 113 00:05:51,830 --> 00:05:54,770 bidrar til å ta smarte avgjørelser når det gjelder bruken av og 114 00:05:54,770 --> 00:05:57,530 innføring av teknologi inn i din verden. 115 00:05:57,530 --> 00:06:00,410 >> For eksempel ble jeg minnet på slutten også av to av undervisning 116 00:06:00,410 --> 00:06:04,410 klassene jeg tok for to år siden, som var slike enkle bruk av teknologi 117 00:06:04,410 --> 00:06:06,180 men aldri så overbevisende. 118 00:06:06,180 --> 00:06:08,845 Første natten med professor Tom Kelly hvis du har tatt klassen. 119 00:06:08,845 --> 00:06:11,640 Det er en klasse på klassisk musikk på dette stadiet her hvor du lærer en 120 00:06:11,640 --> 00:06:13,190 litt om musikk. 121 00:06:13,190 --> 00:06:17,770 Det er faktisk første nettene at CS50 lånt ideen om sporene for disse 122 00:06:17,770 --> 00:06:20,630 mindre komfortable i mellom og mer behagelig. 123 00:06:20,630 --> 00:06:24,410 >> I min tid hadde de ulike spor for barn med absolutt ingen musikk 124 00:06:24,410 --> 00:06:27,300 opplever som meg, og deretter barn som hadde opptrådt siden de var 125 00:06:27,300 --> 00:06:28,240 fem år gammel. 126 00:06:28,240 --> 00:06:31,200 Og den klassen, for eksempel, hadde et nettsted som de fleste andre, men det 127 00:06:31,200 --> 00:06:34,210 var et nettsted som lot deg utforske musikk på den og spille av 128 00:06:34,210 --> 00:06:39,120 musikalske klipp fra klassen, fra nettet, og bare bruke teknologien i en svært 129 00:06:39,120 --> 00:06:40,210 sømløs måte. 130 00:06:40,210 --> 00:06:44,460 >> En annen klasse år senere at jeg revidert, i hovedsak, i grad skolen, 131 00:06:44,460 --> 00:06:47,430 1010 Anthro, Introduksjon til arkeologi her. 132 00:06:47,430 --> 00:06:48,190 Det var fantastisk. 133 00:06:48,190 --> 00:06:52,715 Og en av de mest overbevisende ennå super opplagt i ettertid bruker av 134 00:06:52,715 --> 00:06:56,000 programvare var at professorer i at klassen brukte Google Earth. 135 00:06:56,000 --> 00:06:58,250 Vi ble sittende over gaten i noen forelesningssal. 136 00:06:58,250 --> 00:07:01,240 Og du ikke kunne reise, for eksempel, til Midtøsten for å grave at en 137 00:07:01,240 --> 00:07:04,530 av professorene hadde nettopp kommet tilbake på, men vi kunne gjøre det nærmest ved en 138 00:07:04,530 --> 00:07:07,870 flyr rundt i Google Earth og ser på et fugleperspektiv på 139 00:07:07,870 --> 00:07:10,360 grave stedet han hadde nettopp returnert fra en uke siden. 140 00:07:10,360 --> 00:07:12,630 >> Så jeg vil oppfordre dere, spesielt i humaniora, å gå 141 00:07:12,630 --> 00:07:16,260 tilbake til disse avdelingene etter dette klasse bringe den endelige prosjekter 142 00:07:16,260 --> 00:07:19,960 med deg eller ideer til din egen, og se akkurat hva du kan gjøre for å fylle opp ditt 143 00:07:19,960 --> 00:07:23,570 egne felt i humaniora eller utover med en liten bit av denne typen 144 00:07:23,570 --> 00:07:26,770 ting som vi har utforsket her i CS50. 145 00:07:26,770 --> 00:07:31,790 >> Så med det bildet malt, tenkte vi ville prøve å takle to ting i dag. 146 00:07:31,790 --> 00:07:35,040 One, kan du prøve å gi deg en følelse av hvor du kan gå etter 50. 147 00:07:35,040 --> 00:07:37,950 Og spesielt hvis du velger å takle en web-basert prosjekt som er 148 00:07:37,950 --> 00:07:42,580 utrolig vanlig, hvordan du kan gå om å ta av alle CS50 er 149 00:07:42,580 --> 00:07:45,810 trening hjul og går ute på din egen og ikke måtte stole på en 150 00:07:45,810 --> 00:07:48,000 PDF eller en spesifisering av en PSett? 151 00:07:48,000 --> 00:07:50,510 Ikke å måtte stole på en CS50 apparatet lenger. 152 00:07:50,510 --> 00:07:52,780 Men kan virkelig trekke deg opp av bootstraps. 153 00:07:52,780 --> 00:07:55,790 >> Med det sagt, C-basert finalen prosjekter er velkomne. 154 00:07:55,790 --> 00:07:58,020 Ting som bruker stativet for en bærbar bibliotek i 155 00:07:58,020 --> 00:07:59,510 Grafikken er velkomne. 156 00:07:59,510 --> 00:08:03,240 Vi bare vet at statistisk mye folk bite av prosjekter i PHP og 157 00:08:03,240 --> 00:08:07,860 Python og Ruby og MySQL og andre miljøer, så vi vil skjevhet noen av 158 00:08:07,860 --> 00:08:09,570 våre bemerkninger mot det. 159 00:08:09,570 --> 00:08:10,650 >> Men en rask titt tilbake. 160 00:08:10,650 --> 00:08:15,940 Så vi tok for gitt i pset7 den At $ _SESSION eksisterte. 161 00:08:15,940 --> 00:08:19,400 Dette var en super global, en global, assosiativ array. 162 00:08:19,400 --> 00:08:23,040 Og hva la dette du gjør? 163 00:08:23,040 --> 00:08:27,130 Funksjonelt, hva er har dette gir oss? 164 00:08:27,130 --> 00:08:28,590 Yeah? 165 00:08:28,590 --> 00:08:30,270 Å spore brukerens ID. 166 00:08:30,270 --> 00:08:31,660 Og hvorfor er dette nyttig? 167 00:08:31,660 --> 00:08:36,059 For å kunne lagre innsiden av denne super global JHarvard eller [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 eller Malan bruker-ID når han eller hun besøker et nettsted. 169 00:08:41,880 --> 00:08:42,380 >> Nettopp. 170 00:08:42,380 --> 00:08:44,049 Slik at du ikke trenger å logge inn igjen og igjen. 171 00:08:44,049 --> 00:08:47,170 Det ville være en veldig halt world wide web hvis hver gang du klikket på en link 172 00:08:47,170 --> 00:08:50,780 på et nettsted som Facebook eller hver gang du klikket på en e-post i Gmail deg 173 00:08:50,780 --> 00:08:54,060 måtte re-godkjenne å bevise at det er fortsatt deg og ikke din samboer 174 00:08:54,060 --> 00:08:56,700 som kanskje har gått opp til datamaskin i ditt fravær. 175 00:08:56,700 --> 00:08:59,640 >> Så vi bruker SESSION å bare huske hvem du er. 176 00:08:59,640 --> 00:09:01,830 Og hvordan er dette implementert under panseret? 177 00:09:01,830 --> 00:09:07,720 Hvordan en nettside som bruker, den protokoll som nettlesere og servere 178 00:09:07,720 --> 00:09:12,060 tale, hvordan HTTP, som er en statsløse protokollen, la oss si. 179 00:09:12,060 --> 00:09:15,510 >> Og ved statsløse jeg mener, når du koble til et nettsted, laste ned noen 180 00:09:15,510 --> 00:09:19,650 HTMLs, noen JavaScript, noen CSS, din nettleserens ikonet slutter å spinne. 181 00:09:19,650 --> 00:09:23,420 Du trenger ikke en konstant tilkobling til serveren typisk. 182 00:09:23,420 --> 00:09:24,170 Det var det. 183 00:09:24,170 --> 00:09:26,290 Det er ingen stat opprettholdes hele tiden. 184 00:09:26,290 --> 00:09:30,510 Så hvordan er SESSION gjennomføres slik en måte at hver gang du besøker en 185 00:09:30,510 --> 00:09:32,860 ny side, husker nettsiden hvem du er? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Hva er den underliggende implementeringen detalj? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Rop det ut. 190 00:09:41,490 --> 00:09:43,270 Det er ett ord. 191 00:09:43,270 --> 00:09:43,640 >> Cookies. 192 00:09:43,640 --> 00:09:44,190 OK. 193 00:09:44,190 --> 00:09:44,800 Så cookies. 194 00:09:44,800 --> 00:09:45,900 Vel, hvordan brukes informasjonskapsler? 195 00:09:45,900 --> 00:09:48,870 Vi vil minne om at en cookie er generelt bare en bit av informasjon. 196 00:09:48,870 --> 00:09:51,590 Og det er ofte en stor tilfeldig nummer, men ikke alltid. 197 00:09:51,590 --> 00:09:55,420 Og en cookie er plantet på dine hardt stasjon eller i datamaskinens RAM så 198 00:09:55,420 --> 00:09:59,070 at hver gang du besøker det samme nettstedet, minner leseren på 199 00:09:59,070 --> 00:10:01,650 server, jeg bruker 1.234.567. 200 00:10:01,650 --> 00:10:03,570 Jeg er brukeren 1.234.567. 201 00:10:03,570 --> 00:10:07,590 >> Og så lenge serveren har husket at brukeren 1234567 er 202 00:10:07,590 --> 00:10:11,300 JHarvard, vil nettstedet bare anta at du er den du sier du er. 203 00:10:11,300 --> 00:10:14,230 Og husker at vi presenterer disse informasjonskapslene slags i form av en 204 00:10:14,230 --> 00:10:15,510 virtuell hånd stativ. 205 00:10:15,510 --> 00:10:20,530 Det er sendt i HTTP-hoder bare for å minne serveren at du er som det 206 00:10:20,530 --> 00:10:21,620 tror du er. 207 00:10:21,620 --> 00:10:23,320 >> Selvfølgelig, det er en trussel. 208 00:10:23,320 --> 00:10:27,530 Hvilken trussel åpner dette oss opp til hvis vi egentlig bruker en slags klubb 209 00:10:27,530 --> 00:10:30,110 eller en fornøyelsespark mekanisme for å huske hvem vi er? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Hvis du kopierer noens cookie og kapre sin sesjon, så å si, du 212 00:10:36,170 --> 00:10:39,670 kan late som å være noen andre, og det Nettside mest sannsynlig bare kommer til å 213 00:10:39,670 --> 00:10:40,150 tror deg. 214 00:10:40,150 --> 00:10:41,030 Så får vi komme tilbake til det. 215 00:10:41,030 --> 00:10:44,240 Fordi den andre temaet for i dag utover Selvstendighet er også snakk 216 00:10:44,240 --> 00:10:48,170 om veldig skremmende verden vi lever i og hvor mye av det du gjør på 217 00:10:48,170 --> 00:10:51,480 nettet, hvor mye av det du gjør selv på mobiltelefoner i dag kan være 218 00:10:51,480 --> 00:10:55,170 spores egentlig av alle mellom deg og punkt B. 219 00:10:55,170 --> 00:10:56,240 >> Og Ajax, tilbakekalling. 220 00:10:56,240 --> 00:10:58,740 Vi så bare en kort stund på dette, selv om du har brukt det 221 00:10:58,740 --> 00:11:02,660 indirekte i pset8 fordi du bruker Google Maps og fordi du er 222 00:11:02,660 --> 00:11:03,830 ved hjelp av Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps og Google Earth ikke laste ned hele verden til din 224 00:11:07,780 --> 00:11:10,490 skrivebordet, selvsagt, den øyeblikket du legger pset8. 225 00:11:10,490 --> 00:11:15,020 Den laster ned bare et torg i verden eller et større kvadrat av jorden. 226 00:11:15,020 --> 00:11:18,910 Og deretter hver gang du liksom styre utenfor rekkevidde kan du legge merke til - 227 00:11:18,910 --> 00:11:21,790 spesielt hvis du er på en treg tilkobling - du kan se noen grå for et øyeblikk 228 00:11:21,790 --> 00:11:26,440 eller litt uklar bilder som Datamaskinen laster ned flere slike fliser, 229 00:11:26,440 --> 00:11:29,190 mer slike bilder fra verden eller jorden. 230 00:11:29,190 --> 00:11:34,620 >> Og Ajax er vanligvis den teknikken av hvilke nettsteder som gjør det. 231 00:11:34,620 --> 00:11:39,250 Når du trenger mer av kartet, din Nettleseren kommer til å bruke Ajax, som er 232 00:11:39,250 --> 00:11:42,240 ikke i seg selv et språk eller teknologi, det er bare en teknikk. 233 00:11:42,240 --> 00:11:47,390 Det er bruk av JavaScript for å hente mer informasjon fra en server som 234 00:11:47,390 --> 00:11:52,320 lar få nettleseren til å gå hva som er til øst eller hva som er på vestsiden av 235 00:11:52,320 --> 00:11:55,110 hva er ellers i dag er vist i det kartet. 236 00:11:55,110 --> 00:11:58,520 Så dette er et tema som mange av dere vil møte enten direkte eller 237 00:11:58,520 --> 00:12:01,180 indirekte via endelige prosjekter hvis du velger å gjøre noe som er 238 00:12:01,180 --> 00:12:05,020 samme dynamikk som trekker data fra noen tredjeparts nettsted. 239 00:12:05,020 --> 00:12:07,390 >> Så vi har fått en veldig spennende neste onsdag fremover. 240 00:12:07,390 --> 00:12:12,280 En quiz, den informasjonen som er på CS50.net allerede. 241 00:12:12,280 --> 00:12:17,530 Vet at det vil være en gjennomgang session førstkommende mandag klokken 05:30. 242 00:12:17,530 --> 00:12:21,010 Datoen og klokkeslettet er allerede lagt ut på CS50.net i den Om arket. 243 00:12:21,010 --> 00:12:22,940 Og la oss vet du har noen spørsmål. 244 00:12:22,940 --> 00:12:25,230 Pset8 er i mellomtiden allerede i hendene. 245 00:12:25,230 --> 00:12:29,210 >> Og la meg bare ta en FAQ å spare folk litt stress. 246 00:12:29,210 --> 00:12:32,530 For det meste mye skravling vi ser på arbeidstid og mye 247 00:12:32,530 --> 00:12:36,950 feilene vi ser rapportert på Diskuter er faktisk feil i en elevs kode. 248 00:12:36,950 --> 00:12:41,360 Men når du har støtt på noe som Google Earth plugin-krasj 249 00:12:41,360 --> 00:12:44,310 eller ikke engang fungerer, og du er sikker på det er ikke deg, det er ikke en 250 00:12:44,310 --> 00:12:48,530 [? chamad?] problemet, er det ikke en bug du introdusert i 251 00:12:48,530 --> 00:12:49,820 fordeling kode. 252 00:12:49,820 --> 00:12:51,250 >> Innse FYI - 253 00:12:51,250 --> 00:12:53,130 dette er slags plan Z - 254 00:12:53,130 --> 00:12:57,100 at forrige gang vi brukte dette problemet satt, og vi kjørte inn i lignende 255 00:12:57,100 --> 00:13:01,520 problemer, det er en linje med kode i service.js som i hovedsak er dette, 256 00:13:01,520 --> 00:13:03,580 som sier, slår bygninger på. 257 00:13:03,580 --> 00:13:07,100 Og de omgå den siste gangen vi gjorde dette i, igjen, hjørne tilfeller der 258 00:13:07,100 --> 00:13:11,660 studenter kunne bare ikke få darn ting å jobbe er å endre true til false 259 00:13:11,660 --> 00:13:12,940 i at en kodelinje. 260 00:13:12,940 --> 00:13:15,520 Og du finner det hvis du søker gjennom service.js. 261 00:13:15,520 --> 00:13:19,990 >> Jeg anbefaler ikke dette fordi du vil lage den mest golde landskapet 262 00:13:19,990 --> 00:13:21,720 av Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Dette vil bokstavelig talt flat verden slik at alt du ser er undervisningen 264 00:13:24,930 --> 00:13:28,610 stipendiater og kurs assistenter på horisonten og ingen bygninger. 265 00:13:28,610 --> 00:13:31,980 Men innser uansett grunn den Google Earth plug-in fortsatt synes å være 266 00:13:31,980 --> 00:13:35,290 buggy et år senere, så dette kan være din fail lagre. 267 00:13:35,290 --> 00:13:38,915 Så i stedet for å ty til tårer, resort å snu bygninger av hvis du vet 268 00:13:38,915 --> 00:13:41,980 det er plug-in som ikke samarbeider på din Mac eller PC. 269 00:13:41,980 --> 00:13:46,060 Men, dette er igjen siste utvei hvis du er sikker på at det ikke er en bug. 270 00:13:46,060 --> 00:13:46,890 >> Så Hackathon. 271 00:13:46,890 --> 00:13:48,950 Et par teasers bare å få deg opphisset. 272 00:13:48,950 --> 00:13:50,640 Vi hadde ganske mange svarene. 273 00:13:50,640 --> 00:13:54,230 Og bare for å male et bilde av hva venter, tenkte jeg at jeg skulle gi deg noen 274 00:13:54,230 --> 00:13:56,858 sekunder tilbakekalling av disse bildene fra i fjor. 275 00:13:56,858 --> 00:14:00,850 >> [MUSIC] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. MALAN: Vent, oh. 277 00:14:02,240 --> 00:14:05,410 Vi har våre bokstavelig CS50 skyttelbussene. 278 00:14:05,410 --> 00:14:17,920 >> [MUSIC] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. MALAN: Så det er hva som venter deg i form av den Hackathon. 280 00:14:20,620 --> 00:14:24,180 Og dette vil være en mulighet, til være tydelig, for ikke å starte den endelige 281 00:14:24,180 --> 00:14:27,730 prosjekter, men å jobbe videre med den endelige prosjekter sammen 282 00:14:27,730 --> 00:14:30,210 klassekamerater og ansatte og masse mat. 283 00:14:30,210 --> 00:14:34,340 Og igjen, hvis du er våken om 05:00 vi tar deg nedover veien til IHOP. 284 00:14:34,340 --> 00:14:37,075 >> Det CS50 rettferdig, i mellomtiden, er klimaks for hele klassen der 285 00:14:37,075 --> 00:14:41,160 du tar med din bærbare PC og venner, kanskje til og med familien til et rom på campus 286 00:14:41,160 --> 00:14:44,530 ned gaten for å stille ut dine prosjekter på bærbare datamaskiner, på høye bord 287 00:14:44,530 --> 00:14:47,570 som dette med masse mat og venner og musikk i bakgrunnen, 288 00:14:47,570 --> 00:14:49,250 så vel som våre venner fra industrien. 289 00:14:49,250 --> 00:14:52,760 Selskaper som Facebook og Microsoft og Google og Amazon og bunter av 290 00:14:52,760 --> 00:14:55,750 andre, slik at hvis interessert i bare høre om den virkelige verden eller 291 00:14:55,750 --> 00:14:59,570 chatter med folk om virkelige verden internship eller full tid muligheter, 292 00:14:59,570 --> 00:15:01,950 vet at noen av våre venner fra industrien vil være der. 293 00:15:01,950 --> 00:15:04,970 Og et par av bildene kan vi maling her er som følger. 294 00:15:04,970 --> 00:15:24,400 >> [MUSIC] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. MALAN: All right. 296 00:15:24,920 --> 00:15:27,060 Så det er da CS50 rettferdig. 297 00:15:27,060 --> 00:15:31,780 Så la oss nå gå videre til å fortelle en historie som virkelig vil styrke deg forhåpentligvis 298 00:15:31,780 --> 00:15:33,230 for ting som endelige prosjekter. 299 00:15:33,230 --> 00:15:36,940 Så en av noen små ting til din ætt sinn, enten for endelig prosjekter 300 00:15:36,940 --> 00:15:40,470 eller bare mer generelt for prosjekter som du kan bestemme seg for å takle etter 301 00:15:40,470 --> 00:15:45,720 kurset, disse er alle dokumentert på manual.cs50.net der CS50 302 00:15:45,720 --> 00:15:48,010 manual der vi har massevis av teknikker dokumentert. 303 00:15:48,010 --> 00:15:51,080 >> Og dette er bare korte notasjonen for si at det foreligger i 304 00:15:51,080 --> 00:15:55,190 verdens ting kalt SMS til e-post gateways, som er en fancy måte å 305 00:15:55,190 --> 00:15:58,180 sier, det er serverne i verden som vet hvordan å konvertere e-post til 306 00:15:58,180 --> 00:15:59,230 tekstmeldinger. 307 00:15:59,230 --> 00:16:02,450 Så hvis for det endelige prosjektet du vil å skape en slags mobil tema 308 00:16:02,450 --> 00:16:06,650 tjeneste som gjør det mulig å varsle venner eller brukere til arrangementer på campus 309 00:16:06,650 --> 00:16:10,290 eller hva som blir servert i D Hall den kvelden eller noe slikt varsling funksjon, 310 00:16:10,290 --> 00:16:15,150 vet at det er enkelt som å sende en e-post som med PHPMailer som du 311 00:16:15,150 --> 00:16:18,735 kan ha brukt for pset7 eller vi så kort en uke eller så siden, til 312 00:16:18,735 --> 00:16:20,440 postadresser som denne. 313 00:16:20,440 --> 00:16:26,040 >> Og faktisk kan du teksten dette forutsatt din venn har et ubegrenset texting 314 00:16:26,040 --> 00:16:28,310 plan og du ikke ønsker å lade dem $ 0,10. 315 00:16:28,310 --> 00:16:31,920 Men hvis du sender en e-post til din venn som du vet å ha Verizon eller 316 00:16:31,920 --> 00:16:35,870 AT & T bruker Gmail og bare sende det til telefonnummeret sitt på uansett 317 00:16:35,870 --> 00:16:38,980 sub-domene er det, skjønner du vil sende en tekstmelding. 318 00:16:38,980 --> 00:16:41,570 >> Men dette er en av de tingene være forsiktig med. 319 00:16:41,570 --> 00:16:47,430 Hvis du troll gjennom fjorårets CS50 videoer tror jeg det var, en forferdelige, 320 00:16:47,430 --> 00:16:51,660 forferdelige, forferdelige bug jeg skrev i koden endte opp med å sende rundt 20.000 tekst 321 00:16:51,660 --> 00:16:55,410 meldinger leve til vår elevene i klassen. 322 00:16:55,410 --> 00:16:57,970 Og bare fordi noen la merke til at de fikk flere tekst 323 00:16:57,970 --> 00:17:01,860 meldinger fra meg gjorde jeg har midlene til å treffe Kontroll C raskt 324 00:17:01,860 --> 00:17:03,210 og stoppe denne prosessen. 325 00:17:03,210 --> 00:17:06,200 Kontroll C, du husker, er din venn i tilfeller av uendelig loop. 326 00:17:06,200 --> 00:17:10,900 Så pass opp kraften vi har nettopp gitt til deg i stedet uansvarlig, mest 327 00:17:10,900 --> 00:17:12,950 sannsynlig, basert på min egen erfaring. 328 00:17:12,950 --> 00:17:15,400 Men det er på nettet og har vært der i noen tid. 329 00:17:15,400 --> 00:17:15,810 >> OK. 330 00:17:15,810 --> 00:17:17,064 Så textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Så dette er en nettside. 332 00:17:18,040 --> 00:17:20,829 Og det er bunter av andre der ute samt at vi faktisk har brukt 333 00:17:20,829 --> 00:17:24,050 som en klasse i mange år for å kunne å motta tekstmeldinger. 334 00:17:24,050 --> 00:17:27,869 Dessverre, sende tekstmeldinger er enkelt som å sende e-poster sånn. 335 00:17:27,869 --> 00:17:30,730 Motta er litt vanskeligere, spesielt hvis du vil ha en av 336 00:17:30,730 --> 00:17:34,610 de sexy korte koder som er bare fem eller seks sifre. 337 00:17:34,610 --> 00:17:37,720 >> Så for eksempel, i mange år har du vært kunne sende en tekstmelding - og du 338 00:17:37,720 --> 00:17:39,200 kan prøve dette også - 339 00:17:39,200 --> 00:17:41,900 til 41411. 340 00:17:41,900 --> 00:17:44,300 Og det er telefonnummeret til denne spesielle oppstart. 341 00:17:44,300 --> 00:17:48,130 Og hvis du sender en melding til 41 411 - 342 00:17:48,130 --> 00:17:51,190 Jeg skal bare skrive det opp her, så 41 411 - 343 00:17:51,190 --> 00:17:54,290 og deretter sende dem en melding liker SBOY for Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 Og deretter skrive inn noe som mather quad. 345 00:17:56,370 --> 00:17:59,360 Så du sende denne tekstmeldingen til det telefonnummeret. 346 00:17:59,360 --> 00:18:02,630 Innen noen få sekunder skal du få tilbake et svar fra CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Boy-tjenesten, som er shuttle planlegging programvare som vi har hatt ut 348 00:18:06,210 --> 00:18:07,290 der ute på nettet en stund. 349 00:18:07,290 --> 00:18:09,450 Og det vil svare på du via tekstmelding. 350 00:18:09,450 --> 00:18:13,410 >> Fordi det vi har gjort som en klasse, som en programmerer, er å skrive programvare, 351 00:18:13,410 --> 00:18:18,760 konfigurert vår gratis konto med tekst merkene for å lytte til tekstmeldinger sendt 352 00:18:18,760 --> 00:18:20,770 å SBOY på det nummeret. 353 00:18:20,770 --> 00:18:25,210 Og hva de gjør fremover er de som tekst meldinger til vår PHP-basert nettsted som 354 00:18:25,210 --> 00:18:27,420 HTTP-parametere sier her. 355 00:18:27,420 --> 00:18:30,380 Denne brukeren med dette telefonnummeret sendte deg denne tekstmeldingen. 356 00:18:30,380 --> 00:18:31,850 Gjøre med det hva du vil. 357 00:18:31,850 --> 00:18:35,180 >> Så vi skrev noe programvare som på mottar en streng som SBOY Mather 358 00:18:35,180 --> 00:18:38,420 quad, analysere vi det. 359 00:18:38,420 --> 00:18:41,210 Vi finne ut hvor mellomrommene er mellom ordene. 360 00:18:41,210 --> 00:18:44,220 Og vi som en klasse bestemmer hvordan å svare på det. 361 00:18:44,220 --> 00:18:47,335 Og hvis du prøver det nå, for eksempel, du burde se, via svar innen en 362 00:18:47,335 --> 00:18:51,470 noen sekunder, de neste få skyttelbussene går fra Mather til quad hvis noen. 363 00:18:51,470 --> 00:18:52,260 Og det er andre stopp. 364 00:18:52,260 --> 00:18:56,060 Du kan skrive inn Boylston eller andre slike stopper på campus, og det skal 365 00:18:56,060 --> 00:18:57,760 gjenkjenne disse ordene. 366 00:18:57,760 --> 00:18:58,590 >> Så parse.com. 367 00:18:58,590 --> 00:19:01,630 Dette er en annen tjeneste som vi har vært peker noen elever på for 368 00:19:01,630 --> 00:19:04,390 siste prosjekter som er fantastisk i at det er gratis for en 369 00:19:04,390 --> 00:19:05,660 rimelig mengde bruk. 370 00:19:05,660 --> 00:19:08,820 Og hvis jeg går til parse.com du vil se at dette er et alternativ til 371 00:19:08,820 --> 00:19:13,230 faktisk ha noe sånt din egen MySQL database. 372 00:19:13,230 --> 00:19:14,490 Og ærlig talt, det er bare slags hypnotiserende. 373 00:19:14,490 --> 00:19:17,450 Dette er hva som er på innsiden av sky selv på en overskyet dag. 374 00:19:17,450 --> 00:19:21,580 >> Så parse.com lar deg gjøre en haug av interessante ting. 375 00:19:21,580 --> 00:19:23,610 Og det er andre alternativer til dette der ute. 376 00:19:23,610 --> 00:19:26,870 For eksempel kan du bruke dem som back end database. 377 00:19:26,870 --> 00:19:28,980 Slik at du ikke trenger å ha en web-hosting selskapet. 378 00:19:28,980 --> 00:19:31,180 Du trenger ikke å ha en MySQL database. 379 00:19:31,180 --> 00:19:32,850 Du kan i stedet bruke sin back end. 380 00:19:32,850 --> 00:19:36,350 >> Hvis du gjør en mobil prosjekt for Android eller iOS eller lignende, vet at 381 00:19:36,350 --> 00:19:39,776 det finnes ting som push-tjenester slik at du kan presse varsler til dine venner 382 00:19:39,776 --> 00:19:41,390 eller brukernes startskjermer. 383 00:19:41,390 --> 00:19:43,600 Og så en haug med andre funksjoner i tillegg. 384 00:19:43,600 --> 00:19:47,200 >> Så hvis du har interesse, sjekk ut disse nettsteder og websider som dem 385 00:19:47,200 --> 00:19:50,720 å bare se hvor mange andre folkeslag ' skuldre du kan stå på for å gjøre 386 00:19:50,720 --> 00:19:53,350 veldig kul programvare for din egen. 387 00:19:53,350 --> 00:19:56,690 >> Nå i form av godkjenning, en FAQ, er hvordan du faktisk garantere 388 00:19:56,690 --> 00:20:01,220 at brukerne er folk på campus, Harvard studenter eller lærere eller ansatte? 389 00:20:01,220 --> 00:20:05,350 Så CS50 har sin egen autentisering tjeneste kalt CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Gå til denne nettadressen og du kan begrense nettstedet for alle med en Harvard 391 00:20:09,940 --> 00:20:11,340 ID, for eksempel. 392 00:20:11,340 --> 00:20:12,550 Så vet at vi kan håndtere det. 393 00:20:12,550 --> 00:20:15,280 Dere bør ikke være i bransjen å si, hva er din Harvard ID? 394 00:20:15,280 --> 00:20:16,160 Hva er din Harvard PIN? 395 00:20:16,160 --> 00:20:17,550 La meg nå gjøre noe med det. 396 00:20:17,550 --> 00:20:18,740 Vi vil gjøre alt dette. 397 00:20:18,740 --> 00:20:21,710 Og hva vi skal gi tilbake er noens navn og e-postadresse, men 398 00:20:21,710 --> 00:20:23,010 ikke noe sensitiv. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> En app på en mobil enhet, kan det være laget for å fungere på en mobil enhet, men 401 00:20:30,380 --> 00:20:32,630 det er ikke helt designet for det. 402 00:20:32,630 --> 00:20:35,640 Så vil du ende opp med å tilbringe en ikke ubetydelig Mengden av tid å gjøre det. 403 00:20:35,640 --> 00:20:38,040 Så jeg vil fraråde den ruten for nå. 404 00:20:38,040 --> 00:20:41,570 Dette er egentlig ment for web-baserte applikasjoner. 405 00:20:41,570 --> 00:20:42,650 >> Så web hosting. 406 00:20:42,650 --> 00:20:44,450 Så hvis du ikke har sett på kursets hjemmeside - 407 00:20:44,450 --> 00:20:46,610 og her er hvor vi skal begynne en historie - 408 00:20:46,610 --> 00:20:50,900 web hosting handler om å betale for vanligvis en tjeneste, være vert for en server eid 409 00:20:50,900 --> 00:20:54,800 av noen andre på nettet som har en IP-adresse, og du deretter sette 410 00:20:54,800 --> 00:20:55,880 nettside på den. 411 00:20:55,880 --> 00:20:58,620 Og de som regel gi deg e- kontoer og databaser 412 00:20:58,620 --> 00:21:00,160 og andre slike egenskaper. 413 00:21:00,160 --> 00:21:02,930 >> Vet at hvis du ikke ønsker å faktisk betale for slikt, gå til denne nettadressen 414 00:21:02,930 --> 00:21:06,280 der og CS50 har faktisk en non-profit konto som du kan bruke til å 415 00:21:06,280 --> 00:21:11,490 faktisk har ikke http://project inne i apparatet 416 00:21:11,490 --> 00:21:12,470 for det endelige prosjektet. 417 00:21:12,470 --> 00:21:16,465 Hvis du faktisk vil at det skal være noe lignende, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 du kan kjøpe det domenenavnet - selv ikke det spesielt ett - og 419 00:21:19,730 --> 00:21:24,070 så kan du gå om hosting det på en offentlig web server som vi kan tilby 420 00:21:24,070 --> 00:21:25,170 dere gjennom her. 421 00:21:25,170 --> 00:21:27,240 >> Og faktisk hvis ukjente, hvis du aldri har vært i 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, en, gå dit. 423 00:21:30,590 --> 00:21:37,310 Men to, vet at det var en ung Kvinnens navn etter Tej å toor Too to 424 00:21:37,310 --> 00:21:41,550 år siden, tre år siden, som var en CS50 alumni som skjedde en dag eller to 425 00:21:41,550 --> 00:21:46,280 før CS50 rettferdig sendt ut en e-post til huset hennes mailingliste og voila. 426 00:21:46,280 --> 00:21:49,770 To dager senere av CS50 rettferdig, hadde hun hundrevis av brukere snikende på 427 00:21:49,770 --> 00:21:53,240 hverandre på hennes nettside og si hvordan de hadde sett 428 00:21:53,240 --> 00:21:55,250 henne eller ham på campus. 429 00:21:55,250 --> 00:21:57,600 Så det er en av CS50 favoritt suksesshistorier fra 430 00:21:57,600 --> 00:21:59,650 en CS50 endelige prosjektet. 431 00:21:59,650 --> 00:22:04,090 >> Så hvordan du går om å sette et nettsted sånn på internett? 432 00:22:04,090 --> 00:22:07,140 Vel, det er noen slike ingredienser her. 433 00:22:07,140 --> 00:22:09,310 Så en, må du kjøpe et domenenavn. 434 00:22:09,310 --> 00:22:12,440 Det er bunter av steder i verden, som du kan 435 00:22:12,440 --> 00:22:13,940 kjøpe et domenenavn. 436 00:22:13,940 --> 00:22:16,660 Og for eksempel, en som vi anbefaler bare fordi det er populært 437 00:22:16,660 --> 00:22:18,855 og det er billig kalles namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Men du kan gå godaddy.com og dusinvis av andre der ute. 439 00:22:22,860 --> 00:22:24,420 Du kan lese opp på vurderinger. 440 00:22:24,420 --> 00:22:26,250 >> Men for det meste gjør det ikke rolle fra hvem du 441 00:22:26,250 --> 00:22:27,720 kjøpe et domenenavn. 442 00:22:27,720 --> 00:22:30,780 Og de varierer i pris og de varierer i suffikset. 443 00:22:30,780 --> 00:22:37,140 De suffikser som. Com,. Net, . Org,. Io,. Tv, de 444 00:22:37,140 --> 00:22:38,650 faktisk varierer i pris. 445 00:22:38,650 --> 00:22:43,630 Men hvis vi ønsket å gjøre noe sånt cats.com vi kan gå til denne nettsiden, 446 00:22:43,630 --> 00:22:44,280 deretter Søk. 447 00:22:44,280 --> 00:22:46,370 Antagelig dette er tatt. 448 00:22:46,370 --> 00:22:50,170 Men tydeligvis catsagainst.com er tilgjengelig. 449 00:22:50,170 --> 00:22:52,100 pluscats.com er tilgjengelig. 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 Alt dette forhåpentligvis pseudo tilfeldig generert. 453 00:22:59,135 --> 00:23:04,670 Hvis du ønsker cats.pw, $ 1500 bare, som er litt gal. 454 00:23:04,670 --> 00:23:08,100 Så noen har virkelig snappet opp alle katten relaterte domenenavn her for 455 00:23:08,100 --> 00:23:09,840 varierende priser. 456 00:23:09,840 --> 00:23:12,360 >> Som en side, la oss se. 457 00:23:12,360 --> 00:23:13,710 Hvem har cats.com? 458 00:23:13,710 --> 00:23:16,290 Vet at dere har på din disposisjon ganske 459 00:23:16,290 --> 00:23:17,540 sofistikerte kommandoer nå. 460 00:23:17,540 --> 00:23:20,592 Som jeg kan skrive bokstavelig talt som er cats.com? 461 00:23:20,592 --> 00:23:23,730 Og på grunn av måten Internett er strukturert du faktisk kan se hvem 462 00:23:23,730 --> 00:23:25,440 har registrert dette. 463 00:23:25,440 --> 00:23:30,240 Angivelig denne personen er [uhørlig] bruker en proxy-tjeneste. 464 00:23:30,240 --> 00:23:33,900 Så den som eier cats.com ønsker ikke at verden skal vite hvem de er. 465 00:23:33,900 --> 00:23:36,610 Så de har registrert om gjennom noen tilfeldige Privacy Service. 466 00:23:36,610 --> 00:23:39,100 Men noen ganger du faktisk få faktiske eierne. 467 00:23:39,100 --> 00:23:41,420 >> Og dette er å si, spesielt hvis du er forfølge noen oppstart og du 468 00:23:41,420 --> 00:23:44,640 virkelig ønsker noen domenenavn og du er villig til å betale noen andre for 469 00:23:44,640 --> 00:23:48,050 det, kan du regne ut kontakten informasjon på den måten. 470 00:23:48,050 --> 00:23:49,940 >> Men også interessant er dette. 471 00:23:49,940 --> 00:23:53,380 La meg bla opp til denne delen. 472 00:23:53,380 --> 00:23:55,330 Slik dette er at samme utgang. 473 00:23:55,330 --> 00:23:56,990 Og dette er bare klebrig. 474 00:23:56,990 --> 00:24:00,740 Så tilsynelatende cats.com kan være din for riktig pris. 475 00:24:00,740 --> 00:24:03,170 Men det som er interessant her er at navnetjenerne - 476 00:24:03,170 --> 00:24:06,040 dette er totalt misbruk av hva et navn Serveren er ment å være - ditt navn 477 00:24:06,040 --> 00:24:08,876 Serveren er ikke ment å være thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Hvis vi faktisk velge noe sånt som - 479 00:24:11,050 --> 00:24:15,181 la oss velge noe litt mer legitim ut, som er google.com, 480 00:24:15,181 --> 00:24:17,030 og blar opp her. 481 00:24:17,030 --> 00:24:18,280 Så her - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 hva skjedde der? 484 00:24:21,740 --> 00:24:22,480 Interessant. 485 00:24:22,480 --> 00:24:25,290 Utover som er - 486 00:24:25,290 --> 00:24:26,610 la oss holde det mer low key. 487 00:24:26,610 --> 00:24:28,370 >> Hvem er mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Dette er nyttig. 490 00:24:29,900 --> 00:24:31,400 Så dette er hva jeg hadde håpet på. 491 00:24:31,400 --> 00:24:33,930 Legitim bruk av DNS-tjenesten. 492 00:24:33,930 --> 00:24:36,750 Navnetjenere her indikere følgende. 493 00:24:36,750 --> 00:24:40,880 Dette er MIT måte å si, når noen i verden, uansett hvor de 494 00:24:40,880 --> 00:24:46,950 er, typer i mit.edu og treff Enter, den bærbare datamaskinen, enten Mac eller PC, vil 495 00:24:46,950 --> 00:24:51,830 en eller annen måte til slutt finne ut at mennesker i verden som vet hva 496 00:24:51,830 --> 00:24:58,130 IP-adresse er for mit.edu eller en hvilken som helst av de subdomener på mit.edu eller noen av 497 00:24:58,130 --> 00:25:01,660 disse serverne her - og det faktisk ser ut som MITs infrastruktur er 498 00:25:01,660 --> 00:25:03,370 ganske robust som du forventer. 499 00:25:03,370 --> 00:25:07,050 De har flere navn servere som er bra for redundans. 500 00:25:07,050 --> 00:25:09,840 Og faktisk, synes de å være globalt distribuert over hele verden. 501 00:25:09,840 --> 00:25:13,250 En haug av dem ser ut til å være i USA, et par i Asia, en i Europa, to 502 00:25:13,250 --> 00:25:14,540 i et annet sted. 503 00:25:14,540 --> 00:25:18,000 >> Men poenget her er at DNS som vi har tatt for gitt og 504 00:25:18,000 --> 00:25:21,990 vanligvis beskrevet som en stor Excel-tabell som har IP-adresser og domene 505 00:25:21,990 --> 00:25:25,890 navnene er egentlig ganske sofistikert hierarkisk tjenesten, slik at i 506 00:25:25,890 --> 00:25:29,170 verden er det faktisk et endelig antall av servere som i hovedsak vet hvor 507 00:25:29,170 --> 00:25:32,880 alle de. coms er eller alle de. garn er, alle av 508 00:25:32,880 --> 00:25:34,650 . Orgs er, og så videre. 509 00:25:34,650 --> 00:25:37,820 >> Så når du går videre og kjøpe et domene navn fra et sted som navn Cheap eller 510 00:25:37,820 --> 00:25:41,450 Go Daddy eller noe annet nettsted, en av de viktigste trinnene som du må gjøre 511 00:25:41,450 --> 00:25:45,180 du, hvis du gjør dette selv for den endelige prosjektet, er å fortelle registraren 512 00:25:45,180 --> 00:25:49,020 fra hvem du kjøper domenet navn, hvem vet i din verden 513 00:25:49,020 --> 00:25:52,310 nettstedets IP-adresser, som navnetjenere er. 514 00:25:52,310 --> 00:25:55,750 >> Så hvis du bruker, for eksempel CS50 er hosting konto - vi måtte ha 515 00:25:55,750 --> 00:25:57,760 denne kontoen gjennom dreamhost.com som er en 516 00:25:57,760 --> 00:25:59,560 populære web hosting selskap - 517 00:25:59,560 --> 00:26:03,530 de vil fortelle deg at du bør kjøpe domenet ditt og fortelle verden at 518 00:26:03,530 --> 00:26:09,410 ditt domene navn server er ns1.dreamhost.com, ns2.dreamhost.com, 519 00:26:09,410 --> 00:26:11,470 og ns3.dreamhost.com. 520 00:26:11,470 --> 00:26:12,600 >> Men det er det. 521 00:26:12,600 --> 00:26:15,480 Kjøpe et domenenavn betyr å gi dem penger og får eierskap til 522 00:26:15,480 --> 00:26:17,190 domene, men det er mer som en leie skjønt. 523 00:26:17,190 --> 00:26:20,060 Du får den for et år og deretter de bill du recurringly for resten av 524 00:26:20,060 --> 00:26:22,130 ditt liv inntil du avbryter domenenavnet. 525 00:26:22,130 --> 00:26:24,510 Og så fortelle dem hvem navnetjenerne er. 526 00:26:24,510 --> 00:26:26,190 Men så er du ferdig med registraren. 527 00:26:26,190 --> 00:26:30,130 Og derfra vil du samhandler bare med din web hosting selskap, som 528 00:26:30,130 --> 00:26:32,030 i CS50 sak vil være DreamHost. 529 00:26:32,030 --> 00:26:36,080 Men igjen, vil mer dokumentasjon være gitt til deg hvis du bestemmer deg for å gå 530 00:26:36,080 --> 00:26:37,170 den ruten. 531 00:26:37,170 --> 00:26:40,750 >> Så hvis du gjør dette etter kursets slutt, ganske enkelt googling web hosting 532 00:26:40,750 --> 00:26:42,830 Selskapet vil slå opp tusenvis av alternativer. 533 00:26:42,830 --> 00:26:45,720 Og jeg vil generelt oppfordre deg til spør venner som kanskje har brukt en 534 00:26:45,720 --> 00:26:49,350 selskapet før hvis de anbefaler dem og hadde en god opplevelse. 535 00:26:49,350 --> 00:26:52,680 >> Fordi det er mye fly by night web hosting selskaper, som en fyr i 536 00:26:52,680 --> 00:26:55,220 hans kjeller med en server som har en IP-adresse. 537 00:26:55,220 --> 00:26:58,980 Han har litt ekstra RAM og harddisk plass og bare selger web hosting 538 00:26:58,980 --> 00:27:02,380 kontoer selv om det er ingen måte at serveren kunne håndtere hundrevis av 539 00:27:02,380 --> 00:27:04,050 brukere eller tusenvis av brukere. 540 00:27:04,050 --> 00:27:06,260 Så innser du vil få hva du betaler for. 541 00:27:06,260 --> 00:27:09,510 >> For en god stund for min personlige hjem side - og dette var helt akseptabelt 542 00:27:09,510 --> 00:27:11,830 fordi jeg hadde, som, to besøkende i måneden - 543 00:27:11,830 --> 00:27:14,990 Jeg var å betale, like, $ 2,95 i måneden. 544 00:27:14,990 --> 00:27:17,230 Og jeg er ganske sikker på at det var i noens kjeller. 545 00:27:17,230 --> 00:27:20,800 Men igjen, får du ikke nødvendigvis noen garantier for oppetid eller 546 00:27:20,800 --> 00:27:21,840 skalerbarhet. 547 00:27:21,840 --> 00:27:24,560 Så igjen, du vanligvis ser ved noe mer enn det. 548 00:27:24,560 --> 00:27:26,220 >> Vel, hva med SSL? 549 00:27:26,220 --> 00:27:27,690 Så hva er SSL brukes til? 550 00:27:27,690 --> 00:27:30,320 La oss nå begynne å styre i retninger av sikkerhet og ting som 551 00:27:30,320 --> 00:27:32,330 kan skade oss. 552 00:27:32,330 --> 00:27:36,890 Spesielt når du våger ut på egen hånd. 553 00:27:36,890 --> 00:27:41,650 >> Hva er SSL, eller hva som SSL brukes til? 554 00:27:41,650 --> 00:27:42,660 Sikkerhet, OK. 555 00:27:42,660 --> 00:27:44,000 Så det er brukt for sikkerhet. 556 00:27:44,000 --> 00:27:44,640 Hva betyr det? 557 00:27:44,640 --> 00:27:47,170 Så det står for Secure Sockets Layer. 558 00:27:47,170 --> 00:27:52,330 Og merkes med en URL som starter med https://. 559 00:27:52,330 --> 00:27:58,410 Mange av oss har sikkert aldri skrevet https://, men du vil ofte oppleve at 560 00:27:58,410 --> 00:28:03,000 din nettleser er omdirigert fra HTTP til HTTPS slik at alt er der 561 00:28:03,000 --> 00:28:04,260 etter kryptert. 562 00:28:04,260 --> 00:28:10,810 >> FYI, ved hjelp av SSL krever vanligvis at du har en unik IP-adresse. 563 00:28:10,810 --> 00:28:13,940 Og typisk å få en unik IP-adresse du må betale en web hosting 564 00:28:13,940 --> 00:28:15,850 Selskapets et par dollar mer per måned. 565 00:28:15,850 --> 00:28:19,850 Så innser at dette er veldig enkelt implementert i disse dager ved å kjøpe en IP 566 00:28:19,850 --> 00:28:22,930 adresse og ved å kjøpe det som er kalles et SSL-sertifikat. 567 00:28:22,930 --> 00:28:26,520 Men skjønner at det ikke kommer på noen ekstra kostnad. 568 00:28:26,520 --> 00:28:30,880 Og, som vi vil prøve å skremme i løpet av et bit, er det ikke engang nødvendigvis 100% 569 00:28:30,880 --> 00:28:34,040 beskyttende av hva det er du prøver å beskytte. 570 00:28:34,040 --> 00:28:38,620 >> Så for sikkerhet, jeg trodde jeg hadde gjør liksom en tilfeldig naturlig overgang her. 571 00:28:38,620 --> 00:28:42,820 Som du kanskje vet fra CS50 foredrag videoer, har vår produksjon team vært en 572 00:28:42,820 --> 00:28:46,770 fan som jeg har til å treffe veldig hyggelig fotografering av campus, og antenne 573 00:28:46,770 --> 00:28:48,370 fotografering sist. 574 00:28:48,370 --> 00:28:51,450 Hvis du noen gang ser opp og du ser noe flyr med et lite kamera, 575 00:28:51,450 --> 00:28:53,410 det kan faktisk være CS50. 576 00:28:53,410 --> 00:28:55,830 Og jeg tenkte jeg skulle dele minutt av noen av opptakene laget har 577 00:28:55,830 --> 00:28:59,450 samlet, særlig når vi ser vårsemesteret og neste høst. 578 00:28:59,450 --> 00:29:03,320 Hvis noen av dere har et knep for fotografering, videoopptak, ville vi 579 00:29:03,320 --> 00:29:05,570 elsker å involvere deg bak kulissene. 580 00:29:05,570 --> 00:29:07,595 Men mer om disse detaljene i en uke. 581 00:29:07,595 --> 00:29:18,560 >> [MUSIC] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. MALAN: Det viser seg at det er en minigolfbane på toppen av 583 00:29:20,750 --> 00:29:22,754 stadion som vi aldri visste om. 584 00:29:22,754 --> 00:30:06,150 >> [MUSIC] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. MALAN: Du kan se skissere av drone der. 586 00:30:08,440 --> 00:30:24,160 >> [MUSIC] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. MALAN: Det beste her er å se, jogger til venstre. 588 00:30:26,280 --> 00:30:52,900 >> [MUSIC] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. MALAN: Et annet eksempel på hva du kan gjøre med teknologi som er 590 00:30:56,920 --> 00:30:58,900 bare tangentially, ærlig, relatert til sikkerhet. 591 00:30:58,900 --> 00:31:01,710 Men jeg tenkte det ville være en mer morsom måte for å bare si, sikkerhet. 592 00:31:01,710 --> 00:31:07,780 Så la oss se om vi ikke kan skremme dere nå med ikke bare en bit av noen få 593 00:31:07,780 --> 00:31:10,590 trusler, men også en underliggende forståelse av hva disse truslene 594 00:31:10,590 --> 00:31:13,830 er så at fremover kan du bestemme hvordan og om å forsvare 595 00:31:13,830 --> 00:31:17,290 deg mot disse tingene og på minst å være oppmerksom på dem som du 596 00:31:17,290 --> 00:31:20,530 ta avgjørelser om hvorvidt eller ikke å send som epost, om du vil logge 597 00:31:20,530 --> 00:31:24,920 inn i den nettsiden, om ikke å bruke den cyber cafe Wi-Fi 598 00:31:24,920 --> 00:31:28,210 punktet slik at du vet hva trusler er faktisk rundt deg. 599 00:31:28,210 --> 00:31:30,990 >> Så Jonathan referert til noe liker dette på mandag. 600 00:31:30,990 --> 00:31:32,220 Han hadde et vindu skjermbilde. 601 00:31:32,220 --> 00:31:33,630 Dette er av en Mac. 602 00:31:33,630 --> 00:31:36,850 Hvor mange av dere har noen gang installert programvare på din Mac eller PC? 603 00:31:36,850 --> 00:31:38,420 Tydeligvis alle. 604 00:31:38,420 --> 00:31:41,590 Hvor mange av dere har tenkt så mye til å skrive inn passordet ditt 605 00:31:41,590 --> 00:31:43,030 når du blir bedt om? 606 00:31:43,030 --> 00:31:44,740 Jeg mener, selv om jeg ikke gjør det, ærlig. 607 00:31:44,740 --> 00:31:48,730 Så et par av oss er gode på å være paranoid. 608 00:31:48,730 --> 00:31:50,490 Men tenk på hva du er faktisk gjør her. 609 00:31:50,490 --> 00:31:53,280 >> På en typisk Mac eller PC du har en administratorkonto. 610 00:31:53,280 --> 00:31:56,450 Og vanligvis du er den eneste som bruker en laptop minst disse dager. 611 00:31:56,450 --> 00:31:59,780 Så din konto, Malan eller JHarvard eller hva det er, er det 612 00:31:59,780 --> 00:32:00,830 administratorkonto. 613 00:32:00,830 --> 00:32:03,530 Og hva det betyr er at du har root-tilgang til datamaskinen. 614 00:32:03,530 --> 00:32:06,180 Du kan installere hva du vil, slette alt du vil. 615 00:32:06,180 --> 00:32:10,800 >> Og vanligvis disse dager, på grunn av datert design beslutninger fra år siden, 616 00:32:10,800 --> 00:32:14,560 den måten de fleste programvare blir installert er som administrator. 617 00:32:14,560 --> 00:32:18,180 Og selv om din Mac eller PC har minst fått smart nok over 618 00:32:18,180 --> 00:32:22,010 år med de nyeste inkarnasjoner av Mac OS og Windows til å ikke kjøre 619 00:32:22,010 --> 00:32:26,130 brukernavn som standard som administrator, når du laster ned noen 620 00:32:26,130 --> 00:32:29,160 nytt program på internett og prøve å installere det, er du sannsynligvis kommer 621 00:32:29,160 --> 00:32:30,880 å bli spurt om passord. 622 00:32:30,880 --> 00:32:34,790 Men fangsten er på dette punkt, er du bokstavelig talt overlate nøklene til din 623 00:32:34,790 --> 00:32:38,620 datamaskinen over til hva tilfeldige programmet du nettopp lastet ned og 624 00:32:38,620 --> 00:32:41,590 slik at det å installere hva den ønsker. 625 00:32:41,590 --> 00:32:45,050 >> Og som Jonathan antydet, innser at det kan si at den ønsker å 626 00:32:45,050 --> 00:32:49,350 installere programvare som du bryr deg om, Spotify eller iTunes eller hva 627 00:32:49,350 --> 00:32:50,900 det er du prøver å installere. 628 00:32:50,900 --> 00:32:54,710 Men du er bokstavelig talt å stole forfatteren eller forfatterne av programvaren til 629 00:32:54,710 --> 00:32:57,570 bare gjøre hva programmet er ment å gjøre. 630 00:32:57,570 --> 00:33:02,320 >> Men det er absolutt ingenting å stoppe de fleste programmene på de fleste 631 00:33:02,320 --> 00:33:06,910 operativsystemer fra å slette filer, fra å laste dem opp til en viss selskapets 632 00:33:06,910 --> 00:33:10,040 nettside, fra trolling rundt, for å kryptere ting. 633 00:33:10,040 --> 00:33:12,970 Og igjen, vi har liksom bygget en hel infrastruktur 634 00:33:12,970 --> 00:33:14,930 årene på tillit. 635 00:33:14,930 --> 00:33:18,690 Og så innser at du nettopp har vært tillitsfulle tilfeldige mennesker og tilfeldige 636 00:33:18,690 --> 00:33:20,050 selskaper for det meste. 637 00:33:20,050 --> 00:33:24,860 >> Og Jonathan antydet også, noen ganger disse selskapene selv er liksom 638 00:33:24,860 --> 00:33:26,410 bevisst ondsinnet, ok? 639 00:33:26,410 --> 00:33:30,200 Sony fanget mye Flack noen år siden for å installere det som ble kalt en 640 00:33:30,200 --> 00:33:33,220 rootkit kit på folks datamaskiner uten deres kjennskap. 641 00:33:33,220 --> 00:33:36,570 Og hovedpunkt av dette var at når du kjøpte en CD for eksempel at de 642 00:33:36,570 --> 00:33:40,050 ikke vil at du skal være i stand til å kopiere eller rippe musikk ut av, CD ville 643 00:33:40,050 --> 00:33:42,600 installere, uten at du vet, et rootkit på datamaskinen. 644 00:33:42,600 --> 00:33:46,020 Rootkit bare betyr programvare som kjører som administrator som potensielt 645 00:33:46,020 --> 00:33:47,260 gjør dårlige ting. 646 00:33:47,260 --> 00:33:50,780 >> Men blant de tingene denne tingen gjorde var det gjemte seg. 647 00:33:50,780 --> 00:33:53,660 Så noen av dere kan være ganske kunnskapsrike med datamaskinen og vet, vel, jeg 648 00:33:53,660 --> 00:33:57,310 kan bare åpne Oppgavebehandling eller Activity Monitor og jeg kan se på alle 649 00:33:57,310 --> 00:33:59,150 av de arcanely navngitte programmer som kjører. 650 00:33:59,150 --> 00:34:01,760 Og hvis noe ser mistenkelig Jeg vil bare drepe den eller slette den. 651 00:34:01,760 --> 00:34:02,980 Men det er hva rootkit gjorde. 652 00:34:02,980 --> 00:34:07,070 Det i hovedsak er sagt, hvis du kjører Task Manager, ikke vis deg. 653 00:34:07,070 --> 00:34:08,500 >> Slik at programvaren var der. 654 00:34:08,500 --> 00:34:12,710 Og bare hvis du virkelig, virkelig så vanskelig kan du selv finne det. 655 00:34:12,710 --> 00:34:15,670 Og dette ble gjort i navnet av kopibeskyttelse. 656 00:34:15,670 --> 00:34:18,230 Men tenk hva som kunne har vært gjort på annen måte. 657 00:34:18,230 --> 00:34:19,699 >> Nå i form av å beskytte deg selv. 658 00:34:19,699 --> 00:34:22,190 En rekke nettsteder er fantastisk nådig i at de setter disse 659 00:34:22,190 --> 00:34:26,480 hengelås ikoner på deres hjemmeside som betyr at nettstedet er sikkert. 660 00:34:26,480 --> 00:34:28,870 Dette er fra bankofamerica.com denne morgenen. 661 00:34:28,870 --> 00:34:32,239 Så hva betyr det lite hengelås det betyr ved siden av knappen Logg på? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Absolutt ingenting. 664 00:34:36,790 --> 00:34:39,560 Det betyr at noen vet å bruke Photoshop for å lage et bilde av en 665 00:34:39,560 --> 00:34:40,590 hengelås-ikonet. 666 00:34:40,590 --> 00:34:44,449 Liker bokstavelig talt, det faktum at det er Det er ment å være en positiv 667 00:34:44,449 --> 00:34:46,880 signalisere til brukeren som, ooh, sikkert nettsted. 668 00:34:46,880 --> 00:34:50,449 Jeg skulle stole dette nettstedet og nå skrive inn brukernavn og passord. 669 00:34:50,449 --> 00:34:53,870 Og dette har vært vanlig for år, så sent som i morges. 670 00:34:53,870 --> 00:34:56,949 >> Men tenk på de vaner som dette er å få oss inn. 671 00:34:56,949 --> 00:35:00,600 Vurdere den implisitte budskapet om at alle av disse banker i dette tilfelle har vært 672 00:35:00,600 --> 00:35:01,830 sender oss i mange år. 673 00:35:01,830 --> 00:35:05,160 Hvis du ser hengelås, deretter fest. 674 00:35:05,160 --> 00:35:05,340 Greit? 675 00:35:05,340 --> 00:35:10,520 >> Så hvordan kan du misbruker dette systemet av tillit hvis du er skurken? 676 00:35:10,520 --> 00:35:14,100 Sette en hengelås på nettstedet ditt, og logisk, har brukerne vært 677 00:35:14,100 --> 00:35:17,260 forutsetning for år å anta hengelås betyr sikker. 678 00:35:17,260 --> 00:35:19,310 Og det kan faktisk være sikker. 679 00:35:19,310 --> 00:35:24,810 Du kan ha en fantastisk sikker SSL HTTPS-tilkobling til en 680 00:35:24,810 --> 00:35:26,452 falsk nettside. com. 681 00:35:26,452 --> 00:35:30,150 Og ingen andre i verden kan se at du er i ferd med å gi ham eller henne 682 00:35:30,150 --> 00:35:32,790 ditt brukernavn og passord til kontoen din. 683 00:35:32,790 --> 00:35:35,110 >> Dette skjønt kanskje er en litt mer betryggende. 684 00:35:35,110 --> 00:35:38,600 Så dette er et skjermbilde av toppen av nettleseren min denne morgenen på 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 Og legg merke til også her vi har en hengelås-ikonet. 687 00:35:43,270 --> 00:35:48,040 Hva betyr det i denne sammenheng i Chrome minst? 688 00:35:48,040 --> 00:35:49,520 >> Så dette er nå bruker SSL. 689 00:35:49,520 --> 00:35:51,220 Så dette er faktisk en bedre ting. 690 00:35:51,220 --> 00:35:54,250 Og det at krom er slik at det grønt er ment å trekke oppmerksomheten 691 00:35:54,250 --> 00:35:56,750 til det faktum at dette er ikke bare over SSL. 692 00:35:56,750 --> 00:36:01,400 Dette er et selskap som noen ut det har verifisert er faktisk 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 Og det betyr at Bank of America, når du kjøper deres såkalte SSL 695 00:36:05,970 --> 00:36:09,680 sertifikat, i hovedsak store tilfeldig, noe tilfeldige tall som implementerer 696 00:36:09,680 --> 00:36:14,710 sikkerhet for dem, de har vært bekreftet av noen uavhengig tredje 697 00:36:14,710 --> 00:36:15,570 parti som sier, Jepp. 698 00:36:15,570 --> 00:36:19,240 Dette er faktisk den administrerende direktør i Bank of Amerika prøver å kjøpe sertifikatet. 699 00:36:19,240 --> 00:36:23,290 Chrome vil derfor stole på at sertifiseringsinstans og si i 700 00:36:23,290 --> 00:36:25,265 grønt, er dette bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 Og Bank of America betaler bare noen få hundre dollar for at eller et par 702 00:36:27,997 --> 00:36:30,800 tusen i motsetning til en noen titalls dollar. 703 00:36:30,800 --> 00:36:34,940 >> Men også her, hvor mange av dere har noen gang oppførte seg annerledes fordi 704 00:36:34,940 --> 00:36:38,576 nettadressen i nettleseren din er grønn istedenfor sort? 705 00:36:38,576 --> 00:36:39,900 Høyre? 706 00:36:39,900 --> 00:36:40,600 Så et par av oss. 707 00:36:40,600 --> 00:36:42,115 Og det er godt å være paranoid. 708 00:36:42,115 --> 00:36:45,910 Men selv da, de av dere som enda Legg merke til disse tingene, gjør du faktisk 709 00:36:45,910 --> 00:36:50,720 slutte å logge inn i en ellers sikker Nettside hvis nettadressen ikke er grønn? 710 00:36:50,720 --> 00:36:53,380 Greit, så sannsynligvis ikke, ikke sant? 711 00:36:53,380 --> 00:36:56,740 Minst de fleste av oss, hvis det ikke er grønn, mest sannsynlig du bare kommer 712 00:36:56,740 --> 00:36:57,440 å være som, uansett. 713 00:36:57,440 --> 00:36:58,950 Liker, jeg ønsker å logge inn på denne nettsiden. 714 00:36:58,950 --> 00:37:00,200 Det er derfor jeg er her. 715 00:37:00,200 --> 00:37:02,390 Jeg kommer til å logge på likevel. 716 00:37:02,390 --> 00:37:04,500 >> Som en digresjon, er Chrome en liten bedre om dette. 717 00:37:04,500 --> 00:37:07,990 Men det er mange nettlesere som Firefox for eksempel, i hvert fall for 718 00:37:07,990 --> 00:37:12,190 litt tid, hvor som hengelås er, kan du faktisk sette noen 719 00:37:12,190 --> 00:37:13,250 ikon av din egen. 720 00:37:13,250 --> 00:37:17,480 La meg se hva den nyeste versjonen av Firefox ser ut. 721 00:37:17,480 --> 00:37:20,040 Så hvis vi går til CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, så de har fått bedre også. 723 00:37:21,580 --> 00:37:24,970 Hva nettlesere som brukes til å gjøre er å like, her er for eksempel [? SAAS er?] 724 00:37:24,970 --> 00:37:25,790 toppe opp her. 725 00:37:25,790 --> 00:37:29,240 Det er den såkalte favoritt ikonet for et nettsted. 726 00:37:29,240 --> 00:37:30,190 År ago - 727 00:37:30,190 --> 00:37:34,720 faktisk ikke så lenge siden - det lille skjold ville ha vært riktig 728 00:37:34,720 --> 00:37:36,560 her ved siden av nettadressen. 729 00:37:36,560 --> 00:37:40,300 Fordi noen geni besluttet at det ville bare se ganske stilig å ha 730 00:37:40,300 --> 00:37:43,150 din grafiske logo rett ved siden av nettadressen. 731 00:37:43,150 --> 00:37:45,310 Og design klok, som faktisk er ganske overbevisende. 732 00:37:45,310 --> 00:37:47,240 >> Så hva gjorde skurken start gjør? 733 00:37:47,240 --> 00:37:50,500 De begynte å endre sin favoritt ikoner, eller deres standard ikon for en 734 00:37:50,500 --> 00:37:55,250 hjemmeside til å ikke være en kam men en hengelås, som hadde 735 00:37:55,250 --> 00:37:56,600 absolutt ingen mening. 736 00:37:56,600 --> 00:37:59,760 Annet enn deres favoritt ikon ble en hengelås det hadde ingen 737 00:37:59,760 --> 00:38:01,250 indikasjoner på sikkerhet. 738 00:38:01,250 --> 00:38:04,040 >> Så lærdommen her er et par tror jeg. 739 00:38:04,040 --> 00:38:07,820 Det ene er at det faktisk finnes noen velmenende mekanismer for 740 00:38:07,820 --> 00:38:12,850 lærer oss brukere om sikkerhet selv hvis du var ikke engang klar over hva grønn 741 00:38:12,850 --> 00:38:15,110 ment eller hva med HTTPS mente. 742 00:38:15,110 --> 00:38:19,130 Men hvis disse mekanismene få oss inn den dårlige vanen med tillitsfulle nettsteder 743 00:38:19,130 --> 00:38:23,390 når vi ser disse positive signaler, de er veldig lett misbrukt som vi så 744 00:38:23,390 --> 00:38:26,480 bare et øyeblikk siden med noe dumt som dette. 745 00:38:26,480 --> 00:38:29,100 >> Så session hijacking kommer inn spille, som vi sa før, 746 00:38:29,100 --> 00:38:30,510 med cookies for eksempel. 747 00:38:30,510 --> 00:38:32,130 Og hva betyr dette egentlig? 748 00:38:32,130 --> 00:38:35,930 Godt med session hijacking dette er alt om å stjele noens cookies. 749 00:38:35,930 --> 00:38:39,860 Så hvis jeg åpner opp Chrome her, for eksempel, og jeg åpner opp Inspector 750 00:38:39,860 --> 00:38:41,550 her nede, og jeg går til Nettverk Tab - 751 00:38:41,550 --> 00:38:42,830 og vi har gjort dette før - 752 00:38:42,830 --> 00:38:48,900 og jeg går til noe sånt http://facebook.com Enter, en hel 753 00:38:48,900 --> 00:38:52,280 haug med ting går over skjermen på grunn av alle bildene og CSS og 754 00:38:52,280 --> 00:38:53,490 JavaScript-filer. 755 00:38:53,490 --> 00:38:59,420 >> Men hvis jeg ser på denne her merke at Facebook er faktisk å plante en 756 00:38:59,420 --> 00:39:02,310 eller flere informasjonskapsler på min Nettleseren her. 757 00:39:02,310 --> 00:39:05,610 Så disse er i hovedsak de hånd frimerker som representerer meg. 758 00:39:05,610 --> 00:39:08,580 Og nå forhåpentligvis nettleseren min vilje presentere dette igjen og igjen når 759 00:39:08,580 --> 00:39:10,560 borti denne nettsiden. 760 00:39:10,560 --> 00:39:15,810 Men som bare er trygt, sa vi en par uker siden, hvis du bruker SSL. 761 00:39:15,810 --> 00:39:18,860 >> Men selv SSL selv kan bli kompromittert. 762 00:39:18,860 --> 00:39:21,800 Tenk etter hele veien SSL fungerer. 763 00:39:21,800 --> 00:39:28,860 Når din nettleser kobler til en ekstern server via https://, lang historie kort, 764 00:39:28,860 --> 00:39:30,110 kryptografi er involvert. 765 00:39:30,110 --> 00:39:34,750 Det er ikke så enkelt som Caesar eller Visionaire eller DES, DES fra en 766 00:39:34,750 --> 00:39:36,110 stund tilbake i pset2. 767 00:39:36,110 --> 00:39:37,410 Det er mer sofistikert enn det. 768 00:39:37,410 --> 00:39:39,110 Det kalles offentlig nøkkel kryptografi. 769 00:39:39,110 --> 00:39:42,845 Men virkelig stor og veldig tilfeldig Tallene brukes til å rykke ut 770 00:39:42,845 --> 00:39:47,125 informasjon mellom punkt A,, du og punkt B, som facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Men problemet er, hvor mange av oss igjen noensinne skriver https:// å starte 772 00:39:52,570 --> 00:39:55,790 vår nettside tilkobling i at sikker modus? 773 00:39:55,790 --> 00:40:00,900 Jeg mener, hvor mange av dere selv typen http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Greit, hvis du gjør det, liker, hallo. 775 00:40:02,290 --> 00:40:03,510 Du trenger ikke å gjøre det lenger, ikke sant? 776 00:40:03,510 --> 00:40:05,190 Leseren vil finne det ut. 777 00:40:05,190 --> 00:40:08,070 >> Men de fleste av oss gjør faktisk bare skrive facebook.com. 778 00:40:08,070 --> 00:40:10,960 Fordi hvis vi bruker en nettleser, den nettlesere har fått smart nok ved 779 00:40:10,960 --> 00:40:14,920 2013 å anta hvis du bruker en browser, skriver du inn en adresse, du 780 00:40:14,920 --> 00:40:18,550 sannsynligvis vil ha tilgang til det ikke via e-post eller direktemelding. 781 00:40:18,550 --> 00:40:21,250 Du mener HTTP og Port 80. 782 00:40:21,250 --> 00:40:22,970 Disse konvensjonene er vedtatt. 783 00:40:22,970 --> 00:40:24,830 >> Men hvordan gjør omdirigering arbeid? 784 00:40:24,830 --> 00:40:26,170 Vel, legge merke til hva som skjer her. 785 00:40:26,170 --> 00:40:27,590 Hvis jeg går tilbake til Chrome - 786 00:40:27,590 --> 00:40:31,920 og la oss gjøre dette i inkognito modus, slik at alle mine 787 00:40:31,920 --> 00:40:33,620 cookies blir kastet bort. 788 00:40:33,620 --> 00:40:38,130 Og la meg gå hit for å, igjen, facebook.com. 789 00:40:38,130 --> 00:40:39,490 Og la oss se hva som skjer. 790 00:40:39,490 --> 00:40:43,372 >> Husker at den første forespørselen var faktisk bare for facebook.com. 791 00:40:43,372 --> 00:40:46,580 Men hva var svaret som jeg fikk? 792 00:40:46,580 --> 00:40:48,520 Det var ikke en 200 OK. 793 00:40:48,520 --> 00:40:53,550 Det var 300 eller 301, som er en omdirigere fortelle meg å gå til 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, som er hvor Facebook vil at jeg skal gå. 795 00:40:59,050 --> 00:41:01,900 Men så hvis vi ser på den neste forespørselen, og vi har sett dette før, 796 00:41:01,900 --> 00:41:04,370 Legg merke til hva deres andre responsen er. 797 00:41:04,370 --> 00:41:10,280 Spesielt at de vil ha meg nå til gå til SSL-versjonen av Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Så her er en mulighet. 799 00:41:11,800 --> 00:41:15,440 Dette er en fantastisk nyttig funksjon for bare web og HTTP. 800 00:41:15,440 --> 00:41:19,570 Hvis sluttbrukeren som Facebook vil ha meg å holde seg på den sikre versjonen av deres 801 00:41:19,570 --> 00:41:20,850 nettsted, great. 802 00:41:20,850 --> 00:41:23,130 De vil omdirigere meg for meg selv. 803 00:41:23,130 --> 00:41:25,250 Og så jeg slipper å selv tenke på det. 804 00:41:25,250 --> 00:41:29,200 >> Men hva om mellom punkt A og B, mellom deg og Facebook, er det noen 805 00:41:29,200 --> 00:41:32,220 bad guy, det er noe system administrator ved Harvard som er nysgjerrig 806 00:41:32,220 --> 00:41:34,240 å se hvem vennene dine er. 807 00:41:34,240 --> 00:41:36,760 Eller er det noen - 808 00:41:36,760 --> 00:41:38,340 år siden, dette pleide å høres sprøtt - 809 00:41:38,340 --> 00:41:41,950 men det er noen offentlig instans som NSA hvem som faktisk er interessert 810 00:41:41,950 --> 00:41:44,390 i hvem du er poking på Facebook. 811 00:41:44,390 --> 00:41:45,910 Hvor er muligheten der? 812 00:41:45,910 --> 00:41:49,305 Vel, så lenge noen har tilstrekkelig teknisk kunnskapsrike, og de har tilgang 813 00:41:49,305 --> 00:41:53,350 til selve nettverket via Wi-Fi eller noen fysisk wire, 814 00:41:53,350 --> 00:41:54,570 hva kan de gjøre? 815 00:41:54,570 --> 00:41:57,520 >> Vel, hvis de er på samme nettverk som deg og de vet noe om 816 00:41:57,520 --> 00:42:02,050 TCP / IP og IP-adresser og DNS og hvordan Alle som fungerer, hva om det 817 00:42:02,050 --> 00:42:05,970 Mannen i midten, hva om det nasjonale Security Agency, hva det 818 00:42:05,970 --> 00:42:11,480 kan være, men hva om den aktuelle enheten bare reagerer raskere enn Facebook til 819 00:42:11,480 --> 00:42:15,820 din HTTP-forespørsel og sier: oh, jeg er Facebook. 820 00:42:15,820 --> 00:42:19,300 Gå videre, og her er det HTML for facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Datamaskiner er ganske utrolig fort. 822 00:42:20,720 --> 00:42:25,990 Så du kan skrive et program som kjører på en server som nsa.gov at når det 823 00:42:25,990 --> 00:42:29,790 hører en forespørsel fra deg for facebook.com, veldig raskt bak 824 00:42:29,790 --> 00:42:34,000 scener får den virkelige facebook.com making en perfekt [? esque?] sikker 825 00:42:34,000 --> 00:42:38,290 SSL-forbindelse mellom NSA og mellom Facebook, får som HTML svært 826 00:42:38,290 --> 00:42:42,670 sikkert for innloggingssiden, og deretter NSA serveren svarer bare til deg 827 00:42:42,670 --> 00:42:44,942 med en innloggingsside for facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Nå hvor mange av dere selv ville merke at du bruker Facebook via HTTP 829 00:42:49,120 --> 00:42:53,375 fortsatt på det punktet fordi du har uhell koblet til nsa.gov og 830 00:42:53,375 --> 00:42:53,870 ikke Facebook? 831 00:42:53,870 --> 00:42:54,980 Nettadressene ikke endring. 832 00:42:54,980 --> 00:42:57,040 Alt dette blir gjort bak kulissene. 833 00:42:57,040 --> 00:42:59,470 Men de fleste av oss, meg selv inkludert, sannsynligvis ikke ville legge merke til 834 00:42:59,470 --> 00:43:00,800 slik en liten detalj. 835 00:43:00,800 --> 00:43:05,510 >> Så du kan ha en helt gjennomførbar forbindelsen mellom deg og hva du 836 00:43:05,510 --> 00:43:08,660 tror er Facebook, men det er en såkalte mannen i midten. 837 00:43:08,660 --> 00:43:12,480 Og dette er et generelt begrep for mannen i midten angrepet der du har noen 838 00:43:12,480 --> 00:43:17,670 enhet mellom deg og punkt B som er en eller annen måte å manipulere, stjele, eller 839 00:43:17,670 --> 00:43:18,960 se dine data. 840 00:43:18,960 --> 00:43:22,750 Så selv SSL er ikke sikker, spesielt hvis du har blitt lurt til 841 00:43:22,750 --> 00:43:26,790 ikke slå den på grunn av hvordan disse underliggende mekanismene faktisk fungerer. 842 00:43:26,790 --> 00:43:30,670 >> Så en leksjon i dag så er også hvis du virkelig ønsker å være paranoid - 843 00:43:30,670 --> 00:43:32,110 og selv her er det trusler - 844 00:43:32,110 --> 00:43:37,112 du bør virkelig begynne å få inn en vane å skrive i https://www 845 00:43:37,112 --> 00:43:39,850 hva domenenavnet du faktisk bryr seg om. 846 00:43:39,850 --> 00:43:41,820 >> Og som en side for det er enda en trussel med 847 00:43:41,820 --> 00:43:43,410 hensyn til kidnapping av økta. 848 00:43:43,410 --> 00:43:47,440 Veldig ofte når du først besøke en nettsted som facebook.com, med mindre 849 00:43:47,440 --> 00:43:51,050 serveren er konfigurert til å si at som hånd stempel det sette på deg 850 00:43:51,050 --> 00:43:56,140 i går bør sikre seg selv, din Nettleseren kan meget vel, på 851 00:43:56,140 --> 00:44:00,620 besøker ting som facebook.com google.com, twitter.com, nettleseren 852 00:44:00,620 --> 00:44:04,280 kan presentere den hånden stempel bare å bli fiket ned og sa, nei. 853 00:44:04,280 --> 00:44:05,660 Bruk SSL. 854 00:44:05,660 --> 00:44:07,030 >> Men det er for sent på det tidspunktet. 855 00:44:07,030 --> 00:44:10,940 Hvis du allerede har sendt hånden stempel, informasjonskapselen, i klartekst med 856 00:44:10,940 --> 00:44:15,180 uten SSL, har du et brøkdels sekund sårbarhet der noen sniffing 857 00:44:15,180 --> 00:44:19,530 trafikken, enten kollektiv eller NSA, Deretter kan du bruke den samme cookie, og 858 00:44:19,530 --> 00:44:23,860 med litt teknisk kunnskapsrike, presentere det som sitt eget. 859 00:44:23,860 --> 00:44:25,930 >> Et annet angrep du kanskje ikke har tenkt på. 860 00:44:25,930 --> 00:44:30,120 Dette er virkelig på deg hvis du skru dette opp i å skrive noen nettside som 861 00:44:30,120 --> 00:44:31,580 en eller annen måte bruker SQL. 862 00:44:31,580 --> 00:44:34,610 Så her, for eksempel, er en skjerm skutt av Harvards pålogging. 863 00:44:34,610 --> 00:44:36,380 Og dette er et generelt eksempel av noe med en 864 00:44:36,380 --> 00:44:37,480 brukernavn og passord. 865 00:44:37,480 --> 00:44:38,440 Super vanlig. 866 00:44:38,440 --> 00:44:41,310 Så la oss anta at SSL eksisterer og det er ingen mann i midten eller 867 00:44:41,310 --> 00:44:41,920 noe sånt. 868 00:44:41,920 --> 00:44:45,660 Nå fokuserer vi på serverens kode som du kan skrive. 869 00:44:45,660 --> 00:44:49,830 >> Vel, når jeg skriver inn et brukernavn og passord, antar at PIN-tjenesten 870 00:44:49,830 --> 00:44:51,740 er implementert i PHP. 871 00:44:51,740 --> 00:44:53,990 Og du har kanskje noen kode på den serveren som dette. 872 00:44:53,990 --> 00:44:57,740 Få brukernavnet fra stillingen super global og få passord, og deretter 873 00:44:57,740 --> 00:45:01,130 hvis de bruker noen pset7 som koden er det en spørring funksjon 874 00:45:01,130 --> 00:45:01,820 som kan gjøre dette. 875 00:45:01,820 --> 00:45:06,320 Velg stjerne fra brukerne der brukernavn tilsvarer det og passord tilsvarer det. 876 00:45:06,320 --> 00:45:08,120 >> Det ser ved første øyekast, helt rimelig. 877 00:45:08,120 --> 00:45:11,090 Dette er syntaktisk gyldig PHP-kode. 878 00:45:11,090 --> 00:45:13,160 Logisk er det ingenting galt med dette. 879 00:45:13,160 --> 00:45:15,710 Antagelig er det noen flere linjer som faktisk gjøre noe med det 880 00:45:15,710 --> 00:45:18,150 Resultatet som kommer tilbake fra databasen. 881 00:45:18,150 --> 00:45:20,580 Men dette er sårbar for følgende grunn. 882 00:45:20,580 --> 00:45:23,760 >> Legg merke til at, som en god borger, Jeg har satt i anførselstegn, single 883 00:45:23,760 --> 00:45:25,380 sitater, brukernavnet. 884 00:45:25,380 --> 00:45:26,980 Og jeg satt i enkle anførselstegn passordet. 885 00:45:26,980 --> 00:45:28,830 Og det er en god ting fordi de er ikke ment å være tall. 886 00:45:28,830 --> 00:45:30,660 Vanligvis de kommer til å være tekst. 887 00:45:30,660 --> 00:45:32,290 Så jeg siterer dem som strenger. 888 00:45:32,290 --> 00:45:37,470 >> Og hvis jeg nå avansere videre hva om - og jeg har fjernet kuler fra 889 00:45:37,470 --> 00:45:38,870 PIN tjenesten midlertidig - 890 00:45:38,870 --> 00:45:41,650 hva hvis jeg prøver å logge inn som President [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 men jeg påstår at passordet mitt er 12345 'eller '1' = '1, og varsel 892 00:45:52,540 --> 00:45:53,830 hva jeg ikke har gjort. 893 00:45:53,830 --> 00:45:56,140 Jeg gjorde ikke lukke den andre enkelt anførselstegn. 894 00:45:56,140 --> 00:45:58,500 Fordi jeg er ganske skarp her som bad guy. 895 00:45:58,500 --> 00:46:01,870 Og jeg antar de er du ikke veldig bra med din 896 00:46:01,870 --> 00:46:03,450 PHP og MySQL-koden. 897 00:46:03,450 --> 00:46:06,740 Jeg gjetter at du ikke sjekker for tilstedeværelse av sitater. 898 00:46:06,740 --> 00:46:11,190 >> Så hva skjedde er at når Brukeren har skrevet i denne strengen, 899 00:46:11,190 --> 00:46:15,060 spørringen du er i ferd med å skape ser slik ut. 900 00:46:15,060 --> 00:46:18,180 Og lang historie kort, hvis du og noe sammen eller du eller noe 901 00:46:18,180 --> 00:46:21,740 sammen dette kommer til å gå tilbake en rad fra databasen. 902 00:46:21,740 --> 00:46:26,570 Fordi det er alltid slik at en lik en. 903 00:46:26,570 --> 00:46:30,400 >> Og bare fordi du ikke hadde forutsett at brukerne, gode eller dårlige, kanskje 904 00:46:30,400 --> 00:46:35,340 ha en apostrof i navnet du har skapt en SQL-spørring som fortsatt 905 00:46:35,340 --> 00:46:39,040 gyldig, og kommer tilbake nå flere resultater enn du kanskje har tenkt. 906 00:46:39,040 --> 00:46:42,340 Og så denne slemmingen har nå potensielt logget inn på serveren din 907 00:46:42,340 --> 00:46:47,060 fordi databasen er tilbake på rad selv om han eller hun har ingen anelse om hva 908 00:46:47,060 --> 00:46:49,410 [? Scroob oss?] Faktiske passordet er. 909 00:46:49,410 --> 00:46:50,640 >> Oh, innså jeg en skrivefeil her. 910 00:46:50,640 --> 00:46:53,260 Jeg skulle ha sagt passord tilsvarer 12 345 som den forrige 911 00:46:53,260 --> 00:46:54,990 eksempel eller en lik en. 912 00:46:54,990 --> 00:46:56,400 Jeg skal fikse det på nettet. 913 00:46:56,400 --> 00:46:59,960 >> Så hvorfor vi har deg ved hjelp av spørringen funksjon med spørsmålstegn? 914 00:46:59,960 --> 00:47:04,000 En av de tingene spørringen funksjon betyr for deg er det sørger for at 915 00:47:04,000 --> 00:47:07,660 når du passerer i argumentene etter komma her som dette at spørringen 916 00:47:07,660 --> 00:47:10,330 som faktisk sendes til database ser slik ut. 917 00:47:10,330 --> 00:47:13,830 Mye styggere å se på, men tilbake flenger har vært automatisk 918 00:47:13,830 --> 00:47:19,030 satt inn for å unngå nettopp at injeksjon angrep som jeg viste en 919 00:47:19,030 --> 00:47:20,270 øyeblikk siden. 920 00:47:20,270 --> 00:47:24,930 >> Nå er en morsom xkcd at jeg tenkte jeg skulle trekke her oppe som forhåpentligvis skal nå være en 921 00:47:24,930 --> 00:47:28,546 litt mer forståelig er denne her. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> En liten bit? 924 00:47:40,265 --> 00:47:42,370 Kanskje vi trenger litt mer diskusjon om det. 925 00:47:42,370 --> 00:47:47,810 Så dette er noe som henviser til en liten gutt heter Bobby som har liksom tatt 926 00:47:47,810 --> 00:47:52,250 nytte av et nettsted som er bare tillitsfulle at det brukeren har skrevet inn 927 00:47:52,250 --> 00:47:55,100 i er ikke, faktisk, SQL-kode, men er faktisk en streng. 928 00:47:55,100 --> 00:47:56,830 >> Nå kan du huske at drop - 929 00:47:56,830 --> 00:48:00,190 du har kanskje sett dette - slipp midler slette en tabell, slette en database. 930 00:48:00,190 --> 00:48:02,235 Så hvis du i hovedsak hevder at ditt navn er 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 du kan godt lure databasen ikke bare til å sjekke at du er 934 00:48:09,370 --> 00:48:13,530 faktisk Robert, men semikolon også fortsette å slippe bordet. 935 00:48:13,530 --> 00:48:17,560 >> Og så SQL-injeksjon angrep kan faktisk være like truende som dette 936 00:48:17,560 --> 00:48:20,740 der du kan slette noens data, kan du velge flere datasett enn 937 00:48:20,740 --> 00:48:23,440 ment, kan du sette eller oppdatere data. 938 00:48:23,440 --> 00:48:26,520 Og du kan faktisk se dette over på hjem trening, ikke for skadelig 939 00:48:26,520 --> 00:48:29,730 formål, men bare for instruksjonsvideo, er når du blir bedt om å logge 940 00:48:29,730 --> 00:48:35,180 inn i din webside, spesielt en slags ikke veldig offentlig, svært populært nettsted, 941 00:48:35,180 --> 00:48:38,630 prøv å logge inn som John O'Reilly eller noen med en 942 00:48:38,630 --> 00:48:39,740 apostrof i navnet. 943 00:48:39,740 --> 00:48:42,990 Eller bokstavelig talt bare skrive apostrof, trykk Enter, og se hva som skjer. 944 00:48:42,990 --> 00:48:47,990 >> Og altfor ofte tragisk nok folk har ikke renses sine innganger og 945 00:48:47,990 --> 00:48:51,690 sørget for at ting som sitater eller semikolon er rømt. 946 00:48:51,690 --> 00:48:54,430 Det er derfor i pset7 gir vi du dette søket funksjonen. 947 00:48:54,430 --> 00:48:59,510 Men ikke under verdsetter nøyaktig hva den gjør for deg. 948 00:48:59,510 --> 00:49:01,800 >> Så med det sagt, liker å bruke nettet denne uken. 949 00:49:01,800 --> 00:49:04,660 Og vi vil se deg på mandag. 950 00:49:04,660 --> 00:49:06,180 >> Ved neste CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUSIC]