[MUSIC] DAVID J. MALAN: Okay. Så dette er CS50 og dette er slutningen af ​​uge 10. Så nogle af jer måske har set denne allerede ved at blive, men cirkulerede for sent er en artikel, som jeg troede, jeg ville læse et uddrag fra, og derefter vise dig en tre minutter video, der maler det samme billede. Det var virkelig en rørende historie, jeg tænkte denne skæringspunktet virkelige verden med virkelig overbevisende anvendelser af teknologien. Så artiklen blev titlen "En dreng oversleeps på toget, bruger Google Maps at finde familie 25 år senere ". Og første par stykker var "Da Saroo var fem år gammel gik han med sin ældre bror til at nasse for ændre på et passagertog i en by omkring to timer fra sit lille hjemby. Saroo blev træt og hoppet på en nærliggende tog, hvor han troede, at hans bror, og derefter faldt i søvn. Da han vågnede han var i Calcutta, næsten 900 miles væk. Saroo forsøgte at finde vej tilbage, men han vidste ikke navnet på hans hjemby. Og som en lille analfabeter dreng i et stort by fuld af glemte børn, han havde stort set ingen chance for at komme hjem. Han var en gade barn et stykke tid indtil et lokalt adoption hooked agentur ham op med en australsk par der bragte ham til bor i Hobart, Tasmanien. Saroo flyttede dertil, lærte Engelsk, og voksede op. Men han har aldrig holdt op med på udkig efter hans familie og hans hjemby. Årtier senere, opdagede han Google Jorden og fulgte køreskinner. Og give sig selv en ordineret radius baseret på hvor længe han troede, han var søvn, og hvor hurtigt han troede, at toget foregik, han vidste, han var vokset op i et varmt klima, vidste han, at han talte Hindi som et barn, og han havde fået at vide at han lignede han var fra East India. Endelig efter flere års vaskning satellitbillederne, han anerkendt et par vartegn. Og efter chatter med en administrator af en nærliggende bys Facebook-side, at han indså han havde fundet hjem. " Så her er så den video fortæller at fortælling fra hans perspektiv. [VIDEO AFSPIL] -Det var 26 år siden, og jeg var bare ved at vende fem. Vi fik til togstationen og Vi bordede et tog sammen. Min bror sagde bare jeg vil bo her, og jeg vil vende tilbage. Og jeg tænkte bare, ja, du ved, jeg kan lige så godt bare gå på vågeblus og så vil han bare vække mig. Og når jeg vågner op næste dag, Hele vogn var tom på en løbsk tog, et spøgelse tog tager mig, jeg ved ikke hvor. Jeg blev vedtaget ud til Australien til en australsk familie. Og mor havde dekoreret mit værelse med kortet over Indien, som hun sætte ved siden af ​​min seng. Jeg vågner op hver morgen se, at kortet, og derfor er det slags holdt minderne i live. Folk ville sige, du forsøger at finde en nål i en høstak. Saroo, vil du aldrig finde det. Jeg ville have glimt af de steder, Jeg plejede at gå, de blinker af min familie ansigter. Der var et billede af min mor siddende ned med korslagte ben bare at se hende græde. Livet er bare så hårdt. Det var min skat. Og jeg var på udkig i Google Map og indså, at der er Google Earth så godt. I en verden, hvor man kunne zoome ind I begyndt at have alle disse tanker og hvilke muligheder der dette kunne gøre for mig. Jeg sagde til mig selv, ja, du kender, du har fået al den fotografiske erindringer og vartegn, hvor du er fra, og du ved, hvad Byen ser ud. Dette kunne være et program, du kan bruge til at finde vej tilbage. Jeg tænkte, ja, jeg vil sætte en prik på Calcutta Station i en radius linje, som du bør være at søge omkring dette område. Jeg kom på tværs af disse tog spor. Og jeg begyndte at følge det, og jeg kom til en togstation, der afspejlede samme billede, der var i mine erindringer. Alt matches. Jeg troede bare, jep. Jeg ved, hvor jeg skal hen. Jeg skal bare lade det kort, jeg har i mit hoved til at lede mig og tage mig tilbage til min hjemby. Jeg kom til døren af ​​huset at jeg er født og gik rundt omkring femten meter rundt om hjørnet. Der blev tre damer stående udenfor støder op til hinanden. Og den midterste trådte frem. Og jeg troede bare, det er din mor. Hun kom frem, at hun omfavnede mig, og vi var der for omkring fem minutter. Hun greb min hånd, og hun tog mig med til huset og fik på telefonen, og hun ringede min søster og min bror til at sige at din bror har bare alle de pludselig optrådte som et spøgelse. Og så var familien genforenet igen. Alt er godt. Jeg hjælper min mor ud. Hun behøver ikke at blive knokle rundt. Hun kan føre resten af hendes liv i fred. Det var en nål i en høstak, men nålen var der. Alt er der. Alt hvad vi har i verden er tryk på en knap. Men du nødt til at have viljen og viljen til at ville det. [END VIDEOAFSPILNING] Så en rigtig sød historie. Og det faktisk minder mig om en ganske emne, der har været at få en hel opmærksomhed for sent i The Crimson, mere nationalt generelt. Især som MOOCs tager den fase af sent. MOOCs idet disse massive og åben online kurser, hvoraf CS50 er en. Og folk taler om, hvordan, for Eksempelvis humaniora er ikke rigtig indhente eller ikke er nær så på mode som de engang var. Og jeg vil opfordre jer, meget ligesom Jonathan gjorde på mandag, for at tænke om, som du afslutter 50, og vi ved allerede omkring 50% af jer vil ikke fortsætte på at tage en anden computer videnskab kursus, og det er helt fint og forventede. Fordi en af ​​de overordnede mål af en klasse som dette er virkelig at bemyndige du fyre med blot et forståelse af, hvordan alle disse ting fungerer, og hvordan denne verden af teknologi virker. Så når du er tilbage i din egen verdener, uanset om det er pre-med eller uanset om det er det humanistiske eller samfundsvidenskab eller et andet område helt, at du fyrene er at bringe nogle tekniske kyndige til bordet og bidrage til at gøre kloge beslutninger, når det kommer til brug af og indførelse af teknologi ind i din verden. For eksempel blev jeg mindet om sent også to af bachelor klasser tog jeg for to år siden, som var sådanne simple anvendelser af teknologi men lige så overbevisende. Første nætter med professor Tom Kelly Hvis du har taget klassen. Det er en klasse på klassisk musik på denne fase her, hvor du lærer en lidt om musik. Det er faktisk første nætter, CS50 lånt ideen om spor for dem, mindre behagelig i mellem og mere behagelig. I min tid havde de forskellige spor for børn med absolut ingen musik oplevelse som mig, og så børn, der havde optrådt siden de var fem år gammelt. Og denne klasse, for eksempel, havde netop en hjemmeside som de fleste andre, men det var en hjemmeside, der tillod dig at udforske musik på den og afspille musikalske klip fra klassen, fra internettet, og bare bruge teknologien i et meget problemfri måde. Anden klasse år senere, at jeg revideres væsentlige i Grad skole, Anthro 1010, Indledning til Archaeology her. Det var forbløffende. Og en af ​​de mest overbevisende alligevel super indlysende, set i bakspejlet, anvendelser af software var, at professorer i denne klasse brugte Google Earth. Vi sad på tværs af gaden i nogle auditoriet. Og du kunne ikke rejse, for eksempel, til Mellemøsten til udgravningen, at en af professorerne lige var kommet tilbage på, men vi kunne gøre, at stort set ved flyver rundt i Google Earth og ser på en fugleperspektiv på udgravning, han var netop vendt tilbage fra en uge siden. Så jeg vil opfordre jer, især inden for humaniora, gå til tilbage til de afdelinger efter denne klasse at bringe dine afgangsprojekter med dig eller ideer til din egen, og se lige hvad du kan gøre for at indgyde din egne marker i humaniora eller ud over med en lille smule af denne slags ting, som vi har udforsket her i CS50. Så med dette billede malet, tænkte vi vil forsøge at tackle to ting i dag. One, forsøge at give dig en følelse af hvor du kan gå efter 50 år. Og i særdeleshed, hvis du vælger at tackle en webbaseret projekt, som det er utroligt almindeligt, hvordan du kan gå om at tage off alle CS50 s støttehjul og gå derude på din egen og ikke at skulle stole på en PDF eller en specifikation af et Pset? Ikke at skulle stole på en CS50 Apparatet længere. Men kan virkelig trække dig op af dine bootstraps. Med det sagt, C-baseret afsluttende projekter er velkomne. Ting, der bruger står for en bærbar bibliotek i Grafikken er velkomne. Vi ved bare, at statistisk set en masse folk bide projekter i PHP og Python og Ruby og MySQL og andre miljøer, så vi vil forudindtagethed nogle af vores bemærkninger mod det. Men et hurtigt kig tilbage. Så vi tog for givet i pset7 den kendsgerning, at $ _SESSION eksisterede. Dette var en super globalt, en global, associative array. Og hvad betyder dette lade dig gøre? Funktionelt, hvad er har dette giver os? Ja? Hvis du vil spore brugerens id. Og hvorfor er det nyttigt? At være i stand til at lagre på indersiden af ​​dette super global JHarvard eller [? Scroobs?] eller Malan bruger-ID, da han eller hun besøger et websted. Præcis. Så du behøver ikke at logge i igen og igen. Det ville være en virkelig halt world wide web Hvis hver gang du klikker på et hyperlink på et site som Facebook eller hver gang du har klikket på en e-mail i Gmail du havde re-autentificere at bevise, at det er stadig dig og ikke din værelseskammerat som kunne have gået op til din computer i dit fravær. Så vi bruger SESSION til bare huske, hvem du er. Og hvordan dette implementeres under hætten? Hvordan et websted, der bruger den protokol, som web-browsere og servere tale, hvordan gør HTTP, som er en statsløse protokol, lad os sige. Og ved statsløse Jeg mener, når du forbindelse til et websted, downloade nogle HTMLs, nogle JavaScript, nogle CSS, din browserens ikon stopper spinning. Du behøver ikke have en konstant forbindelse til serveren typisk. Det er det. Der er ingen fastholdt tilstand konstant. Så hvordan er SESSION gennemføres på en sådan en måde, at hver gang du besøger en ny side, hjemmesiden husker hvem du er? Hvad er den underliggende implementering detaljer? Råbe det ud. Det er et ord. Cookies. Ok. Så cookies. Nå, hvordan anvendes cookies? Vi vil minde om, at en cookie er generelt bare et stykke information. Og det er ofte en stor tilfældig nummer, men ikke altid. Og en cookie er plantet på din harddisk drev eller i computerens RAM, så at hver gang du gense det samme hjemmeside, din browser minder server, jeg bruger 1234567. Jeg bruger 1234567. Og så længe serveren er husket at brugeren 1234567 er JHarvard, vil hjemmesiden bare antage at du er hvem du siger du er. Og huske, at vi præsenterer disse cookies slags i form af en virtuel hånd stå. Det er sendt i HTTP headers bare for at minde den server, du er, hvem det tror du er. Selvfølgelig er der en trussel. Hvilken trussel betyder det åbne os op til, hvis vi hovedsageligt bruger en slags klub eller en forlystelsespark mekanisme for at huske, hvem vi er? Hvis du kopierer en andens cookie og kapre deres session, så at sige, du kan foregive at være en anden, og website mest sandsynlige er bare at tror dig. Så kommer vi tilbage til. Fordi den anden tema for dag ud empowerment også taler om den meget skræmmende verden vi lever i og hvor meget af det, du gør på nettet, hvor meget af det, du gør selv på din mobiltelefon i dag, kan være spores virkelig af alle mellem dig og punkt B. Og Ajax, tilbagekaldelse. Vi kiggede kun kort på dette, selvom du har brugt det indirekte i pset8 fordi du bruger Google Maps og fordi du er ved hjælp af Google Earth. Google Maps og Google Earth ikke downloade hele verden til din desktop, naturligvis, den øjeblik du indlæse pset8. Den har kun henter en firkant af verden eller en større kvadrat af jorden. Og så hver gang du slags styre uden for rækkevidde vil du måske bemærke - især hvis en langsom forbindelse - du kunne se nogle grå for et øjeblik eller en smule fuzzy billedsprog som Computeren downloader flere sådanne fliser, flere sådanne billeder fra verden eller jorden. Og Ajax er generelt teknik ved hvilke websteder, der gør det. Når du har brug for mere af kortet, dit browseren skal bruge Ajax, som er ikke i sig selv et sprog eller teknologi, det er bare en teknik. Det er brugen af ​​JavaScript gå få mere information fra en server, giver din browser for at gå få, hvad der er til øst eller hvad der er vest for hvad er ellers i øjeblikket bliver vist i dette kort. Så dette er et emne, som mange af jer vil støde enten direkte eller indirekte via afgangsprojekter, hvis du vælger at gøre noget, der er tilsvarende dynamik, er trække data fra nogle tredjeparts hjemmeside. Så vi har fået en rigtig spændende næste onsdag forude. Quiz én, de oplysninger, som er på CS50.net tidligere. Vide, at der vil være en gennemgang session på mandag på 5:30. Datoen og klokkeslættet er allerede sendt på CS50.net i det Om ark. Og lad os vide, at du har spørgsmål. Pset8 mellemtiden er allerede i dine hænder. Og lad mig lige nævne et FAQ at spare folk nogle stress. For det meste en masse af snakken vi ser på kontortid og en masse bugs vi ser indberettet på Diskuter er faktisk bugs i en elevs kode. Men når du er stødt på noget ligesom Google Earth plug-in crashe eller ikke engang fungerer, og du er sikker det er ikke dig, det er ikke en [? chamad?] problem, det er ikke en bug dig indføres i fordeling kode. Indse bare FYI - dette er slags plan Z - at sidste gang vi brugte dette problem indstille og vi løb ind lignende spørgsmål, der er en linje kode i service.js der hovedsagelig er det, der siger, drej bygninger på. Og de arbejder rundt sidste gang vi gjorde dette, igen, hjørne tilfælde, hvor studerende kunne bare ikke få det darn ting til arbejde, er at ændre sand til falsk i det ene linje kode. Og du vil finde det, hvis du søger gennem service.js. Jeg vil ikke anbefale dette, fordi du vil skabe den mest golde landskab of Cambridge, Massachusetts. Dette vil bogstaveligt tromle din verden så alt hvad du ser, er undervisningen stipendiater og kursus assistenter på horisonten og ingen bygninger. Men indse uanset årsagen til Google Earth plug-in synes stadig at være buggy et år senere, så dette kan være din fail gemme. Så snarere end ty til tårer, resort at dreje bygninger fra, hvis du kender det er plug-in, der ikke samarbejder på din Mac eller PC. Men dette er igen sidste udvej, hvis er du sikker på det er ikke en fejl. Så hackathon. Et par teasere bare at få dig ophidset. Vi havde en hel SU'er. Og bare for at male et billede af, hvad venter, jeg troede, jeg ville give dig et par sekunder husker denne billedsprog fra sidste år. [MUSIC] DAVID J. MALAN: Vent, oh. Vi har endda vores bogstavelige CS50 rumfærger. [MUSIC] DAVID J. MALAN: Så det er hvad der venter dig i form af hackathon. Og det vil være en mulighed, at være klar, ikke at starte din endelige projekter, men at fortsætte arbejdet med din endelige projekter sammen klassekammerater og personale og masser af mad. Og igen, hvis du er vågen kl 5:00 Vi vil tage dig ned ad vejen til IHOP. Den CS50 fair, i mellemtiden, er klimaks for hele klassen, hvor du medbringe din bærbare og venner, måske endda familie til et værelse på campus ned ad gaden for at udstille dine projekter på bærbare computere, på høje borde som dette med masser af mad og venner og musik i baggrunden, samt vores venner fra industrien. Virksomheder som Facebook og Microsoft og Google og Amazon og klaser af andre, så hvis de er interesseret i blot høre om den virkelige verden, eller chatter med folk om den virkelige verden praktik eller fuld tid muligheder ved, at nogle af vores venner fra industrien vil være der. Og et par billeder, vi kan male her er som følger. [MUSIC] DAVID J. MALAN: Okay. Så det er så det CS50 fair. Så lad os nu fortsætte med at fortælle en historie der virkelig vil give dig forhåbentlig for ting som afgangsprojekter. Så en af ​​de få små ting til frø din sind, enten til afgangsprojekter eller bare mere generelt for projekter, du kan beslutte at tackle efter kurset, er disse alle dokumenterede på manual.cs50.net hvor CS50 manual, hvor vi har masser af teknikker dokumenteret. Og dette er blot stenografi notation for siger, at der findes i verdens ting kaldet SMS til e-mail gateways, som er en fancy måde siger, er der servere i verden der ved, hvordan man konverterer e-mails til tekstbeskeder. Så hvis du for din endelige projekt, du vil at skabe en slags mobile tema service, der giver dig mulighed for at advare venner eller brugere til arrangementer på campus eller hvad der bliver serveret i D Hall den aften, eller en sådan alarm funktion, vide, at det er simpelt som at sende en e-mail som med PHPMailer som du kunne have brugt til pset7 eller vi oplevede kortvarigt en uge eller så siden, adresser som denne. Og i virkeligheden kan du tekst er dette under forudsætning af din ven har en ubegrænset sms'er plan, og du ikke ønsker at oplade dem $ 0.10. Men hvis du sender en e-mail til din ven hvem du kender at have Verizon eller AT & T bruger Gmail og bare sende den til deres telefonnummer på uanset sub domæne er der, indser du vil sende en SMS-besked. Men dette er en af ​​de ting at være forsigtig med. Hvis du trold gennem sidste års CS50 videoer, jeg tror det var, en rædselsvækkende, rædselsvækkende, rædselsvækkende bug jeg skrev i kode endte med at sende omkring 20.000 tekst budskaber lever til vores elever i klassen. Og kun fordi nogen har bemærket, at de fik flere tekst beskeder fra mig havde jeg den midlerne til at slå Kontrol C hurtigt og standse denne proces. Kontrol C, du husker, er din ven i tilfælde af uendelig løkke. Så pas på den effekt, vi lige har givet til du hellere uansvarligt, de fleste sandsynligt, baseret på mine egne erfaringer. Men det er på nettet og har været der i nogen tid. Ok. Så textmarks.com. Så dette er en hjemmeside. Og der er klaser af andre derude så godt, at vi faktisk har brugt som en klasse for år for at være i stand at modtage SMS-beskeder. Desværre sender SMS-beskeder er let som at sende e-mails som. Modtagelse er lidt hårdere, især hvis du ønsker at have en af disse sexy korte koder, der er kun fem eller seks cifre. Så for eksempel, for år, du har været i stand til at sende en sms - og du kan prøve det så godt - til 41411. Og det er telefonnummeret til denne særlige opstart. Og hvis du sender en besked til 41411 - Jeg vil bare skrive det op her, så 41411 - og derefter sende dem en besked gerne SBOY for Shuttle Boy. Og skriv derefter i noget, ligesom Mather quad. Så du sende det tekstmeddelelse til telefonnummeret. Inden for et par sekunder, bør du komme tilbage et svar fra CS50 Shuttle Dreng tjeneste, der er shuttle planlægning software, som vi har haft ud der på nettet for et stykke tid. Og det vil reagere på dig via SMS. Fordi hvad vi har gjort som en klasse, som en programmør, er at skrive software, konfigureret vores gratis konto med tekst mærker til at lytte til tekstbeskeder sendt at SBOY på dette nummer. Og hvad de gør, er videresende dem tekst budskaber til vores PHP-baserede hjemmeside som HTTP parametre siger her. Denne bruger med dette telefonnummer sendt dig denne besked. Gøre med det hvad du vil. Så vi skrev noget software at ved modtager en streng som SBOY Mather quad, vi parse det. Vi regne ud, hvor de rum er mellem ord. Og vi som klasse beslutte hvordan man reagerer på det. Og hvis du prøver at nu, for eksempel, bør du se via svar inden for en få sekunder, de næste par rumfærger gå fra Mather til quad, hvis nogen. Og der er andre stopper. Du kan skrive Boylston eller andre sådanne stopper på campus, og det bør genkende disse ord. Så parse.com. Dette er en anden service, som vi har været peger nogle elever på for afgangsprojekter, der er vidunderligt i, at det er gratis for en rimeligt beløb for brugen. Og hvis jeg går til parse.com du vil se at dette er et alternativ til faktisk at have noget som din egen MySQL-database. Og helt ærligt, det er bare slags fortryllende. Dette er, hvad der er inde i sky selv på en overskyet dag. Så parse.com tillader dig at gøre en bundt af interessante ting. Og der er andre alternativer til dette derude. For eksempel kan du bruge dem som din back end-databasen. Så du behøver ikke at have en web-hosting firma. Du behøver ikke at have en MySQL-database. Du kan i stedet bruge deres ryg ende. Hvis du laver et mobilt projekt for Android eller iOS eller lignende, ved, at der findes ting som push-tjenester så du kan skubbe beskeder til dine venner eller dine brugeres hjem skærme. Og så en masse andre karakteristika. Så hvis du har interesse, så tjek disse websteder og websteder som dem bare se, hvor mange andre folkeslag ' skuldre, du kan stå på at gøre virkelig cool software på din egen. Nu i form af godkendelse, en FAQ, er, hvordan du rent faktisk garanterer at dine brugere er folk på campus, Harvard studerende eller fakultetet eller ansatte? Så CS50 har sin egen autentificering tjeneste kaldet CS50 ID. Gå til denne URL, og du kan begrænse din hjemmeside for alle med en Harvard ID, f.eks. Så ved, at vi kan håndtere det. Du fyre bør ikke være i erhvervslivet at sige,? hvad er din Harvard ID Hvad er din Harvard PIN-kode? Lad mig nu gøre noget med det. Vi vil gøre alt dette. Og hvad vi vil give dig tilbage, er andens navn og e-mail-adresse, men ikke noget følsomme. En app på en mobil enhed, kan det være lavet til at arbejde på en mobil enhed, men Det er ikke helt designet til det. Så du ender med at bruge en ikke triviel mængde tid at gøre det. Så jeg ville modvirke denne rute for nu. Dette er virkelig beregnet til web-baserede applikationer. Så web hosting. Så hvis du ikke har set på kursets hjemmeside - og her er, hvor vi vil begynde en historie - web hosting handler om at betale for normalt en service, vært for en ejet server af en anden på internettet, der har en IP-adresse, og du derefter sætte din website på det. Og de normalt give dig email konti og databaser og andre sådanne funktioner. Vide, at hvis du ikke ønsker at rent faktisk betale for en sådan, skal du gå til denne URL der og CS50 har faktisk en non-profit konto, som du kan bruge til at har faktisk ikke http://project apparatets inderside for din endelige projekt. Hvis du rent faktisk ønsker det skal være noget ligesom, isawyouharvard.com, kan du købe dette domænenavn - selv ikke netop en - og så kan du gå om hosting det på en offentlig web-server som vi kan tilbyde jer igennem her. Og i virkeligheden, hvis ukendte, hvis du aldrig har været til isawyouharvard.com, en, derned. Men to, ved, at det var en ung Kvindens navn ved Tej Til Toor Too to år siden, tre år siden, der var en CS50 alumner, der skete en dag eller to før CS50 messen sendt en e-mail til hendes hus postliste og voila. To dage senere af CS50 fair, hun havde hundreder af brugere krybende på hinanden på hendes hjemmeside, og at sige, hvordan de havde set hende eller ham på campus. Så det er en af ​​CS50 favorit succeshistorier fra et CS50 afgangsprojekt. Så hvordan kan du gå om at sætte en hjemmeside lide, at på internettet? Tja, der er et par sådanne ingredienser her. Så en, skal du købe et domænenavn. Der er bundter af steder i verden, hvorfra du kan købe et domænenavn. Og for eksempel, som vi anbefaler kun fordi det er populært og det er billigt kaldes namecheap.com. Men du kan gå godaddy.com og snesevis af andre derude. Du kan læse op på vurderinger. Men for det meste er det ikke noget fra, hvem du købe et domænenavn. Og de varierer i pris og de varierer i endelse. De endelser som. Com,., Netto, . Org. Io. Tv, der faktisk varierer i pris. Men hvis vi ønskede at gøre noget lignende cats.com vi kan gå til denne hjemmeside, klik på Søg. Formentlig denne ene er taget. Men tilsyneladende catsagainst.com er tilgængelig. pluscats.com er tilgængelig. Lovecats, catscorner, dampcats.net. Alt dette forhåbentlig pseudo tilfældigt genereret. Hvis du vil have cats.pw, 1500 dollar alene, som er en smule sindssyg. Så nogen har virkelig revet op alle katten relaterede domænenavne her for varierende priser. Som en sidebemærkning, lad os se. Hvem har cats.com? Vid, at du fyre har på din rådighed retfærdigt sofistikerede kommandoer nu. Ligesom jeg kan skrive bogstaveligt hvem der er cats.com? Og på grund af den måde, internettet er struktureret kan du faktisk se, hvem har registreret dette. Tilsyneladende er denne person [uhørligt] bruger en proxy service. Så uanset hvem der ejer cats.com ikke ønsker verden til at vide, hvem de er. Så de har registreret, hvis gennem nogle tilfældige privatliv service. Men nogle gange er du faktisk få egentlige ejere. Og det er at sige, især hvis du er forfølge nogle opstart, og du virkelig ønsker nogle domænenavn, og du er villige til at betale en anden for det, kan du regne ud, kontakt oplysninger på den måde. Men også interessant er det. Lad mig rulle op til denne del. Så dette er den samme output. Og dette er bare tarvelige. Så tilsyneladende cats.com kan være din for den rigtige pris. Men hvad er interessant her er, at navneservere - dette er total misbrug af, hvad et navn server er meningen at være - dit navn serveren er ikke meningen at være thisdomainforsale.com. Hvis vi rent faktisk vælge noget lignende - lad os vælge noget lidt mere legitimt ud, hvem der er google.com, og rulle op her. Så her - hvad skete der? Interessant. Beyond hvem er - lad os holde det mere lav nøgle. Hvem er mit.edu? OK. Dette er nyttigt. Så dette er hvad jeg håbede på. Lovlig brug af DNS service. Navneservere her indikerer følgende. Det er MIT måde at sige, når det person i verden, uanset hvor de er typer i mit.edu og hits Enter, din bærbare computer, uanset om Mac eller pc, vil en eller anden måde til sidst regne ud, at de mennesker i verden, der ved, hvad de IP-adressen er mit.edu eller nogen af ​​de sub-domæner på mit.edu eller nogen af Disse servere her - og det faktisk ligner MITs infrastruktur temmelig robust som du ville forvente. De har flere navne servere hvilket er godt for redundans. Og i virkeligheden, synes de at være globalt fordelt over hele verden. En flok af dem synes at være i USA, et par i Asien, et i Europa, to i et andet sted. Men pointen her er, at DNS, som Vi har taget for givet, og generelt beskrives som en stor Excel-tabel der har IP-adresser og domænenavne navne er faktisk temmelig sofistikeret hierarkisk service, så i verden er der faktisk et endeligt antal af servere, der hovedsagelig ved, hvor alle. coms er eller alle de. net er, alle af . Orgs er, og så videre. Så når du går videre og købe et domæne navn fra et sted som navn Cheap eller Go Daddy eller enhver anden hjemmeside, en af de vigtigste skridt, at du bliver nødt til at gøre dig, hvis du gør dette selv for din endelige projekt, er at fortælle registratoren fra hvem du køber domænet navn, der i verden kender dit hjemmesidens IP-adresser, som dine navneservere er. Så hvis du bruger, for eksempel CS50 s hosting-konto - vi tilfældigvis har denne konto via dreamhost.com der er en populære web-hosting firma - de vil fortælle dig, at du skal købe dit domæne og fortælle verden, at dit domænes navneserver er ns1.dreamhost.com, ns2.dreamhost.com, og ns3.dreamhost.com. Men det er det. At købe et domænenavn betyder at give dem penge og få ejerskab af domæne, men det er mere som en leje selv. Du får det i et år og derefter de bill du recurringly for resten af dit liv, indtil du annullerer domænenavnet. Og så skal du fortælle dem, hvem navneservere er. Men så er du færdig med din registrator. Og derfra kan du interagere kun med din web-hosting firma, som i CS50 sag vil være DreamHost. Men igen, vil mere dokumentation være leveret til dig, hvis du beslutter at gå denne rute. Så hvis du gør dette efter kursets ende blot googling web-hosting Selskabet vil slå op i tusindvis af muligheder. Og jeg vil generelt opfordre dig til at spørge venner, der måske har brugt en Selskabet før, hvis de anbefaler dem og havde en god oplevelse. Fordi der er en masse flue om natten web-hosting virksomheder, som en fyr i sin kælder med en server der har en IP-adresse. Han har nogle ekstra RAM og harddisk plads og bare sælger web hosting regnskab, også selv om der er ingen måde, at serveren kunne håndtere hundredvis af brugere eller tusindvis af brugere. Så indser du får hvad du betaler for. For et stykke tid for min personlige hjem side - og det var helt acceptabelt fordi jeg havde, ligesom, to besøgende om måneden - Jeg betaler, ligesom, $ 2,95 om måneden. Og jeg er temmelig sikker på det var i en eller andens kælder. Men igen, får du ikke nødvendigvis nogen garantier for oppetid eller skalerbarhed. Så igen er du typisk leder på noget mere end det. Jamen, hvad SSL? Så hvad er SSL bruges til? Lad os nu begynde at styre i retninger for sikkerhed og ting, kan skade os. Især som du venture ud på din egen. Hvad er SSL, eller hvad der er SSL bruges til? Sikkerhed, OK. Så det er brugt til sikkerhed. Hvad betyder det? Så det står for Secure Sockets Layer. Og det er angivet ved en URL der starter med https://. Mange af os har sikkert aldrig skrevet https://, men du vil ofte opleve, at din browser er omdirigeret fra HTTP til HTTPS, så alt er der efter krypteret. FYI, ved hjælp af SSL kræver typisk, at har du en unik IP-adresse. Og typisk for at få en unik IP-adresse du nødt til at betale en web-hosting Virksomhedens et par dollars mere per måned. Så indse dette er meget let gennemført disse dage ved at købe en IP adresse og ved køb, hvad der er kaldes et SSL-certifikat. Men indse, at det kommer på nogle ekstra omkostninger. Og som vi vil prøve at skræmme på bare et bit, det er ikke engang nødvendigvis 100% beskyttende over hvad det er du forsøger at beskytte. Så for sikkerhed, ville jeg troede, jeg ville gør en slags tilfældig Overgang her. Som du måske ved fra CS50 foredrag videoer, har vores produktion team været en fan, som jeg har at tage virkelig rart fotografering af campus, og antennen fotografering senest. Hvis du nogensinde kigge op, og du ser noget flyvende med et lille kamera, Det kan faktisk være CS50. Og jeg troede bare jeg ville dele minut nogle af optagelserne har holdet samlet, især da vi ser på forårssemestret og næste efterår. Hvis nogen af ​​jer har en evne til fotografering, videography, ville vi elsker at få dig involveret bag kulisserne. Men mere om disse detaljer i en uge. [MUSIC] DAVID J. MALAN: Slår ud der er en minigolfbane på toppen af stadion, som vi aldrig vidste om. [MUSIC] DAVID J. MALAN: Du kan se skitsere af drone der. [MUSIC] DAVID J. MALAN: Den bedste del her er, se jogger til venstre. [MUSIC] David J. MALAN: Et andet eksempel på, hvad du kan gøre med teknologi, der er kun tangentielt ærligt, relateret til sikkerhed. Men jeg troede det ville være en mere sjov måde for bare at sige, sikkerhed. Så lad os se om vi ikke kan skræmme jer nu med ikke blot lidt af et par trusler, men også et underliggende forståelse af, hvad disse trusler er så at bevæge sig fremad, kan du beslutte, hvordan og hvorvidt at forsvare dig mod disse ting og på mindste at være opmærksomme på dem, som du træffe beslutninger om, hvorvidt eller ikke at Send denne e-mail, om ikke at logge ind i denne hjemmeside, om eller ikke at bruge cyber cafe trådløs internetadgang punkt, således at du ved, hvad trusler er faktisk omkring dig. Så Jonathan nævnt noget gerne dette på mandag. Han havde et vindue skærmbillede. Denne ene er en Mac. Hvor mange af jer har nogensinde installeret software på din Mac eller PC? Naturligvis alle. Hvor mange af jer har tænkt meget til at skrive i din adgangskode når du bliver bedt? Jeg mener, selv jeg ikke gør det, helt ærligt. Så et par af os er gode på at være paranoid. Men overveje, hvad du faktisk gør her. På en typisk Mac eller pc har du en administratorkonto. Og typisk du er den eneste bruger en bærbar computer mindst disse dage. Så din konto, Malan eller JHarvard eller hvad det er, er det administrator konto. Og hvad det betyder er, du har root-adgang til din computer. Du kan installere noget, du ønsker, slette noget, du ønsker. Og typisk i disse dage, på grund af dateret design beslutninger fra år siden, den måde de fleste software bliver installeret er som administrator. Og selv om din Mac eller pc har mindst fået smart nok over år med de nyeste inkarnationer af Mac OS og Windows til ikke at køre din brugernavn som standard som de administrator, når du henter noget nyt program fra internettet og forsøge at installere det, er du sandsynligvis kommer at blive bedt om dit kodeord. Men fangsten er på dette punkt, er du bogstaveligt afleverer nøglerne til din computer til hvad tilfældige program, du lige har downloadet og gør det muligt at installere hvad det vil. Og som Jonathan hentydede til, indser at det kan sige, at det ønsker at installere software, som du holder om, Spotify eller iTunes eller hvad det er du prøver at installere. Men du er bogstaveligt tillid til forfatteren eller forfattere af softwaren til kun gøre, hvad programmet er meningen at gøre. Men der er absolut intet stoppe de fleste programmer på de fleste operativsystemer fra sletning af filer, fra at uploade dem til nogle virksomheds websted, fra trolling rundt, til kryptering ting. Og igen, har vi slags indbygget en hel infrastruktur over årene på tillid. Og så indse, at du lige har været tillidsfuld tilfældige mennesker og tilfældige virksomheder for det meste. Og Jonathan hentydet til også, undertiden disse selskaber selv er slags bevidst ondsindet, okay? Sony fanget en masse Flack et par år siden for at installere det, der blev kaldt en rootkit kit på folks computere uden deres viden. Og kernen i dette var, at når du købte en cd for eksempel, at de ikke ønsker at være i stand til at kopiere eller rippe musik ud af den cd ville installere, uden din vidende, et rootkit på din computer. Rootkit bare betyder software, der kører som administrator, som potentielt gør slemme ting. Men blandt de ting denne ting gjorde blev det skjulte selv. Så nogle af jer måske være temmelig kyndige med din computer og kender godt, jeg kan bare åbne Task Manager eller Activity Monitor og jeg kan se på alle De arcanely navngivne programmer der kører. Og hvis noget ser mistænkeligt Jeg vil bare dræbe det eller slette det. Men det er, hvad rootkit gjorde. Det væsentlige er sagt, hvis den kører Task Manager ikke viser dig selv. Så softwaren var der. Og kun hvis du virkelig, virkelig kiggede svært kan du endda finde det. Og dette blev gjort i navnet af kopibeskyttelse. Men tænk hvad der kunne blevet gjort andet. Nu i form af at beskytte dig selv. En masse hjemmesider er vidunderligt elskværdig at de sætter disse hængelås ikoner på deres hjemmeside, som betyder, at hjemmesiden er sikker. Dette er fra bankofamerica.com morges. Så hvad betyder det lille hængelås Der betyder ved siden af ​​knappen Log ind? Absolut intet. Det betyder nogen ved, hvordan man bruger Photoshop til at lave et billede af en hængelås-ikonet. Ligesom helt bogstaveligt, at det er der menes at være en positiv signalere til brugeren lignende, ooh, sikkert websted. Jeg skulle have tillid til denne hjemmeside og nu skrive i mit brugernavn og password. Og det har været konventionel for år, så sent som i morges. Men overveje vaner, dette er at få os ind. Overvej den implicitte budskab, at alle af disse banker i dette tilfælde har været sende os i mange år. Hvis du ser hængelås, fastgør derefter. Okay? Så hvordan kan du misbruger dette system af tillid, hvis du er den dårlige fyr? Sæt en hængelås på din hjemmeside, og logisk, har brugerne været konditioneres år at antage hængelås betyder sikker. Og det kan faktisk være sikker. Du har måske en dejlig sikker SSL HTTPS-forbindelse til en falsk hjemmeside. com. Og ingen andre i verden kan se at du er ved at udlevere ham eller hende dit brugernavn og password til din konto. Dette selvom, måske, er en lidt mere betryggende. Så dette er et skærmbillede af den øverste af min browser i morges bankofamerica.com. Og mærke også her har vi have en hængelås ikon. Hvad betyder det i denne sammenhæng i Chrome mindst? Så dette er nu ved hjælp af SSL. Så det er faktisk en bedre ting. Og det faktum, at Chrome gør det grøn menes at henlede vores opmærksomhed det faktum, at dette er ikke kun via SSL. Det er en virksomhed, en person ud Der har bekræftet, er faktisk bankofamerica.com. Og det betyder, at Bank of America, når de køber deres såkaldte SSL certifikat, hovedsageligt store tilfældigt noget tilfældige tal, der implementerer sikkerhed for dem, har de været verificeret af nogle uafhængig tredjemand parti, der siger, jep. Dette er faktisk den administrerende direktør for Bank of Amerika forsøger at købe certifikatet. Chrome vil derfor tillid til, at godkendelsesmyndighed og siger i grøn, dette er bankofamerica.com. Og Bank of America bare betaler et par hundrede dollars for at eller nogle få tusinde i modsætning til en par snese af dollars. Men også her hvor mange af jer har nogensinde opførte sig anderledes, fordi URL i din browser er grøn i stedet for sort? Right? Så et par af os. Og det er godt at være paranoid. Men selv da, dem af jer der selv mærke til disse ting, så gør du faktisk stoppe logge ind en ellers sikker websted, hvis URL er ikke grøn? Okay, så sandsynligvis ikke, vel? Mindst de fleste af os, hvis det ikke er grøn, sandsynligvis du bare at være som, uanset hvad. Ligesom, jeg ønsker at logge ind på dette website. Det er derfor, jeg er her. Jeg har tænkt mig at logge ind alligevel. Som en sidebemærkning er Chrome en smule bedre om dette. Men der er en masse browsere som Firefox for eksempel, i det mindste for lidt tid, når denne hængelåsikonet er, kan du faktisk sætte nogen ikon for din egen. Lad mig se, hvad den nyeste version af Firefox ser ud. Så hvis vi går til CS50.net. OK, så de har fået bedre samt. Hvad de browsere, der anvendes til at gøre, er at lide, her er for eksempel [? SAAS er?] crest heroppe. Det er den såkaldte favorit ikon for en hjemmeside. År siden - faktisk ikke så længe siden - den lille skjold ville have været ret her ved siden af ​​URL'en. Fordi nogle geni besluttet, at det ville bare se temmelig classy at have Deres grafiske logo til højre ved siden af ​​din webadresse. Og design klog, der rent faktisk er temmelig overbevisende. Så hvad gjorde skurken begynde at gøre? De begyndte at ændre deres favorit ikoner eller deres standard ikon for en hjemmeside for at være ikke en bjergkam men en hængelås, som havde absolut ingen mening. Andre end deres favorit ikon blev en hængelås det havde ingen indikationer af sikkerhed. Så de erfaringer her er et par tror jeg. Én er, at der faktisk nogle velmenende mekanismer for undervise os brugere om sikkerheden endnu hvis du ikke var engang klar, hvad grøn betød, eller hvad endog HTTPS betød. Men hvis disse mekanismer få os ind den dårlige vane med tillidsfulde websites når vi ser de positive signaler, de er meget let misbruges som vi så bare for et øjeblik siden med noget fjollet som dette. Så sessionskapring kommer ind spille, da vi sagde før, med cookies for eksempel. Og hvad betyder det egentlig? Godt med sessionskapring dette er alle om at stjæle nogens cookies. Så hvis jeg åbner Chrome her, for Eksempelvis og jeg åbner op for Inspector hernede og jeg går til Netværk Tab - og vi har gjort det før - og jeg går til noget som http://facebook.com Enter, en hel masse ting går over skærmen på grund af alle de billeder og CSS og JavaScript-filer. Men hvis jeg ser på denne ene her mærke at Facebook faktisk er plantning en eller flere cookies på min browser lige her. Så disse er væsentlige hånd frimærker, der repræsenterer mig. Og nu forhåbentlig min browser vil præsentere dette igen og igen, når genoptagelse denne hjemmeside. Men at det kun er sikkert, vi sagde en par uger siden, hvis du bruger SSL. Men selv SSL selv kan være kompromitteret. Overveje efter hele vejen SSL virker. Når din browser opretter forbindelse til en ekstern server via https://, lang historie kort, kryptografi er involveret. Det er ikke så simpelt som Cæsar eller Visionaire eller endda DES DES fra en mens tilbage i pset2. Det er mere sofistikeret end det. Det hedder offentlig nøgle kryptografi. Men virkelig store og virkelig random Tallene bruges til at kryptere oplysninger mellem punkt A, dig, og punkt B, ligesom facebook.com. Men problemet er, hvor mange af os igen nogensinde skrive https:// at starte vores hjemmeside tilslutning i at sikker tilstand? Jeg mener, hvor mange af jer selv typen http://facebook.com? Okay, hvis du gør, vil, hej. Du behøver ikke at gøre det længere, right? Browseren vil regne det ud. Men de fleste af os gør faktisk bare skrive facebook.com. For hvis vi bruger en browser, det browsere har fået smart nok af 2013 til påtage sig, hvis du bruger en browser, du skriver i en adresse, du sandsynligvis ønsker at få adgang til det ikke via e-mail eller instant message. Du mener HTTP og Port 80. Disse konventioner er blevet vedtaget. Men hvordan fungerer omdirigering arbejde? Nå, mærke til, hvad der sker her. Hvis jeg går tilbage til Chrome - og lad os gøre dette i incognito tilstand, så alle mine cookies er smidt væk. Og lad mig gå her til, igen, facebook.com. Og lad os se hvad der sker. Husk på, at den første anmodning var ja bare for facebook.com. Men hvad var det svar, jeg fik? Det var ikke en 200 OK. Det var 300 eller 301, som er en omdirigere fortæller mig at gå til http://www.facebook.com, der er hvor Facebook vil have mig til at gå. Men så hvis vi ser på den næste anmodning og vi har set det før, mærke til, hvad deres anden reaktion er. Konkret at de vil have mig nu gå til SSL version af Facebook. Så her er en mulighed. Dette er et vidunderligt nyttig funktion for bare nettet og HTTP. Hvis slutbrugeren som Facebook vil have mig at bo på den sikre version af deres hjemmeside, stor. De vil omdirigere mig for mig selv. Og så har jeg ikke selv tænke over det. Men hvad nu hvis mellem punkt A og B, mellem dig og Facebook, er der nogle skurken, er der nogle system administrator på Harvard, der er nysgerrige for at se, hvem dine venner er. Eller der er nogle - år siden, dette bruges til at lyde vanvittigt - men der er nogle offentlig myndighed som NSA, der er faktisk interesseret i hvem du stikke på Facebook. Hvor er muligheden der? Nå, så længe en person har nok teknisk kyndige, og de har adgang til din faktiske netværk via Wi-Fi eller nogle fysiske ledning, hvad kunne de gøre? Tja, hvis de er på samme netværk som dig, og de ved noget om TCP / IP og IP-adresser og DNS, og hvordan Alt dette virker, hvad nu hvis det manden i midten, hvad nu hvis det Nationale Security Agency, hvad det kan være, men hvad nu hvis denne enhed simpelthen reagerer hurtigere end Facebook til at Deres HTTP-anmodning og siger, Åh, jeg er Facebook. Gå fremad, og her er HTML for facebook.com. Computere er temmelig darn hurtigt. Så kunne du skrive et program, der kører på en server som nsa.gov at når det hører en anmodning fra dig for facebook.com, meget hurtigt bag scener får den virkelige facebook.com making en perfekt [? esque?] sikker SSL-forbindelse mellem NSA og mellem Facebook, at få den HTML meget sikkert til login-siden og derefter NSA-serveren bare reagerer på dig med en login-side for facebook.com. Nu hvor mange af jer ville selv mærke at du bruger Facebook via HTTP stadig på det tidspunkt, fordi du har uheld tilsluttet nsa.gov og ikke Facebook? De webadresser ikke ændrer sig. Alt dette sker bag kulisserne. Men de fleste af os, inklusive mig selv, sandsynligvis ikke ville lægge mærke til sådan en mindre detalje. Så du måske har en perfekt brugbar forbindelse mellem dig og hvad du tror er Facebook, men der er en såkaldte manden i midten. Og dette er en generel betegnelse for mennesket i den midten angreb, hvor du har nogle enhed mellem dig og punkt B, der er en eller anden måde at manipulere, stjæle eller se dine data. Så selv SSL ikke er rabiat, især hvis du har været narret til ikke tænde for det på grund af, hvordan disse underliggende mekanismer faktisk virker. Så en lektion i dag, så også er, hvis du virkelig ønsker at være paranoid - og selv her er der trusler - bør du virkelig begynde at komme ind for vane at skrive i https://www uanset domænenavn, du faktisk bekymrer sig om. Og som en sidebemærkning alt er der endnu en trussel med hensyn til kapring af sessionen. Meget ofte når du første gang besøger en hjemmeside som facebook.com, medmindre serveren er konfigureret til at sige, at den hånd stempel det sat på dig i går skal sikre sig, din browser kan meget vel efter besøger ting som facebook.com google.com, twitter.com, din browser kunne præsentere denne hånd stempel kun at blive slået ned og sagde nej. Brug SSL. Men det er for sent på det tidspunkt. Hvis du allerede har sendt din hånd stempel, din cookie, i det klare med uden SSL, har du et splitsekund sårbarhed, hvor nogen snuse din trafik, uanset roommate eller NSA, kan derefter bruge den samme cookie, og med en smule teknisk kyndige, fremlægge det som hans eller hendes egen. Andet angreb du måske ikke har tænkt over. Denne ene er virkelig på dig, hvis du skrue dette op skriftligt nogle hjemmeside, at anden måde bruger SQL. Så her, for eksempel, er en skærm skudt af Harvards login. Og dette er et generelt eksempel af noget med en brugernavn og adgangskode. Super fælles. Så lad os antage, at SSL eksisterer og Der er ingen mand i midten eller noget lignende. Nu er vi fokuserer på serverens kode, som du måske skrive. Nå, når jeg skriver i et brugernavn og adgangskode, formoder, at PIN-tjeneste er implementeret i PHP. Og du har måske noget kode på den pågældende server som denne. Få brugernavnet fra posten super globalt og få adgangskoden, og derefter hvis de bruger nogle pset7 ligesom kode er der en søgefunktion der kan gøre dette. Vælg stjerne fra brugere, hvor brugernavn lig med og password lig med. Det ser ved første øjekast, helt rimelig. Dette er syntaktisk gyldig PHP kode. Logisk er der intet galt med dette. Formentlig er der nogle flere linjer, faktisk gøre noget med det resultat, der kommer tilbage fra databasen. Men dette er sårbar for følgende grund. Bemærk, at som en god borger, Jeg har sat i anførselstegn, single citater, brugernavnet. Og jeg sætter i anførselstegn adgangskoden. Og det er en god ting, fordi de er ikke meningen at være tal. Typisk de kommer til at være tekst. Så jeg citerer dem som strenge. Og hvis jeg nu avancere yderligere hvad nu hvis - og jeg har fjernet kuglerne fra PIN tjeneste midlertidigt - hvad nu hvis jeg prøver at logge på som Formand [? Scroob?] men jeg hævder, at mit password er 12345 'OR '1' = '1, og bemærk hvad jeg ikke har gjort. Jeg havde ikke lukke det andet ét tilbud. Fordi jeg er temmelig skarp her som skurken. Og jeg antager at de er du ikke meget godt med din PHP og MySQL kode. Jeg kan gætte, at du ikke tjekker for tilstedeværelsen af ​​citater. Så hvad der lige er sket, er, at når din brugeren har indtastet i denne streng, den forespørgsel, du er ved at skabe ligner dette. Og lang historie kort, hvis du og noget sammen, eller du eller noget sammen denne kommer til at vende tilbage træk fra databasen. Fordi det altid er tilfælde, at 1 er lig med 1. Og bare fordi du ikke havde forudset at dine brugere, gode eller dårlige, måske have en apostrof i deres navn, du have skabt en SQL-forespørgsel, der er stadig gyldige, og vil nu vende tilbage flere resultater end du måske have haft til hensigt. Og så dette dårlige fyr har nu potentielt logget ind på din server fordi din database er på vej tilbage træk selv om han eller hun har ingen idé om, hvad [? Scroob s?] Faktiske password er. Åh, jeg indså en tastefejl her. Jeg skulle have sagt password lig 12345 ligesom den tidligere eksempel eller 1 er lig med 1. Jeg ordner online. Så hvorfor har vi dig ved hjælp af forespørgslen funktion med spørgsmålstegn? En af de ting forespørgslen funktionen betyder for dig, er det sikrer, at når du passerer i argumenterne efter kommaer her som dette, at forespørgslen der er faktisk sendt til database ligner dette. En masse grimmere at se på, men tilbage skråstreger har været automatisk indsat netop at undgå at injektion angreb, som jeg viste en øjeblik siden. Nu er en sjov XKCD at jeg troede, jeg ville trække heroppe der forhåbentlig nu bør være en lidt mere forståeligt er dette en her. En lille smule? Måske har vi brug for lidt mere diskussion om det. Så dette hentyder til en lille dreng opkaldt Bobby, der har en eller anden måde taget fordel af et websted, der er bare tillid til, at hvad brugeren har indtastet i er ikke i virkeligheden, SQL-kode, men er i virkeligheden en streng. Nu kan du huske, at drop - du måske har set det - drop betyder slette en tabel, slette en database. Så hvis du hovedsageligt hævder, at dit navn er Robert "; droptabl estudentsomething,] kan du meget vel narre database ikke kun til at kontrollere, at du er faktisk Robert, men semikolon også videre at droppe tabellen. Og så SQL-injektion angreb kan faktisk være som truende, da dette hvor du kan slette nogen data, du kan vælge flere datamængde end beregnet til, kan du indsætte eller opdatere data. Og du kan faktisk se det om på hjem øvelse, ikke for skadelig formål, men bare for instruktions, er hver gang du bliver bedt om at logge på hjemmesiden, især en slags non meget offentlige, meget populær hjemmeside, prøve at logge ind som John O'Reilly eller en person med en apostrof i deres navn. Eller bogstavelig talt bare skrive apostrof, trykke Enter, og se hvad der sker. Og alt for ofte tragisk, mennesker ikke har sminket deres input og sørget for, at ting som citater eller semikolon er undsluppet. Hvilket er grunden til i pset7 vi giver dig denne søgefunktion. Men ikke under værdsætter præcis hvad det gør for dig. Så med det sagt, nyder at bruge web denne uge. Og vi vil se dig på mandag. På det næste CD50. [MUSIC]