1 00:00:00,000 --> 00:00:11,214 >> [MUSIC] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. MALAN: Okay. 3 00:00:11,661 --> 00:00:15,400 Så dette er CS50 og dette er slutningen af ​​uge 10. 4 00:00:15,400 --> 00:00:20,420 Så nogle af jer måske har set denne allerede ved at blive, men cirkulerede for sent 5 00:00:20,420 --> 00:00:25,800 er en artikel, som jeg troede, jeg ville læse et uddrag fra, og derefter vise dig en 6 00:00:25,800 --> 00:00:27,800 tre minutter video, der maler det samme billede. 7 00:00:27,800 --> 00:00:30,950 Det var virkelig en rørende historie, jeg tænkte denne skæringspunktet 8 00:00:30,950 --> 00:00:35,210 virkelige verden med virkelig overbevisende anvendelser af teknologien. 9 00:00:35,210 --> 00:00:39,785 >> Så artiklen blev titlen "En dreng oversleeps på toget, bruger Google Maps 10 00:00:39,785 --> 00:00:44,930 at finde familie 25 år senere ". Og første par stykker var 11 00:00:44,930 --> 00:00:48,820 "Da Saroo var fem år gammel gik han med sin ældre bror til at nasse for 12 00:00:48,820 --> 00:00:51,830 ændre på et passagertog i en by omkring to timer 13 00:00:51,830 --> 00:00:53,510 fra sit lille hjemby. 14 00:00:53,510 --> 00:00:56,790 Saroo blev træt og hoppet på en nærliggende tog, hvor han troede, at hans 15 00:00:56,790 --> 00:00:58,880 bror, og derefter faldt i søvn. 16 00:00:58,880 --> 00:01:03,360 Da han vågnede han var i Calcutta, næsten 900 miles væk. 17 00:01:03,360 --> 00:01:05,770 Saroo forsøgte at finde vej tilbage, men han vidste ikke 18 00:01:05,770 --> 00:01:07,260 navnet på hans hjemby. 19 00:01:07,260 --> 00:01:11,430 Og som en lille analfabeter dreng i et stort by fuld af glemte børn, han havde 20 00:01:11,430 --> 00:01:13,520 stort set ingen chance for at komme hjem. 21 00:01:13,520 --> 00:01:16,760 >> Han var en gade barn et stykke tid indtil et lokalt adoption hooked agentur 22 00:01:16,760 --> 00:01:18,840 ham op med en australsk par der bragte ham til 23 00:01:18,840 --> 00:01:20,600 bor i Hobart, Tasmanien. 24 00:01:20,600 --> 00:01:23,130 Saroo flyttede dertil, lærte Engelsk, og voksede op. 25 00:01:23,130 --> 00:01:27,450 Men han har aldrig holdt op med på udkig efter hans familie og hans hjemby. 26 00:01:27,450 --> 00:01:32,380 >> Årtier senere, opdagede han Google Jorden og fulgte køreskinner. 27 00:01:32,380 --> 00:01:36,140 Og give sig selv en ordineret radius baseret på hvor længe han troede, han var 28 00:01:36,140 --> 00:01:40,020 søvn, og hvor hurtigt han troede, at toget foregik, han vidste, han var vokset op 29 00:01:40,020 --> 00:01:43,930 i et varmt klima, vidste han, at han talte Hindi som et barn, og han havde fået at vide 30 00:01:43,930 --> 00:01:46,160 at han lignede han var fra East India. 31 00:01:46,160 --> 00:01:49,650 >> Endelig efter flere års vaskning satellitbillederne, han 32 00:01:49,650 --> 00:01:51,340 anerkendt et par vartegn. 33 00:01:51,340 --> 00:01:54,180 Og efter chatter med en administrator af en nærliggende bys 34 00:01:54,180 --> 00:01:57,740 Facebook-side, at han indså han havde fundet hjem. " 35 00:01:57,740 --> 00:02:03,770 >> Så her er så den video fortæller at fortælling fra hans perspektiv. 36 00:02:03,770 --> 00:02:04,025 >> [VIDEO AFSPIL] 37 00:02:04,025 --> 00:02:07,480 >> -Det var 26 år siden, og jeg var bare ved at vende fem. 38 00:02:07,480 --> 00:02:10,539 Vi fik til togstationen og Vi bordede et tog sammen. 39 00:02:10,539 --> 00:02:13,390 Min bror sagde bare jeg vil bo her, og jeg vil vende tilbage. 40 00:02:13,390 --> 00:02:16,363 Og jeg tænkte bare, ja, du ved, jeg kan lige så godt bare gå på vågeblus og 41 00:02:16,363 --> 00:02:17,950 så vil han bare vække mig. 42 00:02:17,950 --> 00:02:21,740 Og når jeg vågner op næste dag, Hele vogn var tom på en løbsk 43 00:02:21,740 --> 00:02:24,305 tog, et spøgelse tog tager mig, jeg ved ikke hvor. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Jeg blev vedtaget ud til Australien til en australsk familie. 46 00:02:31,660 --> 00:02:35,360 Og mor havde dekoreret mit værelse med kortet over Indien, som hun 47 00:02:35,360 --> 00:02:37,090 sætte ved siden af ​​min seng. 48 00:02:37,090 --> 00:02:42,170 Jeg vågner op hver morgen se, at kortet, og derfor er det slags holdt 49 00:02:42,170 --> 00:02:43,740 minderne i live. 50 00:02:43,740 --> 00:02:46,475 >> Folk ville sige, du forsøger at finde en nål i en høstak. 51 00:02:46,475 --> 00:02:49,060 Saroo, vil du aldrig finde det. 52 00:02:49,060 --> 00:02:52,510 Jeg ville have glimt af de steder, Jeg plejede at gå, de blinker 53 00:02:52,510 --> 00:02:55,050 af min familie ansigter. 54 00:02:55,050 --> 00:02:59,200 Der var et billede af min mor siddende ned med korslagte ben 55 00:02:59,200 --> 00:03:00,610 bare at se hende græde. 56 00:03:00,610 --> 00:03:03,340 Livet er bare så hårdt. 57 00:03:03,340 --> 00:03:06,002 Det var min skat. 58 00:03:06,002 --> 00:03:09,390 >> Og jeg var på udkig i Google Map og indså, at der er Google Earth så godt. 59 00:03:09,390 --> 00:03:13,560 I en verden, hvor man kunne zoome ind I begyndt at have alle disse tanker og 60 00:03:13,560 --> 00:03:16,650 hvilke muligheder der dette kunne gøre for mig. 61 00:03:16,650 --> 00:03:19,520 Jeg sagde til mig selv, ja, du kender, du har fået al den fotografiske 62 00:03:19,520 --> 00:03:22,340 erindringer og vartegn, hvor du er fra, og du ved, hvad 63 00:03:22,340 --> 00:03:23,460 Byen ser ud. 64 00:03:23,460 --> 00:03:27,910 Dette kunne være et program, du kan bruge til at finde vej tilbage. 65 00:03:27,910 --> 00:03:32,750 >> Jeg tænkte, ja, jeg vil sætte en prik på Calcutta Station i en radius 66 00:03:32,750 --> 00:03:36,350 linje, som du bør være at søge omkring dette område. 67 00:03:36,350 --> 00:03:38,850 Jeg kom på tværs af disse tog spor. 68 00:03:38,850 --> 00:03:44,490 Og jeg begyndte at følge det, og jeg kom til en togstation, der afspejlede 69 00:03:44,490 --> 00:03:48,260 samme billede, der var i mine erindringer. 70 00:03:48,260 --> 00:03:49,730 >> Alt matches. 71 00:03:49,730 --> 00:03:50,800 Jeg troede bare, jep. 72 00:03:50,800 --> 00:03:51,545 Jeg ved, hvor jeg skal hen. 73 00:03:51,545 --> 00:03:55,387 Jeg skal bare lade det kort, jeg har i mit hoved til at lede mig og tage mig 74 00:03:55,387 --> 00:03:58,230 tilbage til min hjemby. 75 00:03:58,230 --> 00:04:02,290 >> Jeg kom til døren af ​​huset at jeg er født og gik rundt 76 00:04:02,290 --> 00:04:04,270 omkring femten meter rundt om hjørnet. 77 00:04:04,270 --> 00:04:08,140 Der blev tre damer stående udenfor støder op til hinanden. 78 00:04:08,140 --> 00:04:10,230 Og den midterste trådte frem. 79 00:04:10,230 --> 00:04:12,910 Og jeg troede bare, det er din mor. 80 00:04:12,910 --> 00:04:18,590 Hun kom frem, at hun omfavnede mig, og vi var der for omkring fem minutter. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Hun greb min hånd, og hun tog mig med til huset og fik på telefonen, og hun 83 00:04:25,787 --> 00:04:31,110 ringede min søster og min bror til at sige at din bror har bare alle de 84 00:04:31,110 --> 00:04:34,480 pludselig optrådte som et spøgelse. 85 00:04:34,480 --> 00:04:37,590 >> Og så var familien genforenet igen. 86 00:04:37,590 --> 00:04:38,570 Alt er godt. 87 00:04:38,570 --> 00:04:40,250 Jeg hjælper min mor ud. 88 00:04:40,250 --> 00:04:42,240 Hun behøver ikke at blive knokle rundt. 89 00:04:42,240 --> 00:04:45,040 Hun kan føre resten af hendes liv i fred. 90 00:04:45,040 --> 00:04:48,590 >> Det var en nål i en høstak, 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 hvad vi har i verden er tryk på en knap. 93 00:04:53,410 --> 00:04:57,375 Men du nødt til at have viljen og viljen til at ville det. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [END VIDEOAFSPILNING] 96 00:05:02,780 --> 00:05:04,220 >> Så en rigtig sød historie. 97 00:05:04,220 --> 00:05:08,430 Og det faktisk minder mig om en ganske emne, der har været at få en hel 98 00:05:08,430 --> 00:05:11,200 opmærksomhed for sent i The Crimson, mere nationalt generelt. 99 00:05:11,200 --> 00:05:13,620 Især som MOOCs tager den fase af sent. 100 00:05:13,620 --> 00:05:17,370 MOOCs idet disse massive og åben online kurser, hvoraf CS50 er en. 101 00:05:17,370 --> 00:05:20,680 >> Og folk taler om, hvordan, for Eksempelvis humaniora er ikke rigtig 102 00:05:20,680 --> 00:05:23,900 indhente eller ikke er nær så på mode som de engang var. 103 00:05:23,900 --> 00:05:26,680 Og jeg vil opfordre jer, meget ligesom Jonathan gjorde på mandag, for at tænke 104 00:05:26,680 --> 00:05:29,900 om, som du afslutter 50, og vi ved allerede omkring 50% af jer vil ikke 105 00:05:29,900 --> 00:05:32,480 fortsætte på at tage en anden computer videnskab kursus, og det er helt 106 00:05:32,480 --> 00:05:33,770 fint og forventede. 107 00:05:33,770 --> 00:05:36,620 Fordi en af ​​de overordnede mål af en klasse som dette er virkelig at 108 00:05:36,620 --> 00:05:39,790 bemyndige du fyre med blot et forståelse af, hvordan alle disse ting 109 00:05:39,790 --> 00:05:41,760 fungerer, og hvordan denne verden af teknologi virker. 110 00:05:41,760 --> 00:05:45,400 >> Så når du er tilbage i din egen verdener, uanset om det er pre-med eller 111 00:05:45,400 --> 00:05:48,270 uanset om det er det humanistiske eller samfundsvidenskab eller et andet område 112 00:05:48,270 --> 00:05:51,830 helt, at du fyrene er at bringe nogle tekniske kyndige til bordet og 113 00:05:51,830 --> 00:05:54,770 bidrage til at gøre kloge beslutninger, når det kommer til brug af og 114 00:05:54,770 --> 00:05:57,530 indførelse af teknologi ind i din verden. 115 00:05:57,530 --> 00:06:00,410 >> For eksempel blev jeg mindet om sent også to af bachelor 116 00:06:00,410 --> 00:06:04,410 klasser tog jeg for to år siden, som var sådanne simple anvendelser af teknologi 117 00:06:04,410 --> 00:06:06,180 men lige så overbevisende. 118 00:06:06,180 --> 00:06:08,845 Første nætter med professor Tom Kelly Hvis du har taget klassen. 119 00:06:08,845 --> 00:06:11,640 Det er en klasse på klassisk musik på denne fase her, hvor du lærer en 120 00:06:11,640 --> 00:06:13,190 lidt om musik. 121 00:06:13,190 --> 00:06:17,770 Det er faktisk første nætter, CS50 lånt ideen om spor for dem, 122 00:06:17,770 --> 00:06:20,630 mindre behagelig i mellem og mere behagelig. 123 00:06:20,630 --> 00:06:24,410 >> I min tid havde de forskellige spor for børn med absolut ingen musik 124 00:06:24,410 --> 00:06:27,300 oplevelse som mig, og så børn, der havde optrådt siden de var 125 00:06:27,300 --> 00:06:28,240 fem år gammelt. 126 00:06:28,240 --> 00:06:31,200 Og denne klasse, for eksempel, havde netop en hjemmeside som de fleste andre, men det 127 00:06:31,200 --> 00:06:34,210 var en hjemmeside, der tillod dig at udforske musik på den og afspille 128 00:06:34,210 --> 00:06:39,120 musikalske klip fra klassen, fra internettet, og bare bruge teknologien i et meget 129 00:06:39,120 --> 00:06:40,210 problemfri måde. 130 00:06:40,210 --> 00:06:44,460 >> Anden klasse år senere, at jeg revideres væsentlige i Grad skole, 131 00:06:44,460 --> 00:06:47,430 Anthro 1010, Indledning til Archaeology her. 132 00:06:47,430 --> 00:06:48,190 Det var forbløffende. 133 00:06:48,190 --> 00:06:52,715 Og en af ​​de mest overbevisende alligevel super indlysende, set i bakspejlet, anvendelser af 134 00:06:52,715 --> 00:06:56,000 software var, at professorer i denne klasse brugte Google Earth. 135 00:06:56,000 --> 00:06:58,250 Vi sad på tværs af gaden i nogle auditoriet. 136 00:06:58,250 --> 00:07:01,240 Og du kunne ikke rejse, for eksempel, til Mellemøsten til udgravningen, at en 137 00:07:01,240 --> 00:07:04,530 af professorerne lige var kommet tilbage på, men vi kunne gøre, at stort set ved 138 00:07:04,530 --> 00:07:07,870 flyver rundt i Google Earth og ser på en fugleperspektiv på 139 00:07:07,870 --> 00:07:10,360 udgravning, han var netop vendt tilbage fra en uge siden. 140 00:07:10,360 --> 00:07:12,630 >> Så jeg vil opfordre jer, især inden for humaniora, gå til 141 00:07:12,630 --> 00:07:16,260 tilbage til de afdelinger efter denne klasse at bringe dine afgangsprojekter 142 00:07:16,260 --> 00:07:19,960 med dig eller ideer til din egen, og se lige hvad du kan gøre for at indgyde din 143 00:07:19,960 --> 00:07:23,570 egne marker i humaniora eller ud over med en lille smule af denne slags 144 00:07:23,570 --> 00:07:26,770 ting, som vi har udforsket her i CS50. 145 00:07:26,770 --> 00:07:31,790 >> Så med dette billede malet, tænkte vi vil forsøge at tackle to ting i dag. 146 00:07:31,790 --> 00:07:35,040 One, forsøge at give dig en følelse af hvor du kan gå efter 50 år. 147 00:07:35,040 --> 00:07:37,950 Og i særdeleshed, hvis du vælger at tackle en webbaseret projekt, som det er 148 00:07:37,950 --> 00:07:42,580 utroligt almindeligt, hvordan du kan gå om at tage off alle CS50 s 149 00:07:42,580 --> 00:07:45,810 støttehjul og gå derude på din egen og ikke at skulle stole på en 150 00:07:45,810 --> 00:07:48,000 PDF eller en specifikation af et Pset? 151 00:07:48,000 --> 00:07:50,510 Ikke at skulle stole på en CS50 Apparatet længere. 152 00:07:50,510 --> 00:07:52,780 Men kan virkelig trække dig op af dine bootstraps. 153 00:07:52,780 --> 00:07:55,790 >> Med det sagt, C-baseret afsluttende projekter er velkomne. 154 00:07:55,790 --> 00:07:58,020 Ting, der bruger står 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 ved bare, at statistisk set en masse folk bide projekter i PHP og 157 00:08:03,240 --> 00:08:07,860 Python og Ruby og MySQL og andre miljøer, så vi vil forudindtagethed nogle af 158 00:08:07,860 --> 00:08:09,570 vores bemærkninger mod det. 159 00:08:09,570 --> 00:08:10,650 >> Men et hurtigt kig tilbage. 160 00:08:10,650 --> 00:08:15,940 Så vi tog for givet i pset7 den kendsgerning, at $ _SESSION eksisterede. 161 00:08:15,940 --> 00:08:19,400 Dette var en super globalt, en global, associative array. 162 00:08:19,400 --> 00:08:23,040 Og hvad betyder dette lade dig gøre? 163 00:08:23,040 --> 00:08:27,130 Funktionelt, hvad er har dette giver os? 164 00:08:27,130 --> 00:08:28,590 Ja? 165 00:08:28,590 --> 00:08:30,270 Hvis du vil spore brugerens id. 166 00:08:30,270 --> 00:08:31,660 Og hvorfor er det nyttigt? 167 00:08:31,660 --> 00:08:36,059 At være i stand til at lagre på indersiden af ​​dette super global JHarvard eller [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 eller Malan bruger-ID, da han eller hun besøger et websted. 169 00:08:41,880 --> 00:08:42,380 >> Præcis. 170 00:08:42,380 --> 00:08:44,049 Så du behøver ikke at logge i igen og igen. 171 00:08:44,049 --> 00:08:47,170 Det ville være en virkelig halt world wide web Hvis hver gang du klikker på et hyperlink 172 00:08:47,170 --> 00:08:50,780 på et site som Facebook eller hver gang du har klikket på en e-mail i Gmail du 173 00:08:50,780 --> 00:08:54,060 havde re-autentificere at bevise, at det er stadig dig og ikke din værelseskammerat 174 00:08:54,060 --> 00:08:56,700 som kunne have gået op til din computer i dit fravær. 175 00:08:56,700 --> 00:08:59,640 >> Så vi bruger SESSION til bare huske, hvem du er. 176 00:08:59,640 --> 00:09:01,830 Og hvordan dette implementeres under hætten? 177 00:09:01,830 --> 00:09:07,720 Hvordan et websted, der bruger den protokol, som web-browsere og servere 178 00:09:07,720 --> 00:09:12,060 tale, hvordan gør HTTP, som er en statsløse protokol, lad os sige. 179 00:09:12,060 --> 00:09:15,510 >> Og ved statsløse Jeg mener, når du forbindelse til et websted, downloade nogle 180 00:09:15,510 --> 00:09:19,650 HTMLs, nogle JavaScript, nogle CSS, din browserens ikon stopper spinning. 181 00:09:19,650 --> 00:09:23,420 Du behøver ikke have en konstant forbindelse til serveren typisk. 182 00:09:23,420 --> 00:09:24,170 Det er det. 183 00:09:24,170 --> 00:09:26,290 Der er ingen fastholdt tilstand konstant. 184 00:09:26,290 --> 00:09:30,510 Så hvordan er SESSION gennemføres på en sådan en måde, at hver gang du besøger en 185 00:09:30,510 --> 00:09:32,860 ny side, hjemmesiden husker hvem du er? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Hvad er den underliggende implementering detaljer? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Råbe det ud. 190 00:09:41,490 --> 00:09:43,270 Det er et 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 Nå, hvordan anvendes cookies? 195 00:09:45,900 --> 00:09:48,870 Vi vil minde om, at en cookie er generelt bare et stykke information. 196 00:09:48,870 --> 00:09:51,590 Og det er ofte en stor tilfældig nummer, men ikke altid. 197 00:09:51,590 --> 00:09:55,420 Og en cookie er plantet på din harddisk drev eller i computerens RAM, så 198 00:09:55,420 --> 00:09:59,070 at hver gang du gense det samme hjemmeside, din browser minder 199 00:09:59,070 --> 00:10:01,650 server, jeg bruger 1234567. 200 00:10:01,650 --> 00:10:03,570 Jeg bruger 1234567. 201 00:10:03,570 --> 00:10:07,590 >> Og så længe serveren er husket at brugeren 1234567 er 202 00:10:07,590 --> 00:10:11,300 JHarvard, vil hjemmesiden bare antage at du er hvem du siger du er. 203 00:10:11,300 --> 00:10:14,230 Og huske, at vi præsenterer disse cookies slags i form af en 204 00:10:14,230 --> 00:10:15,510 virtuel hånd stå. 205 00:10:15,510 --> 00:10:20,530 Det er sendt i HTTP headers bare for at minde den server, du er, hvem det 206 00:10:20,530 --> 00:10:21,620 tror du er. 207 00:10:21,620 --> 00:10:23,320 >> Selvfølgelig er der en trussel. 208 00:10:23,320 --> 00:10:27,530 Hvilken trussel betyder det åbne os op til, hvis vi hovedsageligt bruger en slags klub 209 00:10:27,530 --> 00:10:30,110 eller en forlystelsespark mekanisme for at 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 en andens cookie og kapre deres session, så at sige, du 212 00:10:36,170 --> 00:10:39,670 kan foregive at være en anden, og website mest sandsynlige er bare at 213 00:10:39,670 --> 00:10:40,150 tror dig. 214 00:10:40,150 --> 00:10:41,030 Så kommer vi tilbage til. 215 00:10:41,030 --> 00:10:44,240 Fordi den anden tema for dag ud empowerment også taler 216 00:10:44,240 --> 00:10:48,170 om den meget skræmmende verden vi lever i og hvor meget af det, du gør på 217 00:10:48,170 --> 00:10:51,480 nettet, hvor meget af det, du gør selv på din mobiltelefon i dag, kan være 218 00:10:51,480 --> 00:10:55,170 spores virkelig af alle mellem dig og punkt B. 219 00:10:55,170 --> 00:10:56,240 >> Og Ajax, tilbagekaldelse. 220 00:10:56,240 --> 00:10:58,740 Vi kiggede kun kort på dette, selvom du har brugt det 221 00:10:58,740 --> 00:11:02,660 indirekte i pset8 fordi du bruger Google Maps og fordi du er 222 00:11:02,660 --> 00:11:03,830 ved hjælp af Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps og Google Earth ikke downloade hele verden til din 224 00:11:07,780 --> 00:11:10,490 desktop, naturligvis, den øjeblik du indlæse pset8. 225 00:11:10,490 --> 00:11:15,020 Den har kun henter en firkant af verden eller en større kvadrat af jorden. 226 00:11:15,020 --> 00:11:18,910 Og så hver gang du slags styre uden for rækkevidde vil du måske bemærke - 227 00:11:18,910 --> 00:11:21,790 især hvis en langsom forbindelse - du kunne se nogle grå for et øjeblik 228 00:11:21,790 --> 00:11:26,440 eller en smule fuzzy billedsprog som Computeren downloader flere sådanne fliser, 229 00:11:26,440 --> 00:11:29,190 flere sådanne billeder fra verden eller jorden. 230 00:11:29,190 --> 00:11:34,620 >> Og Ajax er generelt teknik ved hvilke websteder, der gør det. 231 00:11:34,620 --> 00:11:39,250 Når du har brug for mere af kortet, dit browseren skal bruge Ajax, som er 232 00:11:39,250 --> 00:11:42,240 ikke i sig selv et sprog eller teknologi, det er bare en teknik. 233 00:11:42,240 --> 00:11:47,390 Det er brugen af ​​JavaScript gå få mere information fra en server, 234 00:11:47,390 --> 00:11:52,320 giver din browser for at gå få, hvad der er til øst eller hvad der er vest for 235 00:11:52,320 --> 00:11:55,110 hvad er ellers i øjeblikket bliver vist i dette kort. 236 00:11:55,110 --> 00:11:58,520 Så dette er et emne, som mange af jer vil støde enten direkte eller 237 00:11:58,520 --> 00:12:01,180 indirekte via afgangsprojekter, hvis du vælger at gøre noget, der er 238 00:12:01,180 --> 00:12:05,020 tilsvarende dynamik, er trække data fra nogle tredjeparts hjemmeside. 239 00:12:05,020 --> 00:12:07,390 >> Så vi har fået en rigtig spændende næste onsdag forude. 240 00:12:07,390 --> 00:12:12,280 Quiz én, de oplysninger, som er på CS50.net tidligere. 241 00:12:12,280 --> 00:12:17,530 Vide, at der vil være en gennemgang session på mandag på 5:30. 242 00:12:17,530 --> 00:12:21,010 Datoen og klokkeslættet er allerede sendt på CS50.net i det Om ark. 243 00:12:21,010 --> 00:12:22,940 Og lad os vide, at du har spørgsmål. 244 00:12:22,940 --> 00:12:25,230 Pset8 mellemtiden er allerede i dine hænder. 245 00:12:25,230 --> 00:12:29,210 >> Og lad mig lige nævne et FAQ at spare folk nogle stress. 246 00:12:29,210 --> 00:12:32,530 For det meste en masse af snakken vi ser på kontortid og en masse 247 00:12:32,530 --> 00:12:36,950 bugs vi ser indberettet på Diskuter er faktisk bugs i en elevs kode. 248 00:12:36,950 --> 00:12:41,360 Men når du er stødt på noget ligesom Google Earth plug-in crashe 249 00:12:41,360 --> 00:12:44,310 eller ikke engang fungerer, og du er sikker det er ikke dig, det er ikke en 250 00:12:44,310 --> 00:12:48,530 [? chamad?] problem, det er ikke en bug dig indføres i 251 00:12:48,530 --> 00:12:49,820 fordeling kode. 252 00:12:49,820 --> 00:12:51,250 >> Indse bare 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 sidste gang vi brugte dette problem indstille og vi løb ind lignende 255 00:12:57,100 --> 00:13:01,520 spørgsmål, der er en linje kode i service.js der hovedsagelig er det, 256 00:13:01,520 --> 00:13:03,580 der siger, drej bygninger på. 257 00:13:03,580 --> 00:13:07,100 Og de arbejder rundt sidste gang vi gjorde dette, igen, hjørne tilfælde, hvor 258 00:13:07,100 --> 00:13:11,660 studerende kunne bare ikke få det darn ting til arbejde, er at ændre sand til falsk 259 00:13:11,660 --> 00:13:12,940 i det ene linje kode. 260 00:13:12,940 --> 00:13:15,520 Og du vil finde det, hvis du søger gennem service.js. 261 00:13:15,520 --> 00:13:19,990 >> Jeg vil ikke anbefale dette, fordi du vil skabe den mest golde landskab 262 00:13:19,990 --> 00:13:21,720 of Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Dette vil bogstaveligt tromle din verden så alt hvad du ser, er undervisningen 264 00:13:24,930 --> 00:13:28,610 stipendiater og kursus assistenter på horisonten og ingen bygninger. 265 00:13:28,610 --> 00:13:31,980 Men indse uanset årsagen til Google Earth plug-in synes stadig at være 266 00:13:31,980 --> 00:13:35,290 buggy et år senere, så dette kan være din fail gemme. 267 00:13:35,290 --> 00:13:38,915 Så snarere end ty til tårer, resort at dreje bygninger fra, hvis du kender 268 00:13:38,915 --> 00:13:41,980 det er plug-in, der ikke samarbejder på din Mac eller PC. 269 00:13:41,980 --> 00:13:46,060 Men dette er igen sidste udvej, hvis er du sikker på det er ikke en fejl. 270 00:13:46,060 --> 00:13:46,890 >> Så hackathon. 271 00:13:46,890 --> 00:13:48,950 Et par teasere bare at få dig ophidset. 272 00:13:48,950 --> 00:13:50,640 Vi havde en hel SU'er. 273 00:13:50,640 --> 00:13:54,230 Og bare for at male et billede af, hvad venter, jeg troede, jeg ville give dig et par 274 00:13:54,230 --> 00:13:56,858 sekunder husker denne billedsprog fra sidste år. 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 endda vores bogstavelige CS50 rumfærger. 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 hvad der venter dig i form af hackathon. 280 00:14:20,620 --> 00:14:24,180 Og det vil være en mulighed, at være klar, ikke at starte din endelige 281 00:14:24,180 --> 00:14:27,730 projekter, men at fortsætte arbejdet med din endelige projekter sammen 282 00:14:27,730 --> 00:14:30,210 klassekammerater og personale og masser af mad. 283 00:14:30,210 --> 00:14:34,340 Og igen, hvis du er vågen kl 5:00 Vi vil tage dig ned ad vejen til IHOP. 284 00:14:34,340 --> 00:14:37,075 >> Den CS50 fair, i mellemtiden, er klimaks for hele klassen, hvor 285 00:14:37,075 --> 00:14:41,160 du medbringe din bærbare og venner, måske endda familie til et værelse på campus 286 00:14:41,160 --> 00:14:44,530 ned ad gaden for at udstille dine projekter på bærbare computere, på høje borde 287 00:14:44,530 --> 00:14:47,570 som dette med masser af mad og venner og musik i baggrunden, 288 00:14:47,570 --> 00:14:49,250 samt vores venner fra industrien. 289 00:14:49,250 --> 00:14:52,760 Virksomheder som Facebook og Microsoft og Google og Amazon og klaser af 290 00:14:52,760 --> 00:14:55,750 andre, så hvis de er interesseret i blot høre om den virkelige verden, eller 291 00:14:55,750 --> 00:14:59,570 chatter med folk om den virkelige verden praktik eller fuld tid muligheder 292 00:14:59,570 --> 00:15:01,950 ved, at nogle af vores venner fra industrien vil være der. 293 00:15:01,950 --> 00:15:04,970 Og et par billeder, vi kan male 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: Okay. 296 00:15:24,920 --> 00:15:27,060 Så det er så det CS50 fair. 297 00:15:27,060 --> 00:15:31,780 Så lad os nu fortsætte med at fortælle en historie der virkelig vil give dig forhåbentlig 298 00:15:31,780 --> 00:15:33,230 for ting som afgangsprojekter. 299 00:15:33,230 --> 00:15:36,940 Så en af ​​de få små ting til frø din sind, enten til afgangsprojekter 300 00:15:36,940 --> 00:15:40,470 eller bare mere generelt for projekter, du kan beslutte at tackle efter 301 00:15:40,470 --> 00:15:45,720 kurset, er disse alle dokumenterede på manual.cs50.net hvor CS50 302 00:15:45,720 --> 00:15:48,010 manual, hvor vi har masser af teknikker dokumenteret. 303 00:15:48,010 --> 00:15:51,080 >> Og dette er blot stenografi notation for siger, at der findes i 304 00:15:51,080 --> 00:15:55,190 verdens ting kaldet SMS til e-mail gateways, som er en fancy måde 305 00:15:55,190 --> 00:15:58,180 siger, er der servere i verden der ved, hvordan man konverterer e-mails til 306 00:15:58,180 --> 00:15:59,230 tekstbeskeder. 307 00:15:59,230 --> 00:16:02,450 Så hvis du for din endelige projekt, du vil at skabe en slags mobile tema 308 00:16:02,450 --> 00:16:06,650 service, der giver dig mulighed for at advare venner eller brugere til arrangementer på campus 309 00:16:06,650 --> 00:16:10,290 eller hvad der bliver serveret i D Hall den aften, eller en sådan alarm funktion, 310 00:16:10,290 --> 00:16:15,150 vide, at det er simpelt som at sende en e-mail som med PHPMailer som du 311 00:16:15,150 --> 00:16:18,735 kunne have brugt til pset7 eller vi oplevede kortvarigt en uge eller så siden, 312 00:16:18,735 --> 00:16:20,440 adresser som denne. 313 00:16:20,440 --> 00:16:26,040 >> Og i virkeligheden kan du tekst er dette under forudsætning af din ven har en ubegrænset sms'er 314 00:16:26,040 --> 00:16:28,310 plan, og du ikke ønsker at oplade dem $ 0.10. 315 00:16:28,310 --> 00:16:31,920 Men hvis du sender en e-mail til din ven hvem du kender at have Verizon eller 316 00:16:31,920 --> 00:16:35,870 AT & T bruger Gmail og bare sende den til deres telefonnummer på uanset 317 00:16:35,870 --> 00:16:38,980 sub domæne er der, indser du vil sende en SMS-besked. 318 00:16:38,980 --> 00:16:41,570 >> Men dette er en af ​​de ting at være forsigtig med. 319 00:16:41,570 --> 00:16:47,430 Hvis du trold gennem sidste års CS50 videoer, jeg tror det var, en rædselsvækkende, 320 00:16:47,430 --> 00:16:51,660 rædselsvækkende, rædselsvækkende bug jeg skrev i kode endte med at sende omkring 20.000 tekst 321 00:16:51,660 --> 00:16:55,410 budskaber lever til vores elever i klassen. 322 00:16:55,410 --> 00:16:57,970 Og kun fordi nogen har bemærket, at de fik flere tekst 323 00:16:57,970 --> 00:17:01,860 beskeder fra mig havde jeg den midlerne til at slå Kontrol C hurtigt 324 00:17:01,860 --> 00:17:03,210 og standse denne proces. 325 00:17:03,210 --> 00:17:06,200 Kontrol C, du husker, er din ven i tilfælde af uendelig løkke. 326 00:17:06,200 --> 00:17:10,900 Så pas på den effekt, vi lige har givet til du hellere uansvarligt, de fleste 327 00:17:10,900 --> 00:17:12,950 sandsynligt, baseret på mine egne erfaringer. 328 00:17:12,950 --> 00:17:15,400 Men det er på nettet og har været der i nogen 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 hjemmeside. 332 00:17:18,040 --> 00:17:20,829 Og der er klaser af andre derude så godt, at vi faktisk har brugt 333 00:17:20,829 --> 00:17:24,050 som en klasse for år for at være i stand at modtage SMS-beskeder. 334 00:17:24,050 --> 00:17:27,869 Desværre sender SMS-beskeder er let som at sende e-mails som. 335 00:17:27,869 --> 00:17:30,730 Modtagelse er lidt hårdere, især hvis du ønsker at have en af 336 00:17:30,730 --> 00:17:34,610 disse sexy korte koder, der er kun fem eller seks cifre. 337 00:17:34,610 --> 00:17:37,720 >> Så for eksempel, for år, du har været i stand til at sende en sms - og du 338 00:17:37,720 --> 00:17:39,200 kan prøve det så godt - 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 særlige opstart. 341 00:17:44,300 --> 00:17:48,130 Og hvis du sender en besked til 41411 - 342 00:17:48,130 --> 00:17:51,190 Jeg vil bare skrive det op her, så 41411 - 343 00:17:51,190 --> 00:17:54,290 og derefter sende dem en besked gerne SBOY for Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 Og skriv derefter i noget, ligesom Mather quad. 345 00:17:56,370 --> 00:17:59,360 Så du sende det tekstmeddelelse til telefonnummeret. 346 00:17:59,360 --> 00:18:02,630 Inden for et par sekunder, bør du komme tilbage et svar fra CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Dreng tjeneste, der er shuttle planlægning software, som vi har haft ud 348 00:18:06,210 --> 00:18:07,290 der på nettet for et stykke tid. 349 00:18:07,290 --> 00:18:09,450 Og det vil reagere på dig via SMS. 350 00:18:09,450 --> 00:18:13,410 >> Fordi hvad vi har gjort som en klasse, som en programmør, er at skrive software, 351 00:18:13,410 --> 00:18:18,760 konfigureret vores gratis konto med tekst mærker til at lytte til tekstbeskeder sendt 352 00:18:18,760 --> 00:18:20,770 at SBOY på dette nummer. 353 00:18:20,770 --> 00:18:25,210 Og hvad de gør, er videresende dem tekst budskaber til vores PHP-baserede hjemmeside som 354 00:18:25,210 --> 00:18:27,420 HTTP parametre siger her. 355 00:18:27,420 --> 00:18:30,380 Denne bruger med dette telefonnummer sendt dig denne besked. 356 00:18:30,380 --> 00:18:31,850 Gøre med det hvad du vil. 357 00:18:31,850 --> 00:18:35,180 >> Så vi skrev noget software at ved modtager en streng som SBOY Mather 358 00:18:35,180 --> 00:18:38,420 quad, vi parse det. 359 00:18:38,420 --> 00:18:41,210 Vi regne ud, hvor de rum er mellem ord. 360 00:18:41,210 --> 00:18:44,220 Og vi som klasse beslutte hvordan man reagerer på det. 361 00:18:44,220 --> 00:18:47,335 Og hvis du prøver at nu, for eksempel, bør du se via svar inden for en 362 00:18:47,335 --> 00:18:51,470 få sekunder, de næste par rumfærger gå fra Mather til quad, hvis nogen. 363 00:18:51,470 --> 00:18:52,260 Og der er andre stopper. 364 00:18:52,260 --> 00:18:56,060 Du kan skrive Boylston eller andre sådanne stopper på campus, og det bør 365 00:18:56,060 --> 00:18:57,760 genkende disse ord. 366 00:18:57,760 --> 00:18:58,590 >> Så parse.com. 367 00:18:58,590 --> 00:19:01,630 Dette er en anden service, som vi har været peger nogle elever på for 368 00:19:01,630 --> 00:19:04,390 afgangsprojekter, der er vidunderligt i, at det er gratis for en 369 00:19:04,390 --> 00:19:05,660 rimeligt beløb for brugen. 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 at have noget som din egen MySQL-database. 372 00:19:13,230 --> 00:19:14,490 Og helt ærligt, det er bare slags fortryllende. 373 00:19:14,490 --> 00:19:17,450 Dette er, hvad der er inde i sky selv på en overskyet dag. 374 00:19:17,450 --> 00:19:21,580 >> Så parse.com tillader dig at gøre en bundt af interessante ting. 375 00:19:21,580 --> 00:19:23,610 Og der er andre alternativer til dette derude. 376 00:19:23,610 --> 00:19:26,870 For eksempel kan du bruge dem som din back end-databasen. 377 00:19:26,870 --> 00:19:28,980 Så du behøver ikke at have en web-hosting firma. 378 00:19:28,980 --> 00:19:31,180 Du behøver ikke at have en MySQL-database. 379 00:19:31,180 --> 00:19:32,850 Du kan i stedet bruge deres ryg ende. 380 00:19:32,850 --> 00:19:36,350 >> Hvis du laver et mobilt projekt for Android eller iOS eller lignende, ved, at 381 00:19:36,350 --> 00:19:39,776 der findes ting som push-tjenester så du kan skubbe beskeder til dine venner 382 00:19:39,776 --> 00:19:41,390 eller dine brugeres hjem skærme. 383 00:19:41,390 --> 00:19:43,600 Og så en masse andre karakteristika. 384 00:19:43,600 --> 00:19:47,200 >> Så hvis du har interesse, så tjek disse websteder og websteder som dem 385 00:19:47,200 --> 00:19:50,720 bare se, hvor mange andre folkeslag ' skuldre, du kan stå på at gøre 386 00:19:50,720 --> 00:19:53,350 virkelig cool software på din egen. 387 00:19:53,350 --> 00:19:56,690 >> Nu i form af godkendelse, en FAQ, er, hvordan du rent faktisk garanterer 388 00:19:56,690 --> 00:20:01,220 at dine brugere er folk på campus, Harvard studerende eller fakultetet eller ansatte? 389 00:20:01,220 --> 00:20:05,350 Så CS50 har sin egen autentificering tjeneste kaldet CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Gå til denne URL, og du kan begrænse din hjemmeside for alle med en Harvard 391 00:20:09,940 --> 00:20:11,340 ID, f.eks. 392 00:20:11,340 --> 00:20:12,550 Så ved, at vi kan håndtere det. 393 00:20:12,550 --> 00:20:15,280 Du fyre bør ikke være i erhvervslivet at sige,? hvad er din Harvard ID 394 00:20:15,280 --> 00:20:16,160 Hvad er din Harvard PIN-kode? 395 00:20:16,160 --> 00:20:17,550 Lad mig nu gøre noget med det. 396 00:20:17,550 --> 00:20:18,740 Vi vil gøre alt dette. 397 00:20:18,740 --> 00:20:21,710 Og hvad vi vil give dig tilbage, er andens navn og e-mail-adresse, men 398 00:20:21,710 --> 00:20:23,010 ikke noget følsomme. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> En app på en mobil enhed, kan det være lavet til at arbejde på en mobil enhed, men 401 00:20:30,380 --> 00:20:32,630 Det er ikke helt designet til det. 402 00:20:32,630 --> 00:20:35,640 Så du ender med at bruge en ikke triviel mængde tid at gøre det. 403 00:20:35,640 --> 00:20:38,040 Så jeg ville modvirke denne rute for nu. 404 00:20:38,040 --> 00:20:41,570 Dette er virkelig beregnet til web-baserede applikationer. 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 set på kursets hjemmeside - 407 00:20:44,450 --> 00:20:46,610 og her er, hvor vi vil begynde en historie - 408 00:20:46,610 --> 00:20:50,900 web hosting handler om at betale for normalt en service, vært for en ejet server 409 00:20:50,900 --> 00:20:54,800 af en anden på internettet, der har en IP-adresse, og du derefter sætte din 410 00:20:54,800 --> 00:20:55,880 website på det. 411 00:20:55,880 --> 00:20:58,620 Og de normalt give dig email konti og databaser 412 00:20:58,620 --> 00:21:00,160 og andre sådanne funktioner. 413 00:21:00,160 --> 00:21:02,930 >> Vide, at hvis du ikke ønsker at rent faktisk betale for en sådan, skal du gå til denne URL 414 00:21:02,930 --> 00:21:06,280 der og CS50 har faktisk en non-profit konto, som du kan bruge til at 415 00:21:06,280 --> 00:21:11,490 har faktisk ikke http://project apparatets inderside 416 00:21:11,490 --> 00:21:12,470 for din endelige projekt. 417 00:21:12,470 --> 00:21:16,465 Hvis du rent faktisk ønsker det skal være noget ligesom, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 kan du købe dette domænenavn - selv ikke netop en - 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 tilbyde 420 00:21:24,070 --> 00:21:25,170 jer igennem her. 421 00:21:25,170 --> 00:21:27,240 >> Og i virkeligheden, hvis ukendte, hvis du aldrig har været til 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, en, derned. 423 00:21:30,590 --> 00:21:37,310 Men to, ved, at det var en ung Kvindens navn ved Tej Til Toor Too to 424 00:21:37,310 --> 00:21:41,550 år siden, tre år siden, der var en CS50 alumner, der skete en dag eller to 425 00:21:41,550 --> 00:21:46,280 før CS50 messen sendt en e-mail til hendes hus postliste og voila. 426 00:21:46,280 --> 00:21:49,770 To dage senere af CS50 fair, hun havde hundreder af brugere krybende på 427 00:21:49,770 --> 00:21:53,240 hinanden på hendes hjemmeside, og at sige, hvordan de havde set 428 00:21:53,240 --> 00:21:55,250 hende eller ham på campus. 429 00:21:55,250 --> 00:21:57,600 Så det er en af ​​CS50 favorit succeshistorier fra 430 00:21:57,600 --> 00:21:59,650 et CS50 afgangsprojekt. 431 00:21:59,650 --> 00:22:04,090 >> Så hvordan kan du gå om at sætte en hjemmeside lide, at på internettet? 432 00:22:04,090 --> 00:22:07,140 Tja, der er et par sådanne ingredienser her. 433 00:22:07,140 --> 00:22:09,310 Så en, skal du købe et domænenavn. 434 00:22:09,310 --> 00:22:12,440 Der er bundter af steder i verden, hvorfra du kan 435 00:22:12,440 --> 00:22:13,940 købe et domænenavn. 436 00:22:13,940 --> 00:22:16,660 Og for eksempel, som vi anbefaler kun fordi det er populært 437 00:22:16,660 --> 00:22:18,855 og det er billigt kaldes namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Men du kan gå godaddy.com og snesevis af andre derude. 439 00:22:22,860 --> 00:22:24,420 Du kan læse op på vurderinger. 440 00:22:24,420 --> 00:22:26,250 >> Men for det meste er det ikke noget fra, hvem du 441 00:22:26,250 --> 00:22:27,720 købe et domænenavn. 442 00:22:27,720 --> 00:22:30,780 Og de varierer i pris og de varierer i endelse. 443 00:22:30,780 --> 00:22:37,140 De endelser som. Com,., Netto, . Org. Io. Tv, der 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 ønskede at gøre noget lignende cats.com vi kan gå til denne hjemmeside, 446 00:22:43,630 --> 00:22:44,280 klik på Søg. 447 00:22:44,280 --> 00:22:46,370 Formentlig denne ene er taget. 448 00:22:46,370 --> 00:22:50,170 Men tilsyneladende catsagainst.com er tilgængelig. 449 00:22:50,170 --> 00:22:52,100 pluscats.com er tilgængelig. 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åbentlig pseudo tilfældigt genereret. 453 00:22:59,135 --> 00:23:04,670 Hvis du vil have cats.pw, 1500 dollar alene, som er en smule sindssyg. 454 00:23:04,670 --> 00:23:08,100 Så nogen har virkelig revet op alle katten relaterede domænenavne her for 455 00:23:08,100 --> 00:23:09,840 varierende priser. 456 00:23:09,840 --> 00:23:12,360 >> Som en sidebemærkning, lad os se. 457 00:23:12,360 --> 00:23:13,710 Hvem har cats.com? 458 00:23:13,710 --> 00:23:16,290 Vid, at du fyre har på din rådighed retfærdigt 459 00:23:16,290 --> 00:23:17,540 sofistikerede kommandoer nu. 460 00:23:17,540 --> 00:23:20,592 Ligesom jeg kan skrive bogstaveligt hvem der er cats.com? 461 00:23:20,592 --> 00:23:23,730 Og på grund af den måde, internettet er struktureret kan du faktisk se, hvem 462 00:23:23,730 --> 00:23:25,440 har registreret dette. 463 00:23:25,440 --> 00:23:30,240 Tilsyneladende er denne person [uhørligt] bruger en proxy service. 464 00:23:30,240 --> 00:23:33,900 Så uanset hvem der ejer cats.com ikke ønsker verden til at vide, hvem de er. 465 00:23:33,900 --> 00:23:36,610 Så de har registreret, hvis gennem nogle tilfældige privatliv service. 466 00:23:36,610 --> 00:23:39,100 Men nogle gange er du faktisk få egentlige ejere. 467 00:23:39,100 --> 00:23:41,420 >> Og det er at sige, især hvis du er forfølge nogle opstart, og du 468 00:23:41,420 --> 00:23:44,640 virkelig ønsker nogle domænenavn, og du er villige til at betale en anden for 469 00:23:44,640 --> 00:23:48,050 det, kan du regne ud, kontakt oplysninger på den måde. 470 00:23:48,050 --> 00:23:49,940 >> Men også interessant er det. 471 00:23:49,940 --> 00:23:53,380 Lad mig rulle op til denne del. 472 00:23:53,380 --> 00:23:55,330 Så dette er den samme output. 473 00:23:55,330 --> 00:23:56,990 Og dette er bare tarvelige. 474 00:23:56,990 --> 00:24:00,740 Så tilsyneladende cats.com kan være din for den rigtige pris. 475 00:24:00,740 --> 00:24:03,170 Men hvad er interessant her er, at navneservere - 476 00:24:03,170 --> 00:24:06,040 dette er total misbrug af, hvad et navn server er meningen at være - dit navn 477 00:24:06,040 --> 00:24:08,876 serveren er ikke meningen at være thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Hvis vi rent faktisk vælge noget lignende - 479 00:24:11,050 --> 00:24:15,181 lad os vælge noget lidt mere legitimt ud, hvem der er google.com, 480 00:24:15,181 --> 00:24:17,030 og rulle op 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 hvad skete der? 484 00:24:21,740 --> 00:24:22,480 Interessant. 485 00:24:22,480 --> 00:24:25,290 Beyond hvem er - 486 00:24:25,290 --> 00:24:26,610 lad os holde det mere lav nøgle. 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 nyttigt. 490 00:24:29,900 --> 00:24:31,400 Så dette er hvad jeg håbede på. 491 00:24:31,400 --> 00:24:33,930 Lovlig brug af DNS service. 492 00:24:33,930 --> 00:24:36,750 Navneservere her indikerer følgende. 493 00:24:36,750 --> 00:24:40,880 Det er MIT måde at sige, når det person i verden, uanset hvor de 494 00:24:40,880 --> 00:24:46,950 er typer i mit.edu og hits Enter, din bærbare computer, uanset om Mac eller pc, vil 495 00:24:46,950 --> 00:24:51,830 en eller anden måde til sidst regne ud, at de mennesker i verden, der ved, hvad de 496 00:24:51,830 --> 00:24:58,130 IP-adressen er mit.edu eller nogen af ​​de sub-domæner på mit.edu eller nogen af 497 00:24:58,130 --> 00:25:01,660 Disse servere her - og det faktisk ligner MITs infrastruktur 498 00:25:01,660 --> 00:25:03,370 temmelig robust som du ville forvente. 499 00:25:03,370 --> 00:25:07,050 De har flere navne servere hvilket er godt for redundans. 500 00:25:07,050 --> 00:25:09,840 Og i virkeligheden, synes de at være globalt fordelt over hele verden. 501 00:25:09,840 --> 00:25:13,250 En flok af dem synes at være i USA, et par i Asien, et i Europa, to 502 00:25:13,250 --> 00:25:14,540 i et andet sted. 503 00:25:14,540 --> 00:25:18,000 >> Men pointen her er, at DNS, som Vi har taget for givet, og 504 00:25:18,000 --> 00:25:21,990 generelt beskrives som en stor Excel-tabel der har IP-adresser og domænenavne 505 00:25:21,990 --> 00:25:25,890 navne er faktisk temmelig sofistikeret hierarkisk service, så i 506 00:25:25,890 --> 00:25:29,170 verden er der faktisk et endeligt antal af servere, der hovedsagelig ved, hvor 507 00:25:29,170 --> 00:25:32,880 alle. coms er eller alle de. net er, alle af 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 købe et domæne navn fra et sted som navn Cheap eller 510 00:25:37,820 --> 00:25:41,450 Go Daddy eller enhver anden hjemmeside, en af de vigtigste skridt, at du bliver nødt til at gøre 511 00:25:41,450 --> 00:25:45,180 dig, hvis du gør dette selv for din endelige projekt, er at fortælle registratoren 512 00:25:45,180 --> 00:25:49,020 fra hvem du køber domænet navn, der i verden kender dit 513 00:25:49,020 --> 00:25:52,310 hjemmesidens IP-adresser, som dine navneservere er. 514 00:25:52,310 --> 00:25:55,750 >> Så hvis du bruger, for eksempel CS50 s hosting-konto - vi tilfældigvis har 515 00:25:55,750 --> 00:25:57,760 denne konto via dreamhost.com der er en 516 00:25:57,760 --> 00:25:59,560 populære web-hosting firma - 517 00:25:59,560 --> 00:26:03,530 de vil fortælle dig, at du skal købe dit domæne og fortælle verden, at 518 00:26:03,530 --> 00:26:09,410 dit domænes navneserver 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 At købe et domænenavn betyder at give dem penge og få ejerskab af 522 00:26:15,480 --> 00:26:17,190 domæne, men det er mere som en leje selv. 523 00:26:17,190 --> 00:26:20,060 Du får det i et år og derefter de bill du recurringly for resten af 524 00:26:20,060 --> 00:26:22,130 dit liv, indtil du annullerer domænenavnet. 525 00:26:22,130 --> 00:26:24,510 Og så skal du fortælle dem, hvem navneservere er. 526 00:26:24,510 --> 00:26:26,190 Men så er du færdig med din registrator. 527 00:26:26,190 --> 00:26:30,130 Og derfra kan du interagere kun med din web-hosting firma, som 528 00:26:30,130 --> 00:26:32,030 i CS50 sag vil være DreamHost. 529 00:26:32,030 --> 00:26:36,080 Men igen, vil mere dokumentation være leveret til dig, hvis du beslutter at gå 530 00:26:36,080 --> 00:26:37,170 denne rute. 531 00:26:37,170 --> 00:26:40,750 >> Så hvis du gør dette efter kursets ende blot googling web-hosting 532 00:26:40,750 --> 00:26:42,830 Selskabet vil slå op i tusindvis af muligheder. 533 00:26:42,830 --> 00:26:45,720 Og jeg vil generelt opfordre dig til at spørge venner, der måske har brugt en 534 00:26:45,720 --> 00:26:49,350 Selskabet før, hvis de anbefaler dem og havde en god oplevelse. 535 00:26:49,350 --> 00:26:52,680 >> Fordi der er en masse flue om natten web-hosting virksomheder, som en fyr i 536 00:26:52,680 --> 00:26:55,220 sin kælder med en server der har en IP-adresse. 537 00:26:55,220 --> 00:26:58,980 Han har nogle ekstra RAM og harddisk plads og bare sælger web hosting 538 00:26:58,980 --> 00:27:02,380 regnskab, også selv om der er ingen måde, at serveren kunne håndtere hundredvis af 539 00:27:02,380 --> 00:27:04,050 brugere eller tusindvis af brugere. 540 00:27:04,050 --> 00:27:06,260 Så indser du får hvad du betaler for. 541 00:27:06,260 --> 00:27:09,510 >> For et stykke tid for min personlige hjem side - og det var helt acceptabelt 542 00:27:09,510 --> 00:27:11,830 fordi jeg havde, ligesom, to besøgende om måneden - 543 00:27:11,830 --> 00:27:14,990 Jeg betaler, ligesom, $ 2,95 om måneden. 544 00:27:14,990 --> 00:27:17,230 Og jeg er temmelig sikker på det var i en eller andens kælder. 545 00:27:17,230 --> 00:27:20,800 Men igen, får du ikke nødvendigvis nogen garantier for oppetid eller 546 00:27:20,800 --> 00:27:21,840 skalerbarhed. 547 00:27:21,840 --> 00:27:24,560 Så igen er du typisk leder på noget mere end det. 548 00:27:24,560 --> 00:27:26,220 >> Jamen, hvad SSL? 549 00:27:26,220 --> 00:27:27,690 Så hvad er SSL bruges til? 550 00:27:27,690 --> 00:27:30,320 Lad os nu begynde at styre i retninger for sikkerhed og ting, 551 00:27:30,320 --> 00:27:32,330 kan skade os. 552 00:27:32,330 --> 00:27:36,890 Især som du venture ud på din egen. 553 00:27:36,890 --> 00:27:41,650 >> Hvad er SSL, eller hvad der er SSL bruges til? 554 00:27:41,650 --> 00:27:42,660 Sikkerhed, OK. 555 00:27:42,660 --> 00:27:44,000 Så det er brugt til sikkerhed. 556 00:27:44,000 --> 00:27:44,640 Hvad betyder 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 det er angivet ved en URL der starter med https://. 559 00:27:52,330 --> 00:27:58,410 Mange af os har sikkert aldrig skrevet https://, men du vil ofte opleve, at 560 00:27:58,410 --> 00:28:03,000 din browser er omdirigeret fra HTTP til HTTPS, så alt er der 561 00:28:03,000 --> 00:28:04,260 efter krypteret. 562 00:28:04,260 --> 00:28:10,810 >> FYI, ved hjælp af SSL kræver typisk, at har du en unik IP-adresse. 563 00:28:10,810 --> 00:28:13,940 Og typisk for at få en unik IP-adresse du nødt til at betale en web-hosting 564 00:28:13,940 --> 00:28:15,850 Virksomhedens et par dollars mere per måned. 565 00:28:15,850 --> 00:28:19,850 Så indse dette er meget let gennemført disse dage ved at købe en IP 566 00:28:19,850 --> 00:28:22,930 adresse og ved køb, hvad der er kaldes et SSL-certifikat. 567 00:28:22,930 --> 00:28:26,520 Men indse, at det kommer på nogle ekstra omkostninger. 568 00:28:26,520 --> 00:28:30,880 Og som vi vil prøve at skræmme på bare et bit, det er ikke engang nødvendigvis 100% 569 00:28:30,880 --> 00:28:34,040 beskyttende over hvad det er du forsøger at beskytte. 570 00:28:34,040 --> 00:28:38,620 >> Så for sikkerhed, ville jeg troede, jeg ville gør en slags tilfældig Overgang her. 571 00:28:38,620 --> 00:28:42,820 Som du måske ved fra CS50 foredrag videoer, har vores produktion team været en 572 00:28:42,820 --> 00:28:46,770 fan, som jeg har at tage virkelig rart fotografering af campus, og antennen 573 00:28:46,770 --> 00:28:48,370 fotografering senest. 574 00:28:48,370 --> 00:28:51,450 Hvis du nogensinde kigge op, og du ser noget flyvende med et lille 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 troede bare jeg ville dele minut nogle af optagelserne har holdet 577 00:28:55,830 --> 00:28:59,450 samlet, især da vi ser på forårssemestret og næste efterår. 578 00:28:59,450 --> 00:29:03,320 Hvis nogen af ​​jer har en evne til fotografering, videography, ville vi 579 00:29:03,320 --> 00:29:05,570 elsker at få dig involveret bag kulisserne. 580 00:29:05,570 --> 00:29:07,595 Men mere om disse detaljer i en uge. 581 00:29:07,595 --> 00:29:18,560 >> [MUSIC] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. MALAN: Slår ud der er en minigolfbane på toppen af 583 00:29:20,750 --> 00:29:22,754 stadion, som vi aldrig vidste 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 skitsere af drone der. 586 00:30:08,440 --> 00:30:24,160 >> [MUSIC] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. MALAN: Den bedste del 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 andet eksempel på, hvad du kan gøre med teknologi, der er 590 00:30:56,920 --> 00:30:58,900 kun tangentielt ærligt, relateret til sikkerhed. 591 00:30:58,900 --> 00:31:01,710 Men jeg troede det ville være en mere sjov måde for bare at sige, sikkerhed. 592 00:31:01,710 --> 00:31:07,780 Så lad os se om vi ikke kan skræmme jer nu med ikke blot lidt af et par 593 00:31:07,780 --> 00:31:10,590 trusler, men også et underliggende forståelse af, hvad disse trusler 594 00:31:10,590 --> 00:31:13,830 er så at bevæge sig fremad, kan du beslutte, hvordan og hvorvidt at forsvare 595 00:31:13,830 --> 00:31:17,290 dig mod disse ting og på mindste at være opmærksomme på dem, som du 596 00:31:17,290 --> 00:31:20,530 træffe beslutninger om, hvorvidt eller ikke at Send denne e-mail, om ikke at logge 597 00:31:20,530 --> 00:31:24,920 ind i denne hjemmeside, om eller ikke at bruge cyber cafe trådløs internetadgang 598 00:31:24,920 --> 00:31:28,210 punkt, således at du ved, hvad trusler er faktisk omkring dig. 599 00:31:28,210 --> 00:31:30,990 >> Så Jonathan nævnt noget gerne dette på mandag. 600 00:31:30,990 --> 00:31:32,220 Han havde et vindue skærmbillede. 601 00:31:32,220 --> 00:31:33,630 Denne ene er en Mac. 602 00:31:33,630 --> 00:31:36,850 Hvor mange af jer har nogensinde installeret software på din Mac eller PC? 603 00:31:36,850 --> 00:31:38,420 Naturligvis alle. 604 00:31:38,420 --> 00:31:41,590 Hvor mange af jer har tænkt meget til at skrive i din adgangskode 605 00:31:41,590 --> 00:31:43,030 når du bliver bedt? 606 00:31:43,030 --> 00:31:44,740 Jeg mener, selv jeg ikke gør det, helt ærligt. 607 00:31:44,740 --> 00:31:48,730 Så et par af os er gode på at være paranoid. 608 00:31:48,730 --> 00:31:50,490 Men overveje, hvad du faktisk gør her. 609 00:31:50,490 --> 00:31:53,280 >> På en typisk Mac eller pc har du en administratorkonto. 610 00:31:53,280 --> 00:31:56,450 Og typisk du er den eneste bruger en bærbar computer mindst disse dage. 611 00:31:56,450 --> 00:31:59,780 Så din konto, Malan eller JHarvard eller hvad det er, er det 612 00:31:59,780 --> 00:32:00,830 administrator konto. 613 00:32:00,830 --> 00:32:03,530 Og hvad det betyder er, du har root-adgang til din computer. 614 00:32:03,530 --> 00:32:06,180 Du kan installere noget, du ønsker, slette noget, du ønsker. 615 00:32:06,180 --> 00:32:10,800 >> Og typisk i disse dage, på grund af dateret design beslutninger fra år siden, 616 00:32:10,800 --> 00:32:14,560 den måde de fleste software bliver installeret er som administrator. 617 00:32:14,560 --> 00:32:18,180 Og selv om din Mac eller pc har mindst fået smart nok over 618 00:32:18,180 --> 00:32:22,010 år med de nyeste inkarnationer af Mac OS og Windows til ikke at køre din 619 00:32:22,010 --> 00:32:26,130 brugernavn som standard som de administrator, når du henter noget 620 00:32:26,130 --> 00:32:29,160 nyt program fra internettet og forsøge at installere det, er du sandsynligvis kommer 621 00:32:29,160 --> 00:32:30,880 at blive bedt om dit kodeord. 622 00:32:30,880 --> 00:32:34,790 Men fangsten er på dette punkt, er du bogstaveligt afleverer nøglerne til din 623 00:32:34,790 --> 00:32:38,620 computer til hvad tilfældige program, du lige har downloadet og 624 00:32:38,620 --> 00:32:41,590 gør det muligt at installere hvad det vil. 625 00:32:41,590 --> 00:32:45,050 >> Og som Jonathan hentydede til, indser at det kan sige, at det ønsker at 626 00:32:45,050 --> 00:32:49,350 installere software, som du holder om, Spotify eller iTunes eller hvad 627 00:32:49,350 --> 00:32:50,900 det er du prøver at installere. 628 00:32:50,900 --> 00:32:54,710 Men du er bogstaveligt tillid til forfatteren eller forfattere af softwaren til 629 00:32:54,710 --> 00:32:57,570 kun gøre, hvad programmet er meningen at gøre. 630 00:32:57,570 --> 00:33:02,320 >> Men der er absolut intet stoppe de fleste programmer på de fleste 631 00:33:02,320 --> 00:33:06,910 operativsystemer fra sletning af filer, fra at uploade dem til nogle virksomheds 632 00:33:06,910 --> 00:33:10,040 websted, fra trolling rundt, til kryptering ting. 633 00:33:10,040 --> 00:33:12,970 Og igen, har vi slags indbygget en hel infrastruktur over 634 00:33:12,970 --> 00:33:14,930 årene på tillid. 635 00:33:14,930 --> 00:33:18,690 Og så indse, at du lige har været tillidsfuld tilfældige mennesker og tilfældige 636 00:33:18,690 --> 00:33:20,050 virksomheder for det meste. 637 00:33:20,050 --> 00:33:24,860 >> Og Jonathan hentydet til også, undertiden disse selskaber selv er slags 638 00:33:24,860 --> 00:33:26,410 bevidst ondsindet, okay? 639 00:33:26,410 --> 00:33:30,200 Sony fanget en masse Flack et par år siden for at installere det, der blev kaldt en 640 00:33:30,200 --> 00:33:33,220 rootkit kit på folks computere uden deres viden. 641 00:33:33,220 --> 00:33:36,570 Og kernen i dette var, at når du købte en cd for eksempel, at de 642 00:33:36,570 --> 00:33:40,050 ikke ønsker at være i stand til at kopiere eller rippe musik ud af den cd ville 643 00:33:40,050 --> 00:33:42,600 installere, uden din vidende, et rootkit på din computer. 644 00:33:42,600 --> 00:33:46,020 Rootkit bare betyder software, der kører som administrator, som potentielt 645 00:33:46,020 --> 00:33:47,260 gør slemme ting. 646 00:33:47,260 --> 00:33:50,780 >> Men blandt de ting denne ting gjorde blev det skjulte selv. 647 00:33:50,780 --> 00:33:53,660 Så nogle af jer måske være temmelig kyndige med din computer og kender godt, jeg 648 00:33:53,660 --> 00:33:57,310 kan bare åbne Task Manager eller Activity Monitor og jeg kan se på alle 649 00:33:57,310 --> 00:33:59,150 De arcanely navngivne programmer der kører. 650 00:33:59,150 --> 00:34:01,760 Og hvis noget ser mistænkeligt Jeg vil bare dræbe det eller slette det. 651 00:34:01,760 --> 00:34:02,980 Men det er, hvad rootkit gjorde. 652 00:34:02,980 --> 00:34:07,070 Det væsentlige er sagt, hvis den kører Task Manager ikke viser dig selv. 653 00:34:07,070 --> 00:34:08,500 >> Så softwaren var der. 654 00:34:08,500 --> 00:34:12,710 Og kun hvis du virkelig, virkelig kiggede svært kan du endda finde det. 655 00:34:12,710 --> 00:34:15,670 Og dette blev gjort i navnet af kopibeskyttelse. 656 00:34:15,670 --> 00:34:18,230 Men tænk hvad der kunne blevet gjort andet. 657 00:34:18,230 --> 00:34:19,699 >> Nu i form af at beskytte dig selv. 658 00:34:19,699 --> 00:34:22,190 En masse hjemmesider er vidunderligt elskværdig at de sætter disse 659 00:34:22,190 --> 00:34:26,480 hængelås ikoner på deres hjemmeside, som betyder, at hjemmesiden er sikker. 660 00:34:26,480 --> 00:34:28,870 Dette er fra bankofamerica.com morges. 661 00:34:28,870 --> 00:34:32,239 Så hvad betyder det lille hængelås Der betyder ved siden af ​​knappen Log ind? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Absolut intet. 664 00:34:36,790 --> 00:34:39,560 Det betyder nogen ved, hvordan man bruger Photoshop til at lave et billede af en 665 00:34:39,560 --> 00:34:40,590 hængelås-ikonet. 666 00:34:40,590 --> 00:34:44,449 Ligesom helt bogstaveligt, at det er der menes at være en positiv 667 00:34:44,449 --> 00:34:46,880 signalere til brugeren lignende, ooh, sikkert websted. 668 00:34:46,880 --> 00:34:50,449 Jeg skulle have tillid til denne hjemmeside og nu skrive i mit brugernavn og password. 669 00:34:50,449 --> 00:34:53,870 Og det har været konventionel for år, så sent som i morges. 670 00:34:53,870 --> 00:34:56,949 >> Men overveje vaner, dette er at få os ind. 671 00:34:56,949 --> 00:35:00,600 Overvej den implicitte budskab, at alle af disse banker i dette tilfælde har været 672 00:35:00,600 --> 00:35:01,830 sende os i mange år. 673 00:35:01,830 --> 00:35:05,160 Hvis du ser hængelås, fastgør derefter. 674 00:35:05,160 --> 00:35:05,340 Okay? 675 00:35:05,340 --> 00:35:10,520 >> Så hvordan kan du misbruger dette system af tillid, hvis du er den dårlige fyr? 676 00:35:10,520 --> 00:35:14,100 Sæt en hængelås på din hjemmeside, og logisk, har brugerne været 677 00:35:14,100 --> 00:35:17,260 konditioneres år at antage hængelås betyder 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 har måske en dejlig sikker SSL HTTPS-forbindelse til en 680 00:35:24,810 --> 00:35:26,452 falsk hjemmeside. com. 681 00:35:26,452 --> 00:35:30,150 Og ingen andre i verden kan se at du er ved at udlevere ham eller hende 682 00:35:30,150 --> 00:35:32,790 dit brugernavn og password til din konto. 683 00:35:32,790 --> 00:35:35,110 >> Dette selvom, måske, er en lidt mere betryggende. 684 00:35:35,110 --> 00:35:38,600 Så dette er et skærmbillede af den øverste af min browser i morges 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 Og mærke også her har vi have en hængelås ikon. 687 00:35:43,270 --> 00:35:48,040 Hvad betyder det i denne sammenhæng i Chrome mindst? 688 00:35:48,040 --> 00:35:49,520 >> Så dette er nu ved hjælp af SSL. 689 00:35:49,520 --> 00:35:51,220 Så det er faktisk en bedre ting. 690 00:35:51,220 --> 00:35:54,250 Og det faktum, at Chrome gør det grøn menes at henlede vores opmærksomhed 691 00:35:54,250 --> 00:35:56,750 det faktum, at dette er ikke kun via SSL. 692 00:35:56,750 --> 00:36:01,400 Det er en virksomhed, en person ud Der har bekræftet, er faktisk 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 Og det betyder, at Bank of America, når de køber deres såkaldte SSL 695 00:36:05,970 --> 00:36:09,680 certifikat, hovedsageligt store tilfældigt noget tilfældige tal, der implementerer 696 00:36:09,680 --> 00:36:14,710 sikkerhed for dem, har de været verificeret af nogle uafhængig tredjemand 697 00:36:14,710 --> 00:36:15,570 parti, der siger, jep. 698 00:36:15,570 --> 00:36:19,240 Dette er faktisk den administrerende direktør for Bank of Amerika forsøger at købe certifikatet. 699 00:36:19,240 --> 00:36:23,290 Chrome vil derfor tillid til, at godkendelsesmyndighed og siger i 700 00:36:23,290 --> 00:36:25,265 grøn, dette er bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 Og Bank of America bare betaler et par hundrede dollars for at eller nogle få 702 00:36:27,997 --> 00:36:30,800 tusinde i modsætning til en par snese af dollars. 703 00:36:30,800 --> 00:36:34,940 >> Men også her hvor mange af jer har nogensinde opførte sig anderledes, fordi 704 00:36:34,940 --> 00:36:38,576 URL i din browser er grøn i stedet for sort? 705 00:36:38,576 --> 00:36:39,900 Right? 706 00:36:39,900 --> 00:36:40,600 Så et par af os. 707 00:36:40,600 --> 00:36:42,115 Og det er godt at være paranoid. 708 00:36:42,115 --> 00:36:45,910 Men selv da, dem af jer der selv mærke til disse ting, så gør du faktisk 709 00:36:45,910 --> 00:36:50,720 stoppe logge ind en ellers sikker websted, hvis URL er ikke grøn? 710 00:36:50,720 --> 00:36:53,380 Okay, så sandsynligvis ikke, vel? 711 00:36:53,380 --> 00:36:56,740 Mindst de fleste af os, hvis det ikke er grøn, sandsynligvis du bare 712 00:36:56,740 --> 00:36:57,440 at være som, uanset hvad. 713 00:36:57,440 --> 00:36:58,950 Ligesom, jeg ønsker at logge ind på dette website. 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 har tænkt mig at logge ind alligevel. 716 00:37:02,390 --> 00:37:04,500 >> Som en sidebemærkning er Chrome en smule bedre om dette. 717 00:37:04,500 --> 00:37:07,990 Men der er en masse browsere som Firefox for eksempel, i det mindste for 718 00:37:07,990 --> 00:37:12,190 lidt tid, når denne hængelåsikonet er, kan du faktisk sætte nogen 719 00:37:12,190 --> 00:37:13,250 ikon for din egen. 720 00:37:13,250 --> 00:37:17,480 Lad mig se, hvad den nyeste version af Firefox ser ud. 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ået bedre samt. 723 00:37:21,580 --> 00:37:24,970 Hvad de browsere, der anvendes til at gøre, er at lide, her er for eksempel [? SAAS er?] 724 00:37:24,970 --> 00:37:25,790 crest heroppe. 725 00:37:25,790 --> 00:37:29,240 Det er den såkaldte favorit ikon for en hjemmeside. 726 00:37:29,240 --> 00:37:30,190 År siden - 727 00:37:30,190 --> 00:37:34,720 faktisk ikke så længe siden - den lille skjold ville have været ret 728 00:37:34,720 --> 00:37:36,560 her ved siden af ​​URL'en. 729 00:37:36,560 --> 00:37:40,300 Fordi nogle geni besluttet, at det ville bare se temmelig classy at have 730 00:37:40,300 --> 00:37:43,150 Deres grafiske logo til højre ved siden af ​​din webadresse. 731 00:37:43,150 --> 00:37:45,310 Og design klog, der rent faktisk er temmelig overbevisende. 732 00:37:45,310 --> 00:37:47,240 >> Så hvad gjorde skurken begynde at gøre? 733 00:37:47,240 --> 00:37:50,500 De begyndte at ændre deres favorit ikoner eller deres standard ikon for en 734 00:37:50,500 --> 00:37:55,250 hjemmeside for at være ikke en bjergkam men en hængelås, som havde 735 00:37:55,250 --> 00:37:56,600 absolut ingen mening. 736 00:37:56,600 --> 00:37:59,760 Andre end deres favorit ikon blev en hængelås det havde ingen 737 00:37:59,760 --> 00:38:01,250 indikationer af sikkerhed. 738 00:38:01,250 --> 00:38:04,040 >> Så de erfaringer her er et par tror jeg. 739 00:38:04,040 --> 00:38:07,820 Én er, at der faktisk nogle velmenende mekanismer for 740 00:38:07,820 --> 00:38:12,850 undervise os brugere om sikkerheden endnu hvis du ikke var engang klar, hvad grøn 741 00:38:12,850 --> 00:38:15,110 betød, eller hvad endog HTTPS betød. 742 00:38:15,110 --> 00:38:19,130 Men hvis disse mekanismer få os ind den dårlige vane med tillidsfulde websites 743 00:38:19,130 --> 00:38:23,390 når vi ser de positive signaler, de er meget let misbruges som vi så 744 00:38:23,390 --> 00:38:26,480 bare for et øjeblik siden med noget fjollet som dette. 745 00:38:26,480 --> 00:38:29,100 >> Så sessionskapring kommer ind spille, da vi sagde 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 hvad betyder det egentlig? 748 00:38:32,130 --> 00:38:35,930 Godt med sessionskapring dette er alle om at stjæle nogens cookies. 749 00:38:35,930 --> 00:38:39,860 Så hvis jeg åbner Chrome her, for Eksempelvis og jeg åbner op for Inspector 750 00:38:39,860 --> 00:38:41,550 hernede og jeg går til Netværk Tab - 751 00:38:41,550 --> 00:38:42,830 og vi har gjort det før - 752 00:38:42,830 --> 00:38:48,900 og jeg går til noget som http://facebook.com Enter, en hel 753 00:38:48,900 --> 00:38:52,280 masse ting går over skærmen på grund af alle de billeder 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 ene her mærke at Facebook faktisk er plantning en 756 00:38:59,420 --> 00:39:02,310 eller flere cookies på min browser lige her. 757 00:39:02,310 --> 00:39:05,610 Så disse er væsentlige hånd frimærker, der repræsenterer mig. 758 00:39:05,610 --> 00:39:08,580 Og nu forhåbentlig min browser vil præsentere dette igen og igen, når 759 00:39:08,580 --> 00:39:10,560 genoptagelse denne hjemmeside. 760 00:39:10,560 --> 00:39:15,810 Men at det kun er sikkert, vi sagde en par uger siden, hvis du bruger SSL. 761 00:39:15,810 --> 00:39:18,860 >> Men selv SSL selv kan være kompromitteret. 762 00:39:18,860 --> 00:39:21,800 Overveje efter hele vejen SSL virker. 763 00:39:21,800 --> 00:39:28,860 Når din browser opretter forbindelse til en ekstern server via https://, lang historie kort, 764 00:39:28,860 --> 00:39:30,110 kryptografi er involveret. 765 00:39:30,110 --> 00:39:34,750 Det er ikke så simpelt som Cæsar eller Visionaire eller endda DES DES fra en 766 00:39:34,750 --> 00:39:36,110 mens tilbage i pset2. 767 00:39:36,110 --> 00:39:37,410 Det er mere sofistikeret end det. 768 00:39:37,410 --> 00:39:39,110 Det hedder offentlig nøgle kryptografi. 769 00:39:39,110 --> 00:39:42,845 Men virkelig store og virkelig random Tallene bruges til at kryptere 770 00:39:42,845 --> 00:39:47,125 oplysninger mellem punkt A, dig, og punkt B, ligesom facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Men problemet er, hvor mange af os igen nogensinde skrive https:// at starte 772 00:39:52,570 --> 00:39:55,790 vores hjemmeside tilslutning i at sikker tilstand? 773 00:39:55,790 --> 00:40:00,900 Jeg mener, hvor mange af jer selv typen http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Okay, hvis du gør, vil, hej. 775 00:40:02,290 --> 00:40:03,510 Du behøver ikke at gøre det længere, right? 776 00:40:03,510 --> 00:40:05,190 Browseren vil regne det ud. 777 00:40:05,190 --> 00:40:08,070 >> Men de fleste af os gør faktisk bare skrive facebook.com. 778 00:40:08,070 --> 00:40:10,960 For hvis vi bruger en browser, det browsere har fået smart nok af 779 00:40:10,960 --> 00:40:14,920 2013 til påtage sig, hvis du bruger en browser, du skriver i en adresse, du 780 00:40:14,920 --> 00:40:18,550 sandsynligvis ønsker at få adgang til det ikke via e-mail eller instant message. 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 konventioner er blevet vedtaget. 783 00:40:22,970 --> 00:40:24,830 >> Men hvordan fungerer omdirigering arbejde? 784 00:40:24,830 --> 00:40:26,170 Nå, mærke til, hvad der sker her. 785 00:40:26,170 --> 00:40:27,590 Hvis jeg går tilbage til Chrome - 786 00:40:27,590 --> 00:40:31,920 og lad os gøre dette i incognito tilstand, så alle mine 787 00:40:31,920 --> 00:40:33,620 cookies er smidt væk. 788 00:40:33,620 --> 00:40:38,130 Og lad mig gå her til, igen, facebook.com. 789 00:40:38,130 --> 00:40:39,490 Og lad os se hvad der sker. 790 00:40:39,490 --> 00:40:43,372 >> Husk på, at den første anmodning var ja bare for facebook.com. 791 00:40:43,372 --> 00:40:46,580 Men hvad var det svar, jeg fik? 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 fortæller mig at gå til 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, der er hvor Facebook vil have mig til at gå. 795 00:40:59,050 --> 00:41:01,900 Men så hvis vi ser på den næste anmodning og vi har set det før, 796 00:41:01,900 --> 00:41:04,370 mærke til, hvad deres anden reaktion er. 797 00:41:04,370 --> 00:41:10,280 Konkret at de vil have mig nu gå til SSL version af Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Så her er en mulighed. 799 00:41:11,800 --> 00:41:15,440 Dette er et vidunderligt nyttig funktion for bare nettet og HTTP. 800 00:41:15,440 --> 00:41:19,570 Hvis slutbrugeren som Facebook vil have mig at bo på den sikre version af deres 801 00:41:19,570 --> 00:41:20,850 hjemmeside, stor. 802 00:41:20,850 --> 00:41:23,130 De vil omdirigere mig for mig selv. 803 00:41:23,130 --> 00:41:25,250 Og så har jeg ikke selv tænke over det. 804 00:41:25,250 --> 00:41:29,200 >> Men hvad nu hvis mellem punkt A og B, mellem dig og Facebook, er der nogle 805 00:41:29,200 --> 00:41:32,220 skurken, er der nogle system administrator på Harvard, der er nysgerrige 806 00:41:32,220 --> 00:41:34,240 for at se, hvem dine venner er. 807 00:41:34,240 --> 00:41:36,760 Eller der er nogle - 808 00:41:36,760 --> 00:41:38,340 år siden, dette bruges til at lyde vanvittigt - 809 00:41:38,340 --> 00:41:41,950 men der er nogle offentlig myndighed som NSA, der er faktisk interesseret 810 00:41:41,950 --> 00:41:44,390 i hvem du stikke på Facebook. 811 00:41:44,390 --> 00:41:45,910 Hvor er muligheden der? 812 00:41:45,910 --> 00:41:49,305 Nå, så længe en person har nok teknisk kyndige, og de har adgang 813 00:41:49,305 --> 00:41:53,350 til din faktiske netværk via Wi-Fi eller nogle fysiske ledning, 814 00:41:53,350 --> 00:41:54,570 hvad kunne de gøre? 815 00:41:54,570 --> 00:41:57,520 >> Tja, hvis de er på samme netværk som dig, og de ved noget om 816 00:41:57,520 --> 00:42:02,050 TCP / IP og IP-adresser og DNS, og hvordan Alt dette virker, hvad nu hvis det 817 00:42:02,050 --> 00:42:05,970 manden i midten, hvad nu hvis det Nationale Security Agency, hvad det 818 00:42:05,970 --> 00:42:11,480 kan være, men hvad nu hvis denne enhed simpelthen reagerer hurtigere end Facebook til at 819 00:42:11,480 --> 00:42:15,820 Deres HTTP-anmodning og siger, Åh, jeg er Facebook. 820 00:42:15,820 --> 00:42:19,300 Gå fremad, og her er HTML for facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Computere er temmelig darn hurtigt. 822 00:42:20,720 --> 00:42:25,990 Så kunne du skrive et program, der kører på en server som nsa.gov at når det 823 00:42:25,990 --> 00:42:29,790 hører en anmodning fra dig for facebook.com, meget hurtigt bag 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 mellem NSA og mellem Facebook, at få den HTML meget 826 00:42:38,290 --> 00:42:42,670 sikkert til login-siden og derefter NSA-serveren bare reagerer på dig 827 00:42:42,670 --> 00:42:44,942 med en login-side for facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Nu hvor mange af jer ville selv mærke at du bruger Facebook via HTTP 829 00:42:49,120 --> 00:42:53,375 stadig på det tidspunkt, fordi du har uheld tilsluttet nsa.gov og 830 00:42:53,375 --> 00:42:53,870 ikke Facebook? 831 00:42:53,870 --> 00:42:54,980 De webadresser ikke ændrer sig. 832 00:42:54,980 --> 00:42:57,040 Alt dette sker bag kulisserne. 833 00:42:57,040 --> 00:42:59,470 Men de fleste af os, inklusive mig selv, sandsynligvis ikke ville lægge mærke til 834 00:42:59,470 --> 00:43:00,800 sådan en mindre detalje. 835 00:43:00,800 --> 00:43:05,510 >> Så du måske har en perfekt brugbar forbindelse mellem dig og hvad du 836 00:43:05,510 --> 00:43:08,660 tror er Facebook, men der er en såkaldte manden i midten. 837 00:43:08,660 --> 00:43:12,480 Og dette er en generel betegnelse for mennesket i den midten angreb, hvor du har nogle 838 00:43:12,480 --> 00:43:17,670 enhed mellem dig og punkt B, der er en eller anden måde at manipulere, stjæle 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 ikke er rabiat, især hvis du har været narret til 841 00:43:22,750 --> 00:43:26,790 ikke tænde for det på grund af, hvordan disse underliggende mekanismer faktisk virker. 842 00:43:26,790 --> 00:43:30,670 >> Så en lektion i dag, så også er, hvis du virkelig ønsker at være paranoid - 843 00:43:30,670 --> 00:43:32,110 og selv her er der trusler - 844 00:43:32,110 --> 00:43:37,112 bør du virkelig begynde at komme ind for vane at skrive i https://www 845 00:43:37,112 --> 00:43:39,850 uanset domænenavn, du faktisk bekymrer sig om. 846 00:43:39,850 --> 00:43:41,820 >> Og som en sidebemærkning alt er der endnu en trussel med 847 00:43:41,820 --> 00:43:43,410 hensyn til kapring af sessionen. 848 00:43:43,410 --> 00:43:47,440 Meget ofte når du første gang besøger en hjemmeside som facebook.com, medmindre 849 00:43:47,440 --> 00:43:51,050 serveren er konfigureret til at sige, at den hånd stempel det sat på dig 850 00:43:51,050 --> 00:43:56,140 i går skal sikre sig, din browser kan meget vel efter 851 00:43:56,140 --> 00:44:00,620 besøger ting som facebook.com google.com, twitter.com, din browser 852 00:44:00,620 --> 00:44:04,280 kunne præsentere denne hånd stempel kun at blive slået ned og sagde nej. 853 00:44:04,280 --> 00:44:05,660 Brug SSL. 854 00:44:05,660 --> 00:44:07,030 >> Men det er for sent på det tidspunkt. 855 00:44:07,030 --> 00:44:10,940 Hvis du allerede har sendt din hånd stempel, din cookie, i det klare med 856 00:44:10,940 --> 00:44:15,180 uden SSL, har du et splitsekund sårbarhed, hvor nogen snuse 857 00:44:15,180 --> 00:44:19,530 din trafik, uanset roommate eller NSA, kan derefter bruge den samme cookie, og 858 00:44:19,530 --> 00:44:23,860 med en smule teknisk kyndige, fremlægge det som hans eller hendes egen. 859 00:44:23,860 --> 00:44:25,930 >> Andet angreb du måske ikke har tænkt over. 860 00:44:25,930 --> 00:44:30,120 Denne ene er virkelig på dig, hvis du skrue dette op skriftligt nogle hjemmeside, at 861 00:44:30,120 --> 00:44:31,580 anden måde bruger SQL. 862 00:44:31,580 --> 00:44:34,610 Så her, for eksempel, er en skærm skudt af Harvards login. 863 00:44:34,610 --> 00:44:36,380 Og dette er et generelt eksempel af noget med en 864 00:44:36,380 --> 00:44:37,480 brugernavn og adgangskode. 865 00:44:37,480 --> 00:44:38,440 Super fælles. 866 00:44:38,440 --> 00:44:41,310 Så lad os antage, at SSL eksisterer og Der er ingen mand i midten eller 867 00:44:41,310 --> 00:44:41,920 noget lignende. 868 00:44:41,920 --> 00:44:45,660 Nu er vi fokuserer på serverens kode, som du måske skrive. 869 00:44:45,660 --> 00:44:49,830 >> Nå, når jeg skriver i et brugernavn og adgangskode, formoder, at PIN-tjeneste 870 00:44:49,830 --> 00:44:51,740 er implementeret i PHP. 871 00:44:51,740 --> 00:44:53,990 Og du har måske noget kode på den pågældende server som denne. 872 00:44:53,990 --> 00:44:57,740 Få brugernavnet fra posten super globalt og få adgangskoden, og derefter 873 00:44:57,740 --> 00:45:01,130 hvis de bruger nogle pset7 ligesom kode er der en søgefunktion 874 00:45:01,130 --> 00:45:01,820 der kan gøre dette. 875 00:45:01,820 --> 00:45:06,320 Vælg stjerne fra brugere, hvor brugernavn lig med og password lig med. 876 00:45:06,320 --> 00:45:08,120 >> Det ser ved første øjekast, 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 der intet galt med dette. 879 00:45:13,160 --> 00:45:15,710 Formentlig er der nogle flere linjer, faktisk gøre noget med det 880 00:45:15,710 --> 00:45:18,150 resultat, der kommer tilbage fra databasen. 881 00:45:18,150 --> 00:45:20,580 Men dette er sårbar for følgende grund. 882 00:45:20,580 --> 00:45:23,760 >> Bemærk, at som en god borger, Jeg har sat i anførselstegn, single 883 00:45:23,760 --> 00:45:25,380 citater, brugernavnet. 884 00:45:25,380 --> 00:45:26,980 Og jeg sætter i anførselstegn adgangskoden. 885 00:45:26,980 --> 00:45:28,830 Og det er en god ting, fordi de er ikke meningen at være tal. 886 00:45:28,830 --> 00:45:30,660 Typisk de kommer til at være tekst. 887 00:45:30,660 --> 00:45:32,290 Så jeg citerer dem som strenge. 888 00:45:32,290 --> 00:45:37,470 >> Og hvis jeg nu avancere yderligere hvad nu hvis - og jeg har fjernet kuglerne fra 889 00:45:37,470 --> 00:45:38,870 PIN tjeneste midlertidigt - 890 00:45:38,870 --> 00:45:41,650 hvad nu hvis jeg prøver at logge på som Formand [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 men jeg hævder, at mit password er 12345 'OR '1' = '1, og bemærk 892 00:45:52,540 --> 00:45:53,830 hvad jeg ikke har gjort. 893 00:45:53,830 --> 00:45:56,140 Jeg havde ikke lukke det andet ét tilbud. 894 00:45:56,140 --> 00:45:58,500 Fordi jeg er temmelig skarp her som skurken. 895 00:45:58,500 --> 00:46:01,870 Og jeg antager at de er du ikke meget godt med din 896 00:46:01,870 --> 00:46:03,450 PHP og MySQL kode. 897 00:46:03,450 --> 00:46:06,740 Jeg kan gætte, at du ikke tjekker for tilstedeværelsen af ​​citater. 898 00:46:06,740 --> 00:46:11,190 >> Så hvad der lige er sket, er, at når din brugeren har indtastet i denne streng, 899 00:46:11,190 --> 00:46:15,060 den forespørgsel, du er ved at skabe ligner dette. 900 00:46:15,060 --> 00:46:18,180 Og lang historie kort, hvis du og noget sammen, eller du eller noget 901 00:46:18,180 --> 00:46:21,740 sammen denne kommer til at vende tilbage træk fra databasen. 902 00:46:21,740 --> 00:46:26,570 Fordi det altid er tilfælde, at 1 er lig med 1. 903 00:46:26,570 --> 00:46:30,400 >> Og bare fordi du ikke havde forudset at dine brugere, gode eller dårlige, måske 904 00:46:30,400 --> 00:46:35,340 have en apostrof i deres navn, du have skabt en SQL-forespørgsel, der er stadig 905 00:46:35,340 --> 00:46:39,040 gyldige, og vil nu vende tilbage flere resultater end du måske have haft til hensigt. 906 00:46:39,040 --> 00:46:42,340 Og så dette dårlige fyr har nu potentielt logget ind på din server 907 00:46:42,340 --> 00:46:47,060 fordi din database er på vej tilbage træk selv om han eller hun har ingen idé om, hvad 908 00:46:47,060 --> 00:46:49,410 [? Scroob s?] Faktiske password er. 909 00:46:49,410 --> 00:46:50,640 >> Åh, jeg indså en tastefejl her. 910 00:46:50,640 --> 00:46:53,260 Jeg skulle have sagt password lig 12345 ligesom den tidligere 911 00:46:53,260 --> 00:46:54,990 eksempel eller 1 er lig med 1. 912 00:46:54,990 --> 00:46:56,400 Jeg ordner online. 913 00:46:56,400 --> 00:46:59,960 >> Så hvorfor har vi dig ved hjælp af forespørgslen funktion med spørgsmålstegn? 914 00:46:59,960 --> 00:47:04,000 En af de ting forespørgslen funktionen betyder for dig, er det sikrer, at 915 00:47:04,000 --> 00:47:07,660 når du passerer i argumenterne efter kommaer her som dette, at forespørgslen 916 00:47:07,660 --> 00:47:10,330 der er faktisk sendt til database ligner dette. 917 00:47:10,330 --> 00:47:13,830 En masse grimmere at se på, men tilbage skråstreger har været automatisk 918 00:47:13,830 --> 00:47:19,030 indsat netop at undgå at injektion angreb, som jeg viste en 919 00:47:19,030 --> 00:47:20,270 øjeblik siden. 920 00:47:20,270 --> 00:47:24,930 >> Nu er en sjov XKCD at jeg troede, jeg ville trække heroppe der forhåbentlig nu bør være en 921 00:47:24,930 --> 00:47:28,546 lidt mere forståeligt er dette en her. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> En lille smule? 924 00:47:40,265 --> 00:47:42,370 Måske har vi brug for lidt mere diskussion om det. 925 00:47:42,370 --> 00:47:47,810 Så dette hentyder til en lille dreng opkaldt Bobby, der har en eller anden måde taget 926 00:47:47,810 --> 00:47:52,250 fordel af et websted, der er bare tillid til, at hvad brugeren har indtastet 927 00:47:52,250 --> 00:47:55,100 i er ikke i virkeligheden, SQL-kode, men er i virkeligheden en streng. 928 00:47:55,100 --> 00:47:56,830 >> Nu kan du huske, at drop - 929 00:47:56,830 --> 00:48:00,190 du måske har set det - drop betyder slette en tabel, slette en database. 930 00:48:00,190 --> 00:48:02,235 Så hvis du hovedsageligt hævder, at dit 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 kan du meget vel narre database ikke kun til at kontrollere, at du er 934 00:48:09,370 --> 00:48:13,530 faktisk Robert, men semikolon også videre at droppe tabellen. 935 00:48:13,530 --> 00:48:17,560 >> Og så SQL-injektion angreb kan faktisk være som truende, da dette 936 00:48:17,560 --> 00:48:20,740 hvor du kan slette nogen data, du kan vælge flere datamængde end 937 00:48:20,740 --> 00:48:23,440 beregnet til, kan du indsætte eller opdatere data. 938 00:48:23,440 --> 00:48:26,520 Og du kan faktisk se det om på hjem øvelse, ikke for skadelig 939 00:48:26,520 --> 00:48:29,730 formål, men bare for instruktions, er hver gang du bliver bedt om at logge 940 00:48:29,730 --> 00:48:35,180 på hjemmesiden, især en slags non meget offentlige, meget populær hjemmeside, 941 00:48:35,180 --> 00:48:38,630 prøve at logge ind som John O'Reilly eller en person med en 942 00:48:38,630 --> 00:48:39,740 apostrof i deres navn. 943 00:48:39,740 --> 00:48:42,990 Eller bogstavelig talt bare skrive apostrof, trykke Enter, og se hvad der sker. 944 00:48:42,990 --> 00:48:47,990 >> Og alt for ofte tragisk, mennesker ikke har sminket deres input og 945 00:48:47,990 --> 00:48:51,690 sørget for, at ting som citater eller semikolon er undsluppet. 946 00:48:51,690 --> 00:48:54,430 Hvilket er grunden til i pset7 vi giver dig denne søgefunktion. 947 00:48:54,430 --> 00:48:59,510 Men ikke under værdsætter præcis hvad det gør for dig. 948 00:48:59,510 --> 00:49:01,800 >> Så med det sagt, nyder at bruge web denne uge. 949 00:49:01,800 --> 00:49:04,660 Og vi vil se dig på mandag. 950 00:49:04,660 --> 00:49:06,180 >> På det næste CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUSIC]