1 00:00:00,000 --> 00:00:11,214 >> [MUSICA] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. MALAN: Va bene. 3 00:00:11,661 --> 00:00:15,400 Quindi questo è CS50 e questo è la fine della settimana 10. 4 00:00:15,400 --> 00:00:20,420 Così alcuni di voi avranno visto questo già, ma che sta circolando di ritardo 5 00:00:20,420 --> 00:00:25,800 è un articolo che ho pensato che avevo letto un estratto e poi ti mostrano una 6 00:00:25,800 --> 00:00:27,800 video di tre minuti che dipinge la stessa immagine. 7 00:00:27,800 --> 00:00:30,950 E 'stata davvero una storia toccante, mi pensato, di questa intersezione della 8 00:00:30,950 --> 00:00:35,210 mondo reale con genuinamente avvincente usi della tecnologia. 9 00:00:35,210 --> 00:00:39,785 >> Così l'articolo è stato intitolato, "Un ragazzo oversleeps sul treno, utilizza Google Maps 10 00:00:39,785 --> 00:00:44,930 per trovare la famiglia 25 anni dopo. "E il primi due commi sono stati, 11 00:00:44,930 --> 00:00:48,820 "Quando Saroo aveva cinque anni è andato con il fratello maggiore di scroccare per 12 00:00:48,820 --> 00:00:51,830 cambiare su un treno passeggeri in una città di circa due ore 13 00:00:51,830 --> 00:00:53,510 dalla sua piccola città natale. 14 00:00:53,510 --> 00:00:56,790 Saroo diventato stanco e saltò su un vicina stazione dove si pensava che la sua 15 00:00:56,790 --> 00:00:58,880 fratello è stato, poi si addormentò. 16 00:00:58,880 --> 00:01:03,360 Quando si svegliò era a Calcutta, quasi 900 chilometri di distanza. 17 00:01:03,360 --> 00:01:05,770 Saroo cercato di trovare la sua strada indietro, ma non sapeva 18 00:01:05,770 --> 00:01:07,260 il nome della sua città natale. 19 00:01:07,260 --> 00:01:11,430 E come un piccolo ragazzo analfabeta in una vasta città piena di bambini dimenticati che aveva 20 00:01:11,430 --> 00:01:13,520 praticamente alcuna possibilità di tornare a casa. 21 00:01:13,520 --> 00:01:16,760 >> Era un bambino di strada per un po 'fino a quando una agenzia di adozione locale agganciato 22 00:01:16,760 --> 00:01:18,840 lui con una coppia australiana che lo ha portato a 23 00:01:18,840 --> 00:01:20,600 vivono a Hobart, Tasmania. 24 00:01:20,600 --> 00:01:23,130 Saroo vi si trasferì, imparato Inglese, ed è cresciuto. 25 00:01:23,130 --> 00:01:27,450 Ma non ha mai smesso di cercare la sua famiglia e la sua città natale. 26 00:01:27,450 --> 00:01:32,380 >> Decenni più tardi, scoprì Google Terra e binari seguiti. 27 00:01:32,380 --> 00:01:36,140 E dandosi un raggio prescritta in base a quanto tempo pensava di essere 28 00:01:36,140 --> 00:01:40,020 addormentato e quanto velocemente ha pensato il treno stava succedendo, sapeva che era cresciuto 29 00:01:40,020 --> 00:01:43,930 in un clima caldo, sapeva ha parlato Hindi come un bambino, e gli era stato detto 30 00:01:43,930 --> 00:01:46,160 che sembrava che era da est dell'India. 31 00:01:46,160 --> 00:01:49,650 >> Finalmente, dopo anni di purga le foto satellitari, ha 32 00:01:49,650 --> 00:01:51,340 riconosciuto un paio di punti di riferimento. 33 00:01:51,340 --> 00:01:54,180 E dopo aver chiacchierato con un amministratore di una città vicina di 34 00:01:54,180 --> 00:01:57,740 Pagina Facebook, si rese conto che aveva trovato a casa. " 35 00:01:57,740 --> 00:02:03,770 >> Ecco allora il video dicendo che il racconto dalla sua prospettiva. 36 00:02:03,770 --> 00:02:04,025 >> [RIPRODUZIONE VIDEO] 37 00:02:04,025 --> 00:02:07,480 >> -E 'stato 26 anni fa e mi è stato in procinto di girare cinque. 38 00:02:07,480 --> 00:02:10,539 Siamo arrivati ​​alla stazione ferroviaria e ci siamo imbarcati un treno insieme. 39 00:02:10,539 --> 00:02:13,390 Mio fratello ha appena detto che resterò qui e tornerò. 40 00:02:13,390 --> 00:02:16,363 E ho pensato, beh, sai, io potrebbe anche solo andare a dormire e 41 00:02:16,363 --> 00:02:17,950 poi lui mi ha appena svegli. 42 00:02:17,950 --> 00:02:21,740 E quando mi sveglio il giorno dopo, il tutta la carrozza era vuota su un fuggiasco 43 00:02:21,740 --> 00:02:24,305 treno, un treno fantasma prendendo io non so dove. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Sono stato adottato verso l'Australia ad una famiglia australiana. 46 00:02:31,660 --> 00:02:35,360 E la mamma aveva decorato la mia stanza con la mappa di India, che ha 47 00:02:35,360 --> 00:02:37,090 mettere accanto al mio letto. 48 00:02:37,090 --> 00:02:42,170 Mi sono svegliato ogni mattina visto che la mappa, e, quindi, è sorta di tenuta del 49 00:02:42,170 --> 00:02:43,740 vivi i ricordi. 50 00:02:43,740 --> 00:02:46,475 >> La gente diceva, si sta cercando di trovare un ago in un pagliaio. 51 00:02:46,475 --> 00:02:49,060 Saroo, vi troverete mai. 52 00:02:49,060 --> 00:02:52,510 Dovrei lampi dei luoghi che Ho usato per andare, i flash 53 00:02:52,510 --> 00:02:55,050 delle facce della mia famiglia. 54 00:02:55,050 --> 00:02:59,200 C'era l'immagine di mia madre seduta giù con le gambe incrociate 55 00:02:59,200 --> 00:03:00,610 solo a guardare il suo grido. 56 00:03:00,610 --> 00:03:03,340 La vita è così difficile. 57 00:03:03,340 --> 00:03:06,002 Quello era il mio tesoro. 58 00:03:06,002 --> 00:03:09,390 >> E stavo cercando in Google Map e realizzato c'è Google Earth pure. 59 00:03:09,390 --> 00:03:13,560 In un mondo dove si poteva zoomare I iniziato ad avere tutti questi pensieri e 60 00:03:13,560 --> 00:03:16,650 quali possibilità che questo potrebbe fare per me. 61 00:03:16,650 --> 00:03:19,520 Mi sono detto, beh, sai, hai tutto il fotografico 62 00:03:19,520 --> 00:03:22,340 memorie e monumenti dove sei da e si sa che cosa 63 00:03:22,340 --> 00:03:23,460 la città assomiglia. 64 00:03:23,460 --> 00:03:27,910 Questo potrebbe essere un programma che si possono utilizzare per trovare la strada del ritorno. 65 00:03:27,910 --> 00:03:32,750 >> Ho pensato, bene, metto un punto su La stazione ferroviaria di Calcutta in un raggio 66 00:03:32,750 --> 00:03:36,350 linea che si dovrebbe essere alla ricerca intorno a questa zona. 67 00:03:36,350 --> 00:03:38,850 Mi sono imbattuto in questi binari del treno. 68 00:03:38,850 --> 00:03:44,490 E ho cominciato a seguirla e mi è venuto a una stazione ferroviaria, che riflette la 69 00:03:44,490 --> 00:03:48,260 stessa immagine che era nei miei ricordi. 70 00:03:48,260 --> 00:03:49,730 >> Tutto abbinato. 71 00:03:49,730 --> 00:03:50,800 Ho solo pensato, sì. 72 00:03:50,800 --> 00:03:51,545 So dove sto andando. 73 00:03:51,545 --> 00:03:55,387 Sto solo andando a lasciare la mappa che ho avere nella mia testa per me portare e prendere me 74 00:03:55,387 --> 00:03:58,230 Torna alla mia città natale. 75 00:03:58,230 --> 00:04:02,290 >> Sono arrivato alla soglia della casa che sono nato e fatto un giro 76 00:04:02,290 --> 00:04:04,270 circa quindici metri dietro l'angolo. 77 00:04:04,270 --> 00:04:08,140 C'era tre signore in piedi al di fuori adiacente all'altro. 78 00:04:08,140 --> 00:04:10,230 E quello centrale si fece avanti. 79 00:04:10,230 --> 00:04:12,910 E ho pensato, questo è tua madre. 80 00:04:12,910 --> 00:04:18,590 E 'venuta avanti, mi ha abbracciato, e noi erano lì per circa cinque minuti. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Mi afferrò la mano e mi ha preso la casa e ha al telefono e lei 83 00:04:25,787 --> 00:04:31,110 rang mia sorella e mio fratello a dire che tuo fratello ha appena tutte le 84 00:04:31,110 --> 00:04:34,480 improvviso apparve come un fantasma. 85 00:04:34,480 --> 00:04:37,590 >> E poi la famiglia era riuniti di nuovo. 86 00:04:37,590 --> 00:04:38,570 Va tutto bene. 87 00:04:38,570 --> 00:04:40,250 Io aiuto mia madre. 88 00:04:40,250 --> 00:04:42,240 Lei non ha bisogno di essere sgobbare. 89 00:04:42,240 --> 00:04:45,040 Lei può portare il resto della la sua vita in pace. 90 00:04:45,040 --> 00:04:48,590 >> E 'stato un ago in un pagliaio, ma l'ago era lì. 91 00:04:48,590 --> 00:04:49,530 Tutto ciò che c'è. 92 00:04:49,530 --> 00:04:53,410 Tutto ciò che abbiamo nel mondo è la pressione di un tasto. 93 00:04:53,410 --> 00:04:57,375 Ma hai avuto modo di avere la volontà e la determinazione a volerlo. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [FINE RIPRODUZIONE VIDEO] 96 00:05:02,780 --> 00:05:04,220 >> Quindi una storia molto dolce. 97 00:05:04,220 --> 00:05:08,430 Ed effettivamente mi ricorda un bel argomento che è stato sempre un po ' 98 00:05:08,430 --> 00:05:11,200 di attenzione di recente in The Crimson, più in generale, a livello nazionale. 99 00:05:11,200 --> 00:05:13,620 Tanto più MOOCs stanno prendendo la fase di ritardo. 100 00:05:13,620 --> 00:05:17,370 MOOCs essendo questi massiccia e aperta corsi on-line di cui CS50 è uno. 101 00:05:17,370 --> 00:05:20,680 >> E la gente a parlare di come, per esempio, le scienze umane non sono davvero 102 00:05:20,680 --> 00:05:23,900 recupero o non sono così in voga come erano una volta. 103 00:05:23,900 --> 00:05:26,680 E vorrei incoraggiare i ragazzi, molto come Jonathan ha fatto il Lunedi, per pensare 104 00:05:26,680 --> 00:05:29,900 su come si esce 50, e noi sappiamo già circa il 50% di voi non lo farà 105 00:05:29,900 --> 00:05:32,480 continuare a prendere un altro computer corso di scienze, e questo è del tutto 106 00:05:32,480 --> 00:05:33,770 fine e previsto. 107 00:05:33,770 --> 00:05:36,620 Poiché uno degli obiettivi generali di una classe come questa è veramente 108 00:05:36,620 --> 00:05:39,790 responsabilizzare voi ragazzi con un semplice comprensione di come tutte queste cose 109 00:05:39,790 --> 00:05:41,760 funziona e come questo mondo di opere tecnologiche. 110 00:05:41,760 --> 00:05:45,400 >> In modo che quando si torna nel proprio mondi, che si tratti di pre-med o 111 00:05:45,400 --> 00:05:48,270 se si tratta di discipline umanistiche o le scienze sociali o qualche altro campo 112 00:05:48,270 --> 00:05:51,830 del tutto, che voi ragazzi stanno portando qualche esperto di tecnica per la tavola e 113 00:05:51,830 --> 00:05:54,770 aiutando a prendere decisioni intelligenti quando esso viene all'uso di e 114 00:05:54,770 --> 00:05:57,530 introduzione della tecnologia nel tuo mondo. 115 00:05:57,530 --> 00:06:00,410 >> Per esempio mi sono ricordato di ritardo anche di due dei laurea 116 00:06:00,410 --> 00:06:04,410 lezioni che ho preso due anni fa, che erano tali usi semplici di tecnologia 117 00:06:04,410 --> 00:06:06,180 ma mai così avvincente. 118 00:06:06,180 --> 00:06:08,845 Prime notti con il professor Tom Kelly se hai preso la classe. 119 00:06:08,845 --> 00:06:11,640 Si tratta di una classe di musica classica questa fase qui dove si impara un 120 00:06:11,640 --> 00:06:13,190 qualcosa su musica. 121 00:06:13,190 --> 00:06:17,770 In realtà è che le prime notti CS50 preso in prestito l'idea di tracce per quelli 122 00:06:17,770 --> 00:06:20,630 meno confortevole in mezzo e più confortevole. 123 00:06:20,630 --> 00:06:24,410 >> Nel tempo hanno avuto diverse tracce per i bambini con assolutamente nessuna musica 124 00:06:24,410 --> 00:06:27,300 esperienza come me, e poi i bambini che era stata l'esecuzione da quando erano 125 00:06:27,300 --> 00:06:28,240 cinque anni di età. 126 00:06:28,240 --> 00:06:31,200 E che classe, per esempio, appena avuto un sito come la maggior parte qualsiasi altra, ma è 127 00:06:31,200 --> 00:06:34,210 è un sito web che vi ha permesso di esplorare la musica su di esso e riprodurre 128 00:06:34,210 --> 00:06:39,120 clip musicali di classe, dal Web, e basta usare la tecnologia in modo molto 129 00:06:39,120 --> 00:06:40,210 senza soluzione di continuità. 130 00:06:40,210 --> 00:06:44,460 >> Un altro anno di classe dopo che ho sottoposto a revisione, in sostanza, a scuola grad, 131 00:06:44,460 --> 00:06:47,430 Anthro 1010, Introduzione di Archeologia qui. 132 00:06:47,430 --> 00:06:48,190 E 'stato incredibile. 133 00:06:48,190 --> 00:06:52,715 E uno dei più convincenti ancora super- ovvio, in retrospettiva, utilizza dei 134 00:06:52,715 --> 00:06:56,000 software era che i professori di quella classe utilizzato Google Earth. 135 00:06:56,000 --> 00:06:58,250 Eravamo seduti dall'altra parte della strada in qualche aula. 136 00:06:58,250 --> 00:07:01,240 E non si poteva viaggiare, per esempio, per il Medio Oriente per lo scavo che uno 137 00:07:01,240 --> 00:07:04,530 dei professori era appena tornato su, ma potremmo fare che praticamente da 138 00:07:04,530 --> 00:07:07,870 volano intorno a Google Earth e guardando vista a volo d'uccello al 139 00:07:07,870 --> 00:07:10,360 scavare sito era appena tornato da una settimana fa. 140 00:07:10,360 --> 00:07:12,630 >> Quindi mi sento di incoraggiare voi ragazzi, soprattutto nelle discipline umanistiche, per andare 141 00:07:12,630 --> 00:07:16,260 indietro a quei reparti dopo questo classe portando i progetti finali 142 00:07:16,260 --> 00:07:19,960 con voi o delle vostre idee, e vedere solo ciò che si può fare per infondere la vostra 143 00:07:19,960 --> 00:07:23,570 propri campi in discipline umanistiche o al di là con un po 'di questo tipo di 144 00:07:23,570 --> 00:07:26,770 cosa che abbiamo esplorato qui in CS50. 145 00:07:26,770 --> 00:07:31,790 >> Quindi, con questo quadro dipinto, pensò vorremmo provare ad affrontare due cose oggi. 146 00:07:31,790 --> 00:07:35,040 Uno, cercare di dare un senso di dove si può andare dopo il 50. 147 00:07:35,040 --> 00:07:37,950 E in particolare, se si sceglie di affrontare un progetto web based come è 148 00:07:37,950 --> 00:07:42,580 incredibilmente comune, come si può andare circa togliersi tutti CS50 di 149 00:07:42,580 --> 00:07:45,810 ruote di formazione e di andare là fuori su il proprio e non dover fare affidamento su un 150 00:07:45,810 --> 00:07:48,000 PDF o una specificazione di un pset? 151 00:07:48,000 --> 00:07:50,510 Non dover fare affidamento su un CS50 elettrodomestico più. 152 00:07:50,510 --> 00:07:52,780 Ma può davvero tirare te dai vostri bootstraps. 153 00:07:52,780 --> 00:07:55,790 >> Detto questo, C-base finale progetti sono i benvenuti. 154 00:07:55,790 --> 00:07:58,020 Cose che utilizzano il supporto per una libreria portabile in 155 00:07:58,020 --> 00:07:59,510 grafica sono i benvenuti. 156 00:07:59,510 --> 00:08:03,240 Sappiamo solo che statisticamente molto persone mordere progetti in PHP e 157 00:08:03,240 --> 00:08:07,860 Python e Ruby e MySQL e altri ambienti, quindi dovremo pregiudizi alcuni dei 158 00:08:07,860 --> 00:08:09,570 le nostre osservazioni in quella direzione. 159 00:08:09,570 --> 00:08:10,650 >> Ma un rapido sguardo indietro. 160 00:08:10,650 --> 00:08:15,940 Così abbiamo preso per scontato in pset7 l' fatto che $ _SESSION esistito. 161 00:08:15,940 --> 00:08:19,400 Questo era un super globale, una globale, array associativo. 162 00:08:19,400 --> 00:08:23,040 E questo che cosa consentono di fare? 163 00:08:23,040 --> 00:08:27,130 Funzionalmente, qual è la presentano questo ci dà? 164 00:08:27,130 --> 00:08:28,590 Sì? 165 00:08:28,590 --> 00:08:30,270 Per tenere traccia di ID dell'utente. 166 00:08:30,270 --> 00:08:31,660 E perché è utile? 167 00:08:31,660 --> 00:08:36,059 Per essere in grado di memorizzare all'interno di questo super JHarvard globale o [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 o l'ID utente di Malan, quando o lei visita un sito. 169 00:08:41,880 --> 00:08:42,380 >> Esattamente. 170 00:08:42,380 --> 00:08:44,049 Quindi non c'è bisogno di effettuare il login a nuovo e di nuovo. 171 00:08:44,049 --> 00:08:47,170 Sarebbe un mondo davvero zoppo wide web se ogni volta che si fa clic su un collegamento 172 00:08:47,170 --> 00:08:50,780 su un sito come Facebook o ogni volta si è fatto clic su un e-mail in Gmail 173 00:08:50,780 --> 00:08:54,060 dovuto ri-autenticarsi per dimostrare che è ancora te e non il tuo compagno di stanza 174 00:08:54,060 --> 00:08:56,700 che potrebbe aver camminato fino alla vostra computer in vostra assenza. 175 00:08:56,700 --> 00:08:59,640 >> Quindi usiamo SESSIONE ad appena ricordati chi sei. 176 00:08:59,640 --> 00:09:01,830 E come è questo implementata sotto il cofano? 177 00:09:01,830 --> 00:09:07,720 Come fa un sito web che utilizza, il protocollo che i browser web e server 178 00:09:07,720 --> 00:09:12,060 parlare, come fa HTTP, che è un protocollo stateless, diciamo. 179 00:09:12,060 --> 00:09:15,510 >> E da apolide voglio dire, una volta che si connettersi a un sito Web, scaricare alcuni 180 00:09:15,510 --> 00:09:19,650 HTMLs, un po 'di JavaScript, qualche CSS, il vostro icona del browser smette di girare. 181 00:09:19,650 --> 00:09:23,420 Non si dispone di una connessione costante al server tipicamente. 182 00:09:23,420 --> 00:09:24,170 Tutto qui. 183 00:09:24,170 --> 00:09:26,290 Non ci è stato mantenuto costantemente. 184 00:09:26,290 --> 00:09:30,510 Così come è SESSIONE attuata in tali un modo che ogni volta che si visita un 185 00:09:30,510 --> 00:09:32,860 nuova pagina, il sito ricorda chi sei? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Qual è l'implementazione sottostante dettaglio? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Shout it out. 190 00:09:41,490 --> 00:09:43,270 E 'una parola. 191 00:09:43,270 --> 00:09:43,640 >> Cookies. 192 00:09:43,640 --> 00:09:44,190 D'accordo. 193 00:09:44,190 --> 00:09:44,800 Così i cookie. 194 00:09:44,800 --> 00:09:45,900 Be ', come vengono utilizzati i cookies? 195 00:09:45,900 --> 00:09:48,870 Ci ricordiamo che un cookie è generalmente solo un pezzo di informazione. 196 00:09:48,870 --> 00:09:51,590 Ed è spesso un grosso casuale numero, ma non sempre. 197 00:09:51,590 --> 00:09:55,420 E un cookie è piantato sul vostro disco unità o nella RAM del computer in modo 198 00:09:55,420 --> 00:09:59,070 che ogni volta che si rivisitare lo stesso sito web, il browser ricorda il 199 00:09:59,070 --> 00:10:01,650 del server, io sono utente 1234567. 200 00:10:01,650 --> 00:10:03,570 Sono utente 1234567. 201 00:10:03,570 --> 00:10:07,590 >> E fino a quando il server ha ricordato tale utente è 1234567 202 00:10:07,590 --> 00:10:11,300 JHarvard, il sito sarà solo assumere che tu sia chi dici di essere. 203 00:10:11,300 --> 00:10:14,230 E ricordiamo che vi presentiamo questi biscotti sorta di nella forma di un 204 00:10:14,230 --> 00:10:15,510 virtuale basamento della mano. 205 00:10:15,510 --> 00:10:20,530 E 'inviato nelle intestazioni HTTP solo per ricordare al server che siete chi 206 00:10:20,530 --> 00:10:21,620 pensa che tu sei. 207 00:10:21,620 --> 00:10:23,320 >> Naturalmente, c'è una minaccia. 208 00:10:23,320 --> 00:10:27,530 Cosa minaccia cosa ci aprono a se stiamo utilizzando essenzialmente una sorta di club di 209 00:10:27,530 --> 00:10:30,110 o un meccanismo di parco di divertimenti per ricordare chi siamo? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Se copiate biscotto di qualcuno e dirottare la loro sessione, per così dire, è 212 00:10:36,170 --> 00:10:39,670 può fingere di essere qualcun altro e la sito molto probabilmente non fa che 213 00:10:39,670 --> 00:10:40,150 crederti. 214 00:10:40,150 --> 00:10:41,030 Quindi torniamo a questo. 215 00:10:41,030 --> 00:10:44,240 Perché l'altro tema per oggi al di là di L'empowerment è anche parlando 216 00:10:44,240 --> 00:10:48,170 sul mondo molto spaventoso in cui viviamo e quanto di ciò che si fa sul 217 00:10:48,170 --> 00:10:51,480 il web, quanto di ciò che si fa anche sui vostri telefoni cellulari di oggi può essere 218 00:10:51,480 --> 00:10:55,170 rintracciato davvero da chiunque tra voi e il punto B. 219 00:10:55,170 --> 00:10:56,240 >> E Ajax, richiamo. 220 00:10:56,240 --> 00:10:58,740 Abbiamo guardato solo brevemente a questo, anche se hai utilizzato lo 221 00:10:58,740 --> 00:11:02,660 indirettamente in pset8 perché si sta utilizzando Google Maps e perché sei 222 00:11:02,660 --> 00:11:03,830 utilizzando Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps e Google Earth non scaricare l'intero mondo al vostro 224 00:11:07,780 --> 00:11:10,490 desktop, ovviamente, la momento in cui si carica pset8. 225 00:11:10,490 --> 00:11:15,020 Si scarica solo una piazza del mondo o un quadrato più grande della terra. 226 00:11:15,020 --> 00:11:18,910 E poi ogni volta che si ordina di guidare fuori campo si potrebbe notare - 227 00:11:18,910 --> 00:11:21,790 soprattutto se su una connessione lenta - si potrebbe vedere qualche grigio per un momento 228 00:11:21,790 --> 00:11:26,440 o un po 'di immagini sfocate, come il download di computer più tali piastrelle, 229 00:11:26,440 --> 00:11:29,190 questo tipo di immagini più dal mondo o la terra. 230 00:11:29,190 --> 00:11:34,620 >> E Ajax è generalmente la tecnica da quali siti web stanno facendo questo. 231 00:11:34,620 --> 00:11:39,250 Una volta che avete bisogno di più di mappa, il tuo del browser sta per usare Ajax, che è 232 00:11:39,250 --> 00:11:42,240 non per sé un linguaggio o tecnologia, è solo una tecnica. 233 00:11:42,240 --> 00:11:47,390 E 'l'uso di JavaScript e di andare a prendere ulteriori informazioni da un server che 234 00:11:47,390 --> 00:11:52,320 permette il browser per andare a prendere ciò che è a l'est o che cosa è ad ovest di 235 00:11:52,320 --> 00:11:55,110 ciò che è altrimenti attualmente viene mostrato in quella mappa. 236 00:11:55,110 --> 00:11:58,520 Quindi questo è un argomento che molti di voi incontrerà direttamente o 237 00:11:58,520 --> 00:12:01,180 indirettamente tramite progetti finali, se si scegliere di fare qualcosa che sia 238 00:12:01,180 --> 00:12:05,020 di simile dinamica che tirano dati da qualche sito web di terze parti. 239 00:12:05,020 --> 00:12:07,390 >> Quindi abbiamo un davvero eccitante Mercoledì prossimo futuro. 240 00:12:07,390 --> 00:12:12,280 Quiz una, le informazioni di cui è su CS50.net già. 241 00:12:12,280 --> 00:12:17,530 Sappiate che ci sarà una sessione di revisione il prossimo Lunedi alle 5:30. 242 00:12:17,530 --> 00:12:21,010 La data e l'ora è già postato su CS50.net in quel proposito foglio. 243 00:12:21,010 --> 00:12:22,940 E fateci sapere voi Per qualsiasi domanda. 244 00:12:22,940 --> 00:12:25,230 Pset8 frattempo è già nelle vostre mani. 245 00:12:25,230 --> 00:12:29,210 >> E vorrei solo affrontare una FAQ per salvare la gente un po 'di stress. 246 00:12:29,210 --> 00:12:32,530 Per la maggior parte un sacco di chiacchiere vediamo in orario d'ufficio e un sacco di 247 00:12:32,530 --> 00:12:36,950 gli insetti che vediamo riportato sul Discuti sono infatti bug nel codice di uno studente. 248 00:12:36,950 --> 00:12:41,360 Ma quando hai incontrato qualcosa come il Google Earth Plug-in crash 249 00:12:41,360 --> 00:12:44,310 o nemmeno lavorando e si è fiduciosi non sei tu, non è un 250 00:12:44,310 --> 00:12:48,530 [? chamad] problema?, non è un bug introdotto nella 251 00:12:48,530 --> 00:12:49,820 codice di distribuzione. 252 00:12:49,820 --> 00:12:51,250 >> Realizzare appena CRONACA - 253 00:12:51,250 --> 00:12:53,130 questo è il tipo di piano Z - 254 00:12:53,130 --> 00:12:57,100 che l'ultima volta abbiamo usato questo problema impostiamo e ci siamo imbattuti in simili 255 00:12:57,100 --> 00:13:01,520 problemi, c'è una riga di codice in service.js che in sostanza è questo, 256 00:13:01,520 --> 00:13:03,580 che dice, girare su edifici. 257 00:13:03,580 --> 00:13:07,100 E funzionano in tutto l'ultima volta che ci siamo fatto questo, ancora una volta, in casi angolo dove 258 00:13:07,100 --> 00:13:11,660 studenti proprio non potrebbe ottenere il dannato cosa di lavorare è cambiare true a false 259 00:13:11,660 --> 00:13:12,940 dal fatto che una linea di codice. 260 00:13:12,940 --> 00:13:15,520 E lo troverete se si cerca attraverso service.js. 261 00:13:15,520 --> 00:13:19,990 >> Io non consiglio questo perché si creare il paesaggio più arido 262 00:13:19,990 --> 00:13:21,720 di Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Questo sarà letteralmente appiattire il tuo mondo in modo che tutto ciò che vedi sono l'insegnamento 264 00:13:24,930 --> 00:13:28,610 borsisti e gli assistenti del corso su l'orizzonte e senza edifici. 265 00:13:28,610 --> 00:13:31,980 Ma realizzare per qualsiasi motivo il Google Earth Plug-in sembra essere ancora 266 00:13:31,980 --> 00:13:35,290 buggy un anno più tardi, in modo tale potrebbe essere il vostro sicuro risparmio. 267 00:13:35,290 --> 00:13:38,915 Quindi, piuttosto che ricorrere alle lacrime, resort per trasformare gli edifici fuori se si conosce 268 00:13:38,915 --> 00:13:41,980 è il plug-in che non sta cooperando sul vostro Mac o PC. 269 00:13:41,980 --> 00:13:46,060 Ma, questo è di nuovo ultima risorsa se sei sicuro che non sia un bug. 270 00:13:46,060 --> 00:13:46,890 >> Così l'Hackathon. 271 00:13:46,890 --> 00:13:48,950 Un paio di teaser appena per farti eccitato. 272 00:13:48,950 --> 00:13:50,640 Abbiamo avuto un bel paio di RSVP. 273 00:13:50,640 --> 00:13:54,230 E proprio a dipingere un quadro di ciò che aspetta, ho pensato di darvi un paio di 274 00:13:54,230 --> 00:13:56,858 secondi ricordano di questo immaginario rispetto allo scorso anno. 275 00:13:56,858 --> 00:14:00,850 >> [MUSICA] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. MALAN: Aspetta, oh. 277 00:14:02,240 --> 00:14:05,410 Abbiamo anche i nostri letterali CS50 navette. 278 00:14:05,410 --> 00:14:17,920 >> [MUSICA] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. MALAN: Quindi questo è ciò che attende che in termini di Hackathon. 280 00:14:20,620 --> 00:14:24,180 E questa sarà l'occasione, per sia chiaro, non per iniziare la finale 281 00:14:24,180 --> 00:14:27,730 progetti, ma di continuare a lavorare su i vostri progetti finali insieme 282 00:14:27,730 --> 00:14:30,210 compagni di classe e del personale e un sacco di cibo. 283 00:14:30,210 --> 00:14:34,340 E ancora, se sei sveglio alle 5:00 am ti porteremo lungo la strada per IHOP. 284 00:14:34,340 --> 00:14:37,075 >> La fiera CS50, nel frattempo, è il culmine per l'intera classe in cui 285 00:14:37,075 --> 00:14:41,160 potrai portare i vostri computer portatili e gli amici, forse anche la famiglia in una stanza nel campus 286 00:14:41,160 --> 00:14:44,530 in fondo alla strada di esporre i vostri progetti sui portatili, sui tavoli alti 287 00:14:44,530 --> 00:14:47,570 come questo con un sacco di cibo e gli amici e la musica in sottofondo, 288 00:14:47,570 --> 00:14:49,250 così come i nostri amici del mondo industriale. 289 00:14:49,250 --> 00:14:52,760 Aziende come Facebook e Microsoft e Google e Amazon e mazzi di 290 00:14:52,760 --> 00:14:55,750 altri, in modo che, se interessati a solo sentir parlare del mondo reale o 291 00:14:55,750 --> 00:14:59,570 chiacchierando con la gente sul mondo reale stage o tempo pieno di opportunità, 292 00:14:59,570 --> 00:15:01,950 sapere che alcuni dei nostri amici da industria ci sarà. 293 00:15:01,950 --> 00:15:04,970 E un paio di foto che possiamo dipingere qui sono i seguenti. 294 00:15:04,970 --> 00:15:24,400 >> [MUSICA] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. MALAN: Va bene. 296 00:15:24,920 --> 00:15:27,060 In modo che poi è la fiera CS50. 297 00:15:27,060 --> 00:15:31,780 Così Procediamo ora a raccontare una storia che davvero vi consentirà auspicabilmente 298 00:15:31,780 --> 00:15:33,230 per cose come progetti finali. 299 00:15:33,230 --> 00:15:36,940 Così una delle poche cose piccole alle sementi tua mente, sia per i progetti definitivi 300 00:15:36,940 --> 00:15:40,470 o appena più in generale per i progetti che si potrebbe decidere di affrontare dopo 301 00:15:40,470 --> 00:15:45,720 il corso, queste sono tutte documentate sul manual.cs50.net dove il CS50 302 00:15:45,720 --> 00:15:48,010 manuale dove abbiamo un sacco di tecniche documentate. 303 00:15:48,010 --> 00:15:51,080 >> E questo è solo notazione abbreviata per dicendo che esiste nella 304 00:15:51,080 --> 00:15:55,190 cose mondo chiamato SMS di e-mail gateway, che è un modo elegante per 305 00:15:55,190 --> 00:15:58,180 dicendo, non c'è server in tutto il mondo che sanno come convertire messaggi di posta elettronica a 306 00:15:58,180 --> 00:15:59,230 messaggi di testo. 307 00:15:59,230 --> 00:16:02,450 Quindi, se per il vostro progetto finale che si desidera per creare una sorta di tema cellulare 308 00:16:02,450 --> 00:16:06,650 servizio che consente di avvisare gli amici o gli utenti ad eventi del campus 309 00:16:06,650 --> 00:16:10,290 o quello che viene servita nella sala D quella notte o qualsiasi funzione tale segnalazione, 310 00:16:10,290 --> 00:16:15,150 sanno che è semplice come l'invio di una email con PHPMailer cui si 311 00:16:15,150 --> 00:16:18,735 potrebbe aver usato per pset7 o abbiamo visto brevemente una settimana fa, a 312 00:16:18,735 --> 00:16:20,440 indirizzi come questo. 313 00:16:20,440 --> 00:16:26,040 >> E in effetti è possibile questo testo assumendo il tuo amico ha un sms illimitati 314 00:16:26,040 --> 00:16:28,310 piano e non si desidera far pagare loro $ 0.10. 315 00:16:28,310 --> 00:16:31,920 Ma se si invia una e-mail al tuo amico che sai di avere Verizon o 316 00:16:31,920 --> 00:16:35,870 AT & T utilizzando Gmail e basta inviarlo al il loro numero di telefono in qualunque 317 00:16:35,870 --> 00:16:38,980 sottodominio c'è, rendersi conto che invierà un messaggio di testo. 318 00:16:38,980 --> 00:16:41,570 >> Ma questa è una di quelle cose stare attenti. 319 00:16:41,570 --> 00:16:47,430 Se troll attraverso CS50 dell'anno scorso video credo che fosse, una orribili, 320 00:16:47,430 --> 00:16:51,660 orribile, orribile bug ho scritto nel codice finito per l'invio di circa 20.000 testo 321 00:16:51,660 --> 00:16:55,410 messaggi vivono al nostro studenti in classe. 322 00:16:55,410 --> 00:16:57,970 E solo perché qualcuno ha notato che stavano ottenendo testo multiplo 323 00:16:57,970 --> 00:17:01,860 messaggi da me fatto ho la mezzi per colpire di controllo C in fretta 324 00:17:01,860 --> 00:17:03,210 e fermare quel processo. 325 00:17:03,210 --> 00:17:06,200 Controllo C, si ricorderà, è il tuo amico in casi di ciclo infinito. 326 00:17:06,200 --> 00:17:10,900 Quindi attenzione il potere che abbiamo appena dato a voi piuttosto irresponsabile, più 327 00:17:10,900 --> 00:17:12,950 probabile, in base alla mia esperienza. 328 00:17:12,950 --> 00:17:15,400 Ma è sul web e ha c'è stato per qualche tempo. 329 00:17:15,400 --> 00:17:15,810 >> D'accordo. 330 00:17:15,810 --> 00:17:17,064 Così textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Quindi questo è un sito web. 332 00:17:18,040 --> 00:17:20,829 E ci sono mazzi di altri là fuori così che abbiamo effettivamente usato 333 00:17:20,829 --> 00:17:24,050 come classe per anni per poter per ricevere messaggi di testo. 334 00:17:24,050 --> 00:17:27,869 Purtroppo, l'invio di messaggi di testo è semplice come l'invio di email del genere. 335 00:17:27,869 --> 00:17:30,730 Ricezione di un po 'più difficile, soprattutto se si vuole avere una delle 336 00:17:30,730 --> 00:17:34,610 quei codici sexy short che è solo cinque o sei cifre. 337 00:17:34,610 --> 00:17:37,720 >> Così, per esempio, per anni sei stato in grado di inviare un messaggio di testo - e si 338 00:17:37,720 --> 00:17:39,200 può provare questo, come pure - 339 00:17:39,200 --> 00:17:41,900 a 41411. 340 00:17:41,900 --> 00:17:44,300 E questo è il numero di telefono questo particolare avvio. 341 00:17:44,300 --> 00:17:48,130 E se si invia un messaggio a 41411 - 342 00:17:48,130 --> 00:17:51,190 Mi limiterò a scriverlo qui, in modo da 41411 - 343 00:17:51,190 --> 00:17:54,290 e poi inviare loro un messaggio come SBOY per Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 E quindi digitare in qualcosa come Mather quad. 345 00:17:56,370 --> 00:17:59,360 Quindi si invia il messaggio di testo a quel numero di telefono. 346 00:17:59,360 --> 00:18:02,630 In pochi secondi si dovrebbe tornare indietro una risposta dal CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Servizio Boy, che è la navetta software di pianificazione che abbiamo avuto fuori 348 00:18:06,210 --> 00:18:07,290 là sul web da qualche tempo. 349 00:18:07,290 --> 00:18:09,450 E si risponderà a tramite messaggio di testo. 350 00:18:09,450 --> 00:18:13,410 >> Perché quello che abbiamo fatto come classe, come un programmatore, è quello di scrivere il software, 351 00:18:13,410 --> 00:18:18,760 configurato il nostro account gratuito con il testo contrassegni per ascoltare i messaggi di testo inviati 352 00:18:18,760 --> 00:18:20,770 a SBOY a quel numero. 353 00:18:20,770 --> 00:18:25,210 E quello che fanno è avanti quelli di testo messaggi al nostro sito web basato su PHP come 354 00:18:25,210 --> 00:18:27,420 Parametri HTTP dicendo qui. 355 00:18:27,420 --> 00:18:30,380 Questo utente con questo numero di telefono hai inviato il messaggio di testo. 356 00:18:30,380 --> 00:18:31,850 Farne quello che vuoi. 357 00:18:31,850 --> 00:18:35,180 >> Così abbiamo scritto alcuni software che al momento ricezione di una stringa come SBOY mather 358 00:18:35,180 --> 00:18:38,420 quad, abbiamo analizzarlo. 359 00:18:38,420 --> 00:18:41,210 Capiamo dove gli spazi sono tra le parole. 360 00:18:41,210 --> 00:18:44,220 E noi come classe decidiamo come rispondere a questo. 361 00:18:44,220 --> 00:18:47,335 E se si prova che ora, per esempio, si dovrebbe vedere, tramite risposta entro un 362 00:18:47,335 --> 00:18:51,470 pochi secondi, i prossimi navette andare da Mather per il quad se presente. 363 00:18:51,470 --> 00:18:52,260 E ci sono altre fermate. 364 00:18:52,260 --> 00:18:56,060 È possibile digitare in Boylston o altro ferma nel campus, e dovrebbe 365 00:18:56,060 --> 00:18:57,760 riconoscere quelle parole. 366 00:18:57,760 --> 00:18:58,590 >> Così parse.com. 367 00:18:58,590 --> 00:19:01,630 Questo è un altro servizio che siamo stati indicando alcuni studenti per 368 00:19:01,630 --> 00:19:04,390 progetti finali che c'è di meraviglioso in che è gratis per un 369 00:19:04,390 --> 00:19:05,660 ragionevole quantità di utilizzo. 370 00:19:05,660 --> 00:19:08,820 E se vado a parse.com vedrete che questa è un'alternativa 371 00:19:08,820 --> 00:19:13,230 effettivamente avere qualcosa di simile proprio database MySQL. 372 00:19:13,230 --> 00:19:14,490 E, francamente, è solo tipo di ipnotizzante. 373 00:19:14,490 --> 00:19:17,450 Questo è quello che c'è dentro di offuscare anche in una giornata nuvolosa. 374 00:19:17,450 --> 00:19:21,580 >> Così parse.com ti permette di fare un mucchio di cose interessanti. 375 00:19:21,580 --> 00:19:23,610 E ci sono altre alternative per questo lì fuori. 376 00:19:23,610 --> 00:19:26,870 Ad esempio, è possibile utilizzare come database back-end. 377 00:19:26,870 --> 00:19:28,980 Quindi non c'è bisogno di avere una società di web hosting. 378 00:19:28,980 --> 00:19:31,180 Non è necessario disporre di un database MySQL. 379 00:19:31,180 --> 00:19:32,850 È invece possibile utilizzare il loro back-end. 380 00:19:32,850 --> 00:19:36,350 >> Se stai facendo un progetto mobile per Android o iOS o simili, sanno che 381 00:19:36,350 --> 00:19:39,776 esistono cose come i servizi push in modo da poter spingere avvisi ai tuoi amici 382 00:19:39,776 --> 00:19:41,390 o schermi a casa degli utenti. 383 00:19:41,390 --> 00:19:43,600 E poi un mucchio di altre caratteristiche così. 384 00:19:43,600 --> 00:19:47,200 >> Quindi, se avete interesse, prova anche questi siti web e siti web come loro 385 00:19:47,200 --> 00:19:50,720 per vedere quanto molti altri popoli ' spalle si può stare a fare 386 00:19:50,720 --> 00:19:53,350 software davvero cool della vostra. 387 00:19:53,350 --> 00:19:56,690 >> Ora in termini di autenticazione, una FAQ, è come si fa effettivamente garantiscono 388 00:19:56,690 --> 00:20:01,220 che gli utenti sono persone del campus, Studenti di Harvard o docenti o personale? 389 00:20:01,220 --> 00:20:05,350 Così CS50 ha la propria autenticazione servizio denominato CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Vai a questa URL e si può restringere la sito a chiunque con un Harvard 391 00:20:09,940 --> 00:20:11,340 ID, per esempio. 392 00:20:11,340 --> 00:20:12,550 Quindi, sappiamo che siamo in grado di gestire questo. 393 00:20:12,550 --> 00:20:15,280 Voi ragazzi non dovrebbero essere nel business di dire, qual è il tuo ID di Harvard? 394 00:20:15,280 --> 00:20:16,160 Qual è il tuo PIN Harvard? 395 00:20:16,160 --> 00:20:17,550 Permettetemi ora di fare qualcosa con esso. 396 00:20:17,550 --> 00:20:18,740 Faremo tutto questo. 397 00:20:18,740 --> 00:20:21,710 E che cosa ti daremo indietro è il nome di qualcuno e indirizzo di posta elettronica, ma 398 00:20:21,710 --> 00:20:23,010 non nulla sensibile. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> Un app su un dispositivo mobile, può essere fatto di lavorare su un dispositivo mobile, ma 401 00:20:30,380 --> 00:20:32,630 non è tutto progettato per questo. 402 00:20:32,630 --> 00:20:35,640 Così si finirà per spendere un non banale quantità di tempo di farlo. 403 00:20:35,640 --> 00:20:38,040 Quindi mi sento di scoraggiare questa strada per ora. 404 00:20:38,040 --> 00:20:41,570 Questo è davvero destinato applicazioni web based. 405 00:20:41,570 --> 00:20:42,650 >> Quindi, web hosting. 406 00:20:42,650 --> 00:20:44,450 Quindi, se non avete visto il homepage del corso - 407 00:20:44,450 --> 00:20:46,610 e qui è dove potremo iniziare una storia - 408 00:20:46,610 --> 00:20:50,900 web hosting è tutto di pagare per di solito un servizio, ospitare un server di proprietà 409 00:20:50,900 --> 00:20:54,800 da qualcun altro sul web che ha un Indirizzo IP, e quindi si mette il 410 00:20:54,800 --> 00:20:55,880 sito web su di esso. 411 00:20:55,880 --> 00:20:58,620 E di solito ti danno email conti e banche dati 412 00:20:58,620 --> 00:21:00,160 e altre caratteristiche del genere. 413 00:21:00,160 --> 00:21:02,930 >> Sappiate che se non si vuole effettivamente pagare per tale, andare all'URL 414 00:21:02,930 --> 00:21:06,280 ci e CS50 ha in realtà una non-profit conto che è possibile utilizzare per 415 00:21:06,280 --> 00:21:11,490 realtà non hanno http://progetto all'interno dell'apparecchio 416 00:21:11,490 --> 00:21:12,470 per il progetto finale. 417 00:21:12,470 --> 00:21:16,465 Se si vuole realmente che sia qualcosa come, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 si possono acquistare quel nome a dominio - anche se non quel particolare uno - e 419 00:21:19,730 --> 00:21:24,070 allora si può andare su di hosting su un server web pubblico, come possiamo offrire 420 00:21:24,070 --> 00:21:25,170 voi ragazzi di qua. 421 00:21:25,170 --> 00:21:27,240 >> E in effetti, se non familiare, Se non siete mai stati a 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, uno, andare lì. 423 00:21:30,590 --> 00:21:37,310 Ma due, sanno che quello era un giovane nome della donna da Tej Per Toor Troppo due 424 00:21:37,310 --> 00:21:41,550 anni fa, tre anni fa, che era un CS50 alunni che si trovavano un giorno o due 425 00:21:41,550 --> 00:21:46,280 prima che il CS50 fiera inviato una e-mail alla sua mailing list e voilà casa. 426 00:21:46,280 --> 00:21:49,770 Due giorni dopo il CS50 fiera, aveva centinaia di utenti in tutto strisciante su 427 00:21:49,770 --> 00:21:53,240 l'altro sul suo sito web e dicendo come avevano visto 428 00:21:53,240 --> 00:21:55,250 lei o lui nel campus. 429 00:21:55,250 --> 00:21:57,600 Ecco, questo è uno dei preferiti di CS50 storie di successo da 430 00:21:57,600 --> 00:21:59,650 un progetto finale CS50. 431 00:21:59,650 --> 00:22:04,090 >> Quindi, come si fa a mettere un sito web come quella su internet? 432 00:22:04,090 --> 00:22:07,140 Beh, ci sono un paio di tale ingredienti qui. 433 00:22:07,140 --> 00:22:09,310 Quindi uno, è necessario acquistare un nome di dominio. 434 00:22:09,310 --> 00:22:12,440 Ci sono mazzi di posti in il mondo da cui è possibile 435 00:22:12,440 --> 00:22:13,940 acquistare un nome di dominio. 436 00:22:13,940 --> 00:22:16,660 E per esempio, quello che vi consigliamo solo perché è popolare 437 00:22:16,660 --> 00:22:18,855 ed è a buon mercato si chiama namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Ma si può andare godaddy.com e decine di altri là fuori. 439 00:22:22,860 --> 00:22:24,420 Si può leggere su recensioni. 440 00:22:24,420 --> 00:22:26,250 >> Ma per la maggior parte non lo fa materia da cui si è 441 00:22:26,250 --> 00:22:27,720 acquistare un nome di dominio. 442 00:22:27,720 --> 00:22:30,780 E variano in prezzo e essi variano a suffisso. 443 00:22:30,780 --> 00:22:37,140 I suffissi come. Com,. Net, . Org,. Io,. Tv, quelli 444 00:22:37,140 --> 00:22:38,650 effettivamente variare nel prezzo. 445 00:22:38,650 --> 00:22:43,630 Ma se volessimo fare qualcosa di simile cats.com possiamo andare a questo sito web, 446 00:22:43,630 --> 00:22:44,280 fare clic su Cerca. 447 00:22:44,280 --> 00:22:46,370 Presumibilmente questo è presa. 448 00:22:46,370 --> 00:22:50,170 Ma a quanto pare, catsagainst.com è disponibile. 449 00:22:50,170 --> 00:22:52,100 pluscats.com è disponibile. 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 Tutto questo si spera pseudo generato casualmente. 453 00:22:59,135 --> 00:23:04,670 Se volete cats.pw, 1500 $ solo, che è un po 'folle. 454 00:23:04,670 --> 00:23:08,100 Così qualcuno ha davvero strappato tutta il gatto nomi di dominio relative qui per 455 00:23:08,100 --> 00:23:09,840 prezzi variabili. 456 00:23:09,840 --> 00:23:12,360 >> Per inciso, vediamo. 457 00:23:12,360 --> 00:23:13,710 Chi ha cats.com? 458 00:23:13,710 --> 00:23:16,290 Sappiate che voi ragazzi avete a disposizione abbastanza 459 00:23:16,290 --> 00:23:17,540 comandi sofisticati ora. 460 00:23:17,540 --> 00:23:20,592 Come posso tipo letteralmente chi è cats.com? 461 00:23:20,592 --> 00:23:23,730 E per il modo internet è strutturato si può effettivamente vedere chi 462 00:23:23,730 --> 00:23:25,440 ha registrato questo. 463 00:23:25,440 --> 00:23:30,240 Apparentemente questa persona è [incomprensibile] utilizzando un servizio proxy. 464 00:23:30,240 --> 00:23:33,900 Quindi, chiunque possiede cats.com non vuole che il mondo sappia chi sono. 465 00:23:33,900 --> 00:23:36,610 Così hanno registrato se attraverso qualche servizio privacy casuale. 466 00:23:36,610 --> 00:23:39,100 Ma a volte è in realtà ottenere effettivi proprietari. 467 00:23:39,100 --> 00:23:41,420 >> E questo è da dire, soprattutto se sei perseguire alcuni di avvio e si 468 00:23:41,420 --> 00:23:44,640 in realtà vuole un po 'di nomi di dominio e sei disposti a pagare qualcun altro per 469 00:23:44,640 --> 00:23:48,050 esso, si può capire il contatto informazioni in questo modo. 470 00:23:48,050 --> 00:23:49,940 >> Ma interessante è anche questo. 471 00:23:49,940 --> 00:23:53,380 Lasciate scorrere fino a questa parte. 472 00:23:53,380 --> 00:23:55,330 Quindi questo è che stessa uscita. 473 00:23:55,330 --> 00:23:56,990 E questo è solo di cattivo gusto. 474 00:23:56,990 --> 00:24:00,740 Quindi, apparentemente cats.com può essere tua per il giusto prezzo. 475 00:24:00,740 --> 00:24:03,170 Ma ciò che è interessante qui è che il nome server - 476 00:24:03,170 --> 00:24:06,040 questo è un abuso totale di ciò che un nome Server suppone che sia - il tuo nome 477 00:24:06,040 --> 00:24:08,876 server non dovrebbe essere thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Se effettivamente scegliamo qualcosa di simile - 479 00:24:11,050 --> 00:24:15,181 Scegliamo qualcosa di un po 'di più come legittimo, che è google.com, 480 00:24:15,181 --> 00:24:17,030 e scorrere fino qui. 481 00:24:17,030 --> 00:24:18,280 Così qui - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 cosa è successo lì? 484 00:24:21,740 --> 00:24:22,480 Interessante. 485 00:24:22,480 --> 00:24:25,290 Al di là di chi è - 486 00:24:25,290 --> 00:24:26,610 teniamolo più basso chiave. 487 00:24:26,610 --> 00:24:28,370 >> Chi è mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Questo è utile. 490 00:24:29,900 --> 00:24:31,400 Quindi questo è quello che speravo. 491 00:24:31,400 --> 00:24:33,930 Uso legittimo del servizio DNS. 492 00:24:33,930 --> 00:24:36,750 Name server qui indicano il seguente. 493 00:24:36,750 --> 00:24:40,880 Questo è il senso del MIT di dire, ogni volta che qualcuno nel mondo, ovunque si 494 00:24:40,880 --> 00:24:46,950 sono, tipi di mit.edu e colpi Invio, il vostro computer portatile, sia Mac o PC, la volontà 495 00:24:46,950 --> 00:24:51,830 in qualche modo fine a capire che la persone nel mondo che sanno ciò che il 496 00:24:51,830 --> 00:24:58,130 Indirizzo IP è per mit.edu o una qualsiasi delle sottodomini a mit.edu o qualsiasi 497 00:24:58,130 --> 00:25:01,660 questi server qui - e in realtà sembra infrastrutture MIT è 498 00:25:01,660 --> 00:25:03,370 piuttosto robusto come ci si aspetterebbe. 499 00:25:03,370 --> 00:25:07,050 Hanno più server dei nomi che è buono per la ridondanza. 500 00:25:07,050 --> 00:25:09,840 E infatti, sembrano essere a livello globale distribuito in tutto il mondo. 501 00:25:09,840 --> 00:25:13,250 Un gruppo di quelli sembrano essere negli Stati Uniti, una coppia in Asia, uno in Europa, due 502 00:25:13,250 --> 00:25:14,540 in qualche altra parte. 503 00:25:14,540 --> 00:25:18,000 >> Ma il punto qui è che i DNS che stiamo dando per scontato e 504 00:25:18,000 --> 00:25:21,990 generalmente descritto come una grande tabella di Excel che dispone di indirizzi IP e di dominio 505 00:25:21,990 --> 00:25:25,890 I nomi in realtà è abbastanza sofisticato servizio gerarchica in modo che in 506 00:25:25,890 --> 00:25:29,170 mondo, c'è in realtà un numero finito di server che conoscono essenzialmente dove 507 00:25:29,170 --> 00:25:32,880 tutti i. COMS sono o tutti le reti sono., tutte le 508 00:25:32,880 --> 00:25:34,650 . Org sono, e così via. 509 00:25:34,650 --> 00:25:37,820 >> Quindi, quando si va avanti e comprare un dominio nome da un luogo come nome o economici 510 00:25:37,820 --> 00:25:41,450 Go Daddy o di qualsiasi altro sito web, uno dei i passaggi chiave che dovrete fare 511 00:25:41,450 --> 00:25:45,180 si, se si fa questo, anche per il vostro finale progetto, è dire al cancelliere 512 00:25:45,180 --> 00:25:49,020 da cui si sta acquistando il dominio nome, che in tutto il mondo conosce la vostra 513 00:25:49,020 --> 00:25:52,310 Gli indirizzi IP del sito web, che i vostri server di nomi sono. 514 00:25:52,310 --> 00:25:55,750 >> Quindi, se si utilizza, per esempio, di CS50 account di hosting - ci capita di avere 515 00:25:55,750 --> 00:25:57,760 questo account attraverso dreamhost.com che è un 516 00:25:57,760 --> 00:25:59,560 web hosting popolare società - 517 00:25:59,560 --> 00:26:03,530 vi diranno che si dovrebbe comprare il tuo dominio e dire al mondo che 518 00:26:03,530 --> 00:26:09,410 name server del tuo dominio è ns1.dreamhost.com, ns2.dreamhost.com, 519 00:26:09,410 --> 00:26:11,470 e ns3.dreamhost.com. 520 00:26:11,470 --> 00:26:12,600 >> Ma questo è tutto. 521 00:26:12,600 --> 00:26:15,480 L'acquisto di un nome di dominio significa dare loro il denaro e ottenere la proprietà del 522 00:26:15,480 --> 00:26:17,190 dominio, ma è più simile un noleggio però. 523 00:26:17,190 --> 00:26:20,060 Hai preso per un anno e poi si legge si recurringly per il resto della 524 00:26:20,060 --> 00:26:22,130 la tua vita fino a quando si annulla il nome di dominio. 525 00:26:22,130 --> 00:26:24,510 E poi dite loro che i name server sono. 526 00:26:24,510 --> 00:26:26,190 Ma poi hai finito con il vostro registrar. 527 00:26:26,190 --> 00:26:30,130 E da lì potrai interagire solo con la vostra società di web hosting, che 528 00:26:30,130 --> 00:26:32,030 nel caso di CS50 sarà DreamHost. 529 00:26:32,030 --> 00:26:36,080 Ma ancora una volta, più documentazione sarà fornito a voi se si decide di andare 530 00:26:36,080 --> 00:26:37,170 questa strada. 531 00:26:37,170 --> 00:26:40,750 >> Quindi, se si esegue questa operazione, dopo il corso di fine, semplicemente googling web hosting 532 00:26:40,750 --> 00:26:42,830 azienda si accende fino migliaia di opzioni. 533 00:26:42,830 --> 00:26:45,720 E vorrei generalmente incoraggiarvi a chiedere agli amici che avrebbe potuto usare un 534 00:26:45,720 --> 00:26:49,350 società prima se ne consigliano li e aveva una buona esperienza. 535 00:26:49,350 --> 00:26:52,680 >> Perché ci sono un sacco di volare di notte società di web hosting, come un ragazzo in 536 00:26:52,680 --> 00:26:55,220 suo scantinato con un server che dispone di un indirizzo IP. 537 00:26:55,220 --> 00:26:58,980 Ha un po 'di RAM in più e hard disk spazio e vende solo web hosting 538 00:26:58,980 --> 00:27:02,380 i conti, anche se non c'è modo che del server in grado di gestire centinaia di 539 00:27:02,380 --> 00:27:04,050 utenti o migliaia di utenti. 540 00:27:04,050 --> 00:27:06,260 Quindi rendete conto si otterrà quello che si paga. 541 00:27:06,260 --> 00:27:09,510 >> Per un bel po 'per la mia casa personale pagina - e questo era del tutto accettabile 542 00:27:09,510 --> 00:27:11,830 perché avevo, tipo, due visitatori al mese - 543 00:27:11,830 --> 00:27:14,990 Stavo pagando, come, 2,95 dollari al mese. 544 00:27:14,990 --> 00:27:17,230 E sono abbastanza sicuro che fosse nella cantina di qualcuno. 545 00:27:17,230 --> 00:27:20,800 Ma ancora una volta, non si ottiene necessariamente eventuali garanzie di uptime o 546 00:27:20,800 --> 00:27:21,840 scalabilità. 547 00:27:21,840 --> 00:27:24,560 Quindi, di nuovo, si sta guardando in genere a qualcosa di più. 548 00:27:24,560 --> 00:27:26,220 >> Beh, che dire SSL? 549 00:27:26,220 --> 00:27:27,690 Così che cosa è SSL utilizzato per? 550 00:27:27,690 --> 00:27:30,320 Cominciamo ora a guidare nel indicazioni di sicurezza e le cose che 551 00:27:30,320 --> 00:27:32,330 può farci del male. 552 00:27:32,330 --> 00:27:36,890 Tanto più che ci si avventura da soli. 553 00:27:36,890 --> 00:27:41,650 >> Che cosa è SSL, o cosa sta SSL utilizzato per? 554 00:27:41,650 --> 00:27:42,660 Sicurezza, OK. 555 00:27:42,660 --> 00:27:44,000 Quindi è utilizzato per la sicurezza. 556 00:27:44,000 --> 00:27:44,640 Che cosa vuol dire? 557 00:27:44,640 --> 00:27:47,170 Quindi è l'acronimo di Secure Sockets Layer. 558 00:27:47,170 --> 00:27:52,330 Ed è indicato da un URL che inizia con https://. 559 00:27:52,330 --> 00:27:58,410 Molti di noi hanno probabilmente mai digitato https://, ma spesso troverete che 560 00:27:58,410 --> 00:28:03,000 il vostro browser viene reindirizzato da HTTP a HTTPS in modo che tutto è lì 561 00:28:03,000 --> 00:28:04,260 dopo criptato. 562 00:28:04,260 --> 00:28:10,810 >> FYI, utilizzando SSL richiede in genere che si dispone di un indirizzo IP univoco. 563 00:28:10,810 --> 00:28:13,940 E in genere per ottenere un indirizzo IP univoco è necessario pagare un web hosting 564 00:28:13,940 --> 00:28:15,850 società qualche dollaro in più al mese. 565 00:28:15,850 --> 00:28:19,850 Così rendo conto che è molto facilmente attuata in questi giorni con l'acquisto di un IP 566 00:28:19,850 --> 00:28:22,930 indirizzo e di acquisto di ciò che è chiamato un certificato SSL. 567 00:28:22,930 --> 00:28:26,520 Ma si rende conto che lo fa venire ad un certo costo aggiuntivo. 568 00:28:26,520 --> 00:28:30,880 E, come cercheremo di spaventare in un po ', non è nemmeno necessariamente al 100% 569 00:28:30,880 --> 00:28:34,040 protettivo di qualunque è si sta cercando di proteggere. 570 00:28:34,040 --> 00:28:38,620 >> Così, per sicurezza, avevo pensato che avrei fare una sorta di casuale Segue qui. 571 00:28:38,620 --> 00:28:42,820 Come si può sapere dalla conferenza di CS50 video, il nostro team di produzione è stato un 572 00:28:42,820 --> 00:28:46,770 fan come me di prendere veramente bello fotografia di campus, e aerea 573 00:28:46,770 --> 00:28:48,370 fotografia più recente. 574 00:28:48,370 --> 00:28:51,450 Se avete mai guardare in su e si vede qualcosa di volare con una piccola macchina fotografica, 575 00:28:51,450 --> 00:28:53,410 può effettivamente essere CS50. 576 00:28:53,410 --> 00:28:55,830 E ho pensato che vorrei condividere minuto di alcune delle riprese la squadra ha 577 00:28:55,830 --> 00:28:59,450 raccolte, in particolare per quanto cerchiamo di il semestre di primavera e il prossimo autunno. 578 00:28:59,450 --> 00:29:03,320 Se qualcuno di voi ha un talento per fotografia, videografia, avremmo 579 00:29:03,320 --> 00:29:05,570 l'amore per farvi partecipare dietro le quinte. 580 00:29:05,570 --> 00:29:07,595 Ma più su questi dettagli in una settimana. 581 00:29:07,595 --> 00:29:18,560 >> [MUSICA] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. MALAN: Risulta c'è un campo da golf in miniatura in cima 583 00:29:20,750 --> 00:29:22,754 lo stadio che non abbiamo mai saputo su. 584 00:29:22,754 --> 00:30:06,150 >> [MUSICA] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. MALAN: Potete vedere il contorno del drone lì. 586 00:30:08,440 --> 00:30:24,160 >> [MUSICA] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. MALAN: La parte migliore qui è, guardare il jogger a sinistra. 588 00:30:26,280 --> 00:30:52,900 >> [MUSICA] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. MALAN: Un altro esempio di ciò che si può fare con la tecnologia che è 590 00:30:56,920 --> 00:30:58,900 solo tangenzialmente, francamente, relative alla sicurezza. 591 00:30:58,900 --> 00:31:01,710 Ma ho pensato che sarebbe stato un più divertente modo di dire semplicemente, di sicurezza. 592 00:31:01,710 --> 00:31:07,780 Così vediamo se non siamo in grado di spaventare voi ragazzi ora non solo con un po 'di pochi 593 00:31:07,780 --> 00:31:10,590 minacce, ma anche un sottostante comprensione di ciò che queste minacce 594 00:31:10,590 --> 00:31:13,830 sta in modo che spostando in avanti si può decidere come e se difendere 595 00:31:13,830 --> 00:31:17,290 te contro queste cose e ad almeno essere consapevoli di loro come si 596 00:31:17,290 --> 00:31:20,530 prendere decisioni se o di non inviare e-mail che, anche se non per accedere 597 00:31:20,530 --> 00:31:24,920 in quel sito, anche se non a usare quella del cyber cafe accesso Wi-Fi 598 00:31:24,920 --> 00:31:28,210 punto in modo da sapere ciò che il minacce sono infatti intorno a voi. 599 00:31:28,210 --> 00:31:30,990 >> Così Jonathan cui qualcosa come questo il Lunedi. 600 00:31:30,990 --> 00:31:32,220 Ha avuto un colpo di schermo finestra. 601 00:31:32,220 --> 00:31:33,630 Questo è di un Mac. 602 00:31:33,630 --> 00:31:36,850 Quanti di voi hanno mai installato software sul vostro Mac o PC? 603 00:31:36,850 --> 00:31:38,420 Ovviamente tutti. 604 00:31:38,420 --> 00:31:41,590 Quanti di voi hanno pensato molto per digitare la password 605 00:31:41,590 --> 00:31:43,030 quando richiesto? 606 00:31:43,030 --> 00:31:44,740 Voglio dire, anche io non lo faccio, francamente. 607 00:31:44,740 --> 00:31:48,730 Così un paio di noi sono buoni di essere paranoico. 608 00:31:48,730 --> 00:31:50,490 Ma considera ciò che sei effettivamente facendo qui. 609 00:31:50,490 --> 00:31:53,280 >> Su un tipico Mac o PC è necessario un account di amministratore. 610 00:31:53,280 --> 00:31:56,450 E di solito tu sei l'unico con un computer portatile, almeno in questi giorni. 611 00:31:56,450 --> 00:31:59,780 Quindi il tuo account, Malan o JHarvard o qualunque cosa sia, è il 612 00:31:59,780 --> 00:32:00,830 account amministratore. 613 00:32:00,830 --> 00:32:03,530 E che cosa significa è che hai sradicare l'accesso al computer. 614 00:32:03,530 --> 00:32:06,180 È possibile installare tutto quello che vuoi, cancellare tutto quello che vuoi. 615 00:32:06,180 --> 00:32:10,800 >> E in genere in questi giorni, a causa di decisioni di progettazione datata anni fa, 616 00:32:10,800 --> 00:32:14,560 il modo più software viene installato è come amministratore. 617 00:32:14,560 --> 00:32:18,180 E anche se il vostro Mac o PC ha almeno ottenuto abbastanza intelligente sopra la 618 00:32:18,180 --> 00:32:22,010 anni con le più recenti incarnazioni di Mac OS e Windows per non correre il vostro 619 00:32:22,010 --> 00:32:26,130 nome utente di default come il amministratore, quando si scarica un po 'di 620 00:32:26,130 --> 00:32:29,160 nuovo programma da internet e cercare di installarlo, probabilmente stai andando 621 00:32:29,160 --> 00:32:30,880 essere richiesta la password. 622 00:32:30,880 --> 00:32:34,790 Ma il problema è a quel punto, si è letteralmente consegnando le chiavi della vostra 623 00:32:34,790 --> 00:32:38,620 computer per avere qualunque casuale programma appena scaricato e 624 00:32:38,620 --> 00:32:41,590 permettendo di installare tutto ciò che vuole. 625 00:32:41,590 --> 00:32:45,050 >> E come Jonathan accennato, realizzare che si potrebbe dire che si vuole 626 00:32:45,050 --> 00:32:49,350 installare il software che ti interessa circa, Spotify o iTunes o qualsiasi altra cosa 627 00:32:49,350 --> 00:32:50,900 è che stai cercando di installare. 628 00:32:50,900 --> 00:32:54,710 Ma si sta letteralmente confidando l'autore o autori del software a 629 00:32:54,710 --> 00:32:57,570 solo fare ciò che il programma si suppone di fare. 630 00:32:57,570 --> 00:33:02,320 >> Ma non c'è assolutamente nulla fermando la maggior parte dei programmi su più 631 00:33:02,320 --> 00:33:06,910 sistemi operativi di eliminare file, da caricandoli su alcune società del 632 00:33:06,910 --> 00:33:10,040 sito web, da traina in giro, per criptare le cose. 633 00:33:10,040 --> 00:33:12,970 E ancora, abbiamo costruito una sorta di una intera infrastruttura su 634 00:33:12,970 --> 00:33:14,930 gli anni sulla fiducia. 635 00:33:14,930 --> 00:33:18,690 E così rendi conto che hai appena stato confidando persone casuale e casuale 636 00:33:18,690 --> 00:33:20,050 aziende per la maggior parte. 637 00:33:20,050 --> 00:33:24,860 >> E Jonathan allude anche, a volte quelle stesse imprese sono una sorta di 638 00:33:24,860 --> 00:33:26,410 consapevolmente dannoso, va bene? 639 00:33:26,410 --> 00:33:30,200 Sony catturato un sacco di Flack pochi anni fa per l'installazione di ciò che è stato chiamato un 640 00:33:30,200 --> 00:33:33,220 Kit di rootkit sui computer della gente a loro insaputa. 641 00:33:33,220 --> 00:33:36,570 E l'essenza di questo è che quando si comprato un CD per esempio, che essi 642 00:33:36,570 --> 00:33:40,050 non voleva che tu sia in grado di copiare o strappare la musica fuori di, il CD sarebbe 643 00:33:40,050 --> 00:33:42,600 installare, a vostra insaputa, un rootkit nel computer. 644 00:33:42,600 --> 00:33:46,020 Rootkit software solo nel senso che corre come amministratore che potenzialmente 645 00:33:46,020 --> 00:33:47,260 fa cose cattive. 646 00:33:47,260 --> 00:33:50,780 >> Ma tra le cose questa cosa ha fatto è stato che si è nascosto. 647 00:33:50,780 --> 00:33:53,660 Così alcuni di voi potrebbero essere abbastanza esperto con il computer e conoscere, beh, 648 00:33:53,660 --> 00:33:57,310 può solo aprire il Task Manager o il Activity Monitor e posso guardare tutti 649 00:33:57,310 --> 00:33:59,150 dei programmi arcanamente nome che sono in esecuzione. 650 00:33:59,150 --> 00:34:01,760 E se qualcosa sembra sospetto Mi limiterò a uccidere o eliminarlo. 651 00:34:01,760 --> 00:34:02,980 Ma questo è ciò che il rootkit ha fatto. 652 00:34:02,980 --> 00:34:07,070 E 'detto in sostanza, se l'esecuzione delle attività Manager, non mostrare se stessi. 653 00:34:07,070 --> 00:34:08,500 >> Quindi il software è stato lì. 654 00:34:08,500 --> 00:34:12,710 E solo se davvero, davvero guardato duro potrebbe anche trovarlo. 655 00:34:12,710 --> 00:34:15,670 E questo è stato fatto nel nome di protezione da copia. 656 00:34:15,670 --> 00:34:18,230 Ma solo immaginare cosa potrebbe sarebbe potuto fare altrimenti. 657 00:34:18,230 --> 00:34:19,699 >> Ora in termini di proteggere se stessi. 658 00:34:19,699 --> 00:34:22,190 Un sacco di siti web sono meravigliosamente gentile nel che hanno messo questi 659 00:34:22,190 --> 00:34:26,480 icone lucchetto sulla loro homepage che significa che il sito è sicuro. 660 00:34:26,480 --> 00:34:28,870 Questo è da bankofamerica.com questa mattina. 661 00:34:28,870 --> 00:34:32,239 Allora, cosa fa quel piccolo lucchetto ci significa che accanto al pulsante Accedi? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Assolutamente niente. 664 00:34:36,790 --> 00:34:39,560 Significa che qualcuno sa come usare Photoshop per rendere l'immagine di una 665 00:34:39,560 --> 00:34:40,590 icona di un lucchetto. 666 00:34:40,590 --> 00:34:44,449 Come letteralmente, il fatto che si tratta di vi è pensato per essere un positivo 667 00:34:44,449 --> 00:34:46,880 segnalare all'operatore, come, ooh, sito web sicuro. 668 00:34:46,880 --> 00:34:50,449 Dovrei fidarmi di questo sito web e ora digitare il nome utente e la password. 669 00:34:50,449 --> 00:34:53,870 E questo è stato convenzionale per anni, non più tardi di questa mattina. 670 00:34:53,870 --> 00:34:56,949 >> Ma prendere in considerazione le abitudini che questo ci sta entrando. 671 00:34:56,949 --> 00:35:00,600 Si consideri il messaggio implicito che tutti di queste banche in questo caso sono stati 672 00:35:00,600 --> 00:35:01,830 inviando per anni. 673 00:35:01,830 --> 00:35:05,160 Se vedete lucchetto, quindi fissare. 674 00:35:05,160 --> 00:35:05,340 D'accordo? 675 00:35:05,340 --> 00:35:10,520 >> Così come si può abusare di questo sistema di fiducia se sei il cattivo? 676 00:35:10,520 --> 00:35:14,100 Mettere un lucchetto sul tuo sito web, e logicamente, gli utenti sono stati 677 00:35:14,100 --> 00:35:17,260 condizionato per anni ad assumere lucchetto significa sicuro. 678 00:35:17,260 --> 00:35:19,310 E potrebbe in realtà essere sicuro. 679 00:35:19,310 --> 00:35:24,810 Si potrebbe avere un meravigliosamente sicura SSL connessione HTTPS a un 680 00:35:24,810 --> 00:35:26,452 sito web falso. com. 681 00:35:26,452 --> 00:35:30,150 E nessun altro al mondo può vedere che si sta per consegnare a lui o lei 682 00:35:30,150 --> 00:35:32,790 il tuo nome utente e password al tuo account. 683 00:35:32,790 --> 00:35:35,110 >> Questo, però, forse, è un poco più rassicurante. 684 00:35:35,110 --> 00:35:38,600 Quindi questo è uno screenshot della parte superiore del mio browser questa mattina alle 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 E notiamo anche qui avere un icona di un lucchetto. 687 00:35:43,270 --> 00:35:48,040 Che cosa significa in questo contesto in Chrome, almeno? 688 00:35:48,040 --> 00:35:49,520 >> Quindi questo sta ora utilizzando SSL. 689 00:35:49,520 --> 00:35:51,220 Quindi, questo è in realtà una cosa migliore. 690 00:35:51,220 --> 00:35:54,250 E il fatto che Chrome sta rendendo verde lo scopo di attirare l'attenzione 691 00:35:54,250 --> 00:35:56,750 al fatto che questo è non solo su SSL. 692 00:35:56,750 --> 00:36:01,400 Questa è una società che qualcuno vi è verificato in realtà è 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 E questo significa che la Bank of America, quando si acquista il loro cosiddetto SSL 695 00:36:05,970 --> 00:36:09,680 certificato, essenzialmente grande casuale, numeri un po 'casuale che implementano 696 00:36:09,680 --> 00:36:14,710 sicurezza per loro, sono stati verificato da una terza indipendente 697 00:36:14,710 --> 00:36:15,570 partito che dice, sì. 698 00:36:15,570 --> 00:36:19,240 Questo è in realtà l'amministratore delegato della Banca di L'America cercando di acquistare il certificato. 699 00:36:19,240 --> 00:36:23,290 Chrome sarà quindi fiducia che autorità di certificazione e di dire in 700 00:36:23,290 --> 00:36:25,265 verde, questo è bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 E Bank of America paga solo alcuni centinaia di dollari per quello o un paio di 702 00:36:27,997 --> 00:36:30,800 mila al contrario di un poche decine di dollari. 703 00:36:30,800 --> 00:36:34,940 >> Ma anche qui, come molti di voi hanno mai comportata in modo diverso, perché 704 00:36:34,940 --> 00:36:38,576 l'URL nel vostro browser è verde al posto del nero? 705 00:36:38,576 --> 00:36:39,900 Giusto? 706 00:36:39,900 --> 00:36:40,600 Così un paio di noi. 707 00:36:40,600 --> 00:36:42,115 E questo è bene essere paranoici. 708 00:36:42,115 --> 00:36:45,910 Ma anche allora, quelli di voi che ancora notare queste cose, si fa effettivamente 709 00:36:45,910 --> 00:36:50,720 interrompere la registrazione in un altrimenti sicuro sito web, se l'URL non è verde? 710 00:36:50,720 --> 00:36:53,380 Va bene, quindi probabilmente no, giusto? 711 00:36:53,380 --> 00:36:56,740 Almeno la maggior parte di noi, se non è verde, molto probabilmente si sta solo andando 712 00:36:56,740 --> 00:36:57,440 di essere come, a prescindere. 713 00:36:57,440 --> 00:36:58,950 Come, io voglio accedere al sito. 714 00:36:58,950 --> 00:37:00,200 E 'per questo che sono qui. 715 00:37:00,200 --> 00:37:02,390 Io vado per accedere comunque. 716 00:37:02,390 --> 00:37:04,500 >> Per inciso, Chrome è un po ' meglio di questo. 717 00:37:04,500 --> 00:37:07,990 Ma c'è un sacco di browser come Firefox per esempio, almeno per 718 00:37:07,990 --> 00:37:12,190 po 'di tempo, in cui l'icona lucchetto è, si può effettivamente mettere qualsiasi 719 00:37:12,190 --> 00:37:13,250 icona della vostra. 720 00:37:13,250 --> 00:37:17,480 Fammi vedere che cosa l'ultima versione di Firefox assomiglia. 721 00:37:17,480 --> 00:37:20,040 Quindi, se andiamo a CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, così hanno ottenuto meglio così. 723 00:37:21,580 --> 00:37:24,970 Quali i browser utilizzati per farlo è come, ecco per esempio [? SAAS è?] 724 00:37:24,970 --> 00:37:25,790 cresta fino qui. 725 00:37:25,790 --> 00:37:29,240 Questo è il cosiddetto preferito icona di un sito web. 726 00:37:29,240 --> 00:37:30,190 Anni fa - 727 00:37:30,190 --> 00:37:34,720 in realtà non molto tempo fa - che poco scudo sarebbe stato giusto 728 00:37:34,720 --> 00:37:36,560 qui accanto all'URL. 729 00:37:36,560 --> 00:37:40,300 Perché qualche genio ha deciso che sarebbe solo guardare piuttosto elegante di avere 730 00:37:40,300 --> 00:37:43,150 il tuo logo grafico a destra accanto al tuo URL. 731 00:37:43,150 --> 00:37:45,310 E design saggio, che in realtà è piuttosto convincente. 732 00:37:45,310 --> 00:37:47,240 >> Quindi, che cosa ha fatto fare brutta partenza ragazzo? 733 00:37:47,240 --> 00:37:50,500 Hanno cominciato a cambiare il loro preferito icone, o la loro icona predefinita per un 734 00:37:50,500 --> 00:37:55,250 homepage di essere non una cresta ma un lucchetto, che aveva 735 00:37:55,250 --> 00:37:56,600 assolutamente nessun significato. 736 00:37:56,600 --> 00:37:59,760 Altro che la loro icona preferita è stato un lucchetto non aveva 737 00:37:59,760 --> 00:38:01,250 indicazioni di sicurezza. 738 00:38:01,250 --> 00:38:04,040 >> Così le lezioni qui sono una coppia che penso. 739 00:38:04,040 --> 00:38:07,820 Uno è che in realtà vi sono alcuni meccanismi ben intenzionati per 740 00:38:07,820 --> 00:38:12,850 insegnandoci utenti circa la sicurezza, anche se non erano nemmeno a conoscenza che cosa verde 741 00:38:12,850 --> 00:38:15,110 significava o che cosa significava anche HTTPS. 742 00:38:15,110 --> 00:38:19,130 Ma se questi meccanismi ci entrano la cattiva abitudine di siti web di fiducia 743 00:38:19,130 --> 00:38:23,390 quando vediamo questi segnali positivi, stanno molto facilmente vittime di abusi, come abbiamo visto 744 00:38:23,390 --> 00:38:26,480 solo un momento fa con qualcosa sciocco come questo. 745 00:38:26,480 --> 00:38:29,100 >> Così dirottamento di sessione viene in giocare, come abbiamo detto prima, 746 00:38:29,100 --> 00:38:30,510 con i biscotti per esempio. 747 00:38:30,510 --> 00:38:32,130 E che cosa significa questo in realtà significa? 748 00:38:32,130 --> 00:38:35,930 Bene con il dirottamento di sessione questo è tutto di rubare i cookie di qualcuno. 749 00:38:35,930 --> 00:38:39,860 Quindi, se apro Chrome qui, per esempio, e apro l'ispettore 750 00:38:39,860 --> 00:38:41,550 qui e vado a la scheda di rete - 751 00:38:41,550 --> 00:38:42,830 e abbiamo fatto questo prima - 752 00:38:42,830 --> 00:38:48,900 e vado a qualcosa di simile http://facebook.com Enter, un intero 753 00:38:48,900 --> 00:38:52,280 mucchio di roba passa attraverso lo schermo a causa di tutte le immagini e CSS e 754 00:38:52,280 --> 00:38:53,490 File JavaScript. 755 00:38:53,490 --> 00:38:59,420 >> Ma se guardo questa qui notare che Facebook è infatti piantando uno 756 00:38:59,420 --> 00:39:02,310 o più cookie sul mio navigatore proprio qui. 757 00:39:02,310 --> 00:39:05,610 Quindi questi sono essenzialmente la mano francobolli che rappresentano me. 758 00:39:05,610 --> 00:39:08,580 E ora si spera il mio browser presentare di nuovo questo e ancora quando 759 00:39:08,580 --> 00:39:10,560 rivisitare quel sito. 760 00:39:10,560 --> 00:39:15,810 Ma questo solo è sicuro, abbiamo detto un paio di settimane fa, se si sta utilizzando SSL. 761 00:39:15,810 --> 00:39:18,860 >> Ma anche SSL si può essere compromessa. 762 00:39:18,860 --> 00:39:21,800 Considerare dopo SSL funziona in tutti i sensi. 763 00:39:21,800 --> 00:39:28,860 Quando il browser si connette a un telecomando server tramite https://, per farla breve, 764 00:39:28,860 --> 00:39:30,110 crittografia è coinvolto. 765 00:39:30,110 --> 00:39:34,750 Non è così semplice come Cesare o Visionaire o anche DES, DES da una 766 00:39:34,750 --> 00:39:36,110 mentre nel PSet2. 767 00:39:36,110 --> 00:39:37,410 E 'più sofisticato di quello. 768 00:39:37,410 --> 00:39:39,110 Si chiama crittografia a chiave pubblica. 769 00:39:39,110 --> 00:39:42,845 Ma veramente grande e veramente casuale numeri sono usati per rimescolare 770 00:39:42,845 --> 00:39:47,125 informazioni tra il punto A, è, e il punto B, come facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Ma il problema è, come molti di noi ancora una volta mai digitare https:// per iniziare 772 00:39:52,570 --> 00:39:55,790 la nostra connessione sito in che modalità sicura? 773 00:39:55,790 --> 00:40:00,900 Voglio dire, come molti di voi anche Tipo http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Va bene, se si fa, come, ciao. 775 00:40:02,290 --> 00:40:03,510 Non hai bisogno di farlo più, giusto? 776 00:40:03,510 --> 00:40:05,190 Il browser capirlo. 777 00:40:05,190 --> 00:40:08,070 >> Ma la maggior parte di noi fanno davvero basta digitare facebook.com. 778 00:40:08,070 --> 00:40:10,960 Perché se stiamo usando un browser, il i browser sono diventati abbastanza intelligente da 779 00:40:10,960 --> 00:40:14,920 2013 per assumere se si sta utilizzando un del browser, si digita un indirizzo, è 780 00:40:14,920 --> 00:40:18,550 probabilmente vuole accedere non via e-mail o un messaggio istantaneo. 781 00:40:18,550 --> 00:40:21,250 Vuoi dire HTTP e la porta 80. 782 00:40:21,250 --> 00:40:22,970 All'adozione di tali convenzioni. 783 00:40:22,970 --> 00:40:24,830 >> Ma come funziona il reindirizzamento? 784 00:40:24,830 --> 00:40:26,170 Beh, vedere cosa succede qui. 785 00:40:26,170 --> 00:40:27,590 Se torno a Chrome - 786 00:40:27,590 --> 00:40:31,920 e facciamolo in incognito modalità in modo che tutto il mio 787 00:40:31,920 --> 00:40:33,620 biscotti vengono gettati via. 788 00:40:33,620 --> 00:40:38,130 E mi permetta di andare qui per, nuovamente, facebook.com. 789 00:40:38,130 --> 00:40:39,490 E vediamo cosa succede. 790 00:40:39,490 --> 00:40:43,372 >> Ricordiamo che la prima richiesta era infatti solo per facebook.com. 791 00:40:43,372 --> 00:40:46,580 Ma qual è stata la risposta che ho ricevuto? 792 00:40:46,580 --> 00:40:48,520 Non è stato un 200 OK. 793 00:40:48,520 --> 00:40:53,550 Era 300, o 301, che è un redirect mi dice di andare a 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, che è Facebook dove vuole che vada. 795 00:40:59,050 --> 00:41:01,900 Ma se guardiamo la richiesta successiva, e abbiamo visto prima, 796 00:41:01,900 --> 00:41:04,370 notare ciò che la loro seconda risposta è. 797 00:41:04,370 --> 00:41:10,280 In particolare che mi vogliono ora a vai alla versione SSL di Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Così qui è un'opportunità. 799 00:41:11,800 --> 00:41:15,440 Questa è una caratteristica meravigliosamente utile di appena il web e HTTP. 800 00:41:15,440 --> 00:41:19,570 Se l'utente finale come Facebook mi vuole per rimanere sulla versione sicura del loro 801 00:41:19,570 --> 00:41:20,850 sito web, grande. 802 00:41:20,850 --> 00:41:23,130 Essi mi redirect per me stesso. 803 00:41:23,130 --> 00:41:25,250 E così io non devo nemmeno pensarci. 804 00:41:25,250 --> 00:41:29,200 >> Ma cosa succede se tra i punti A e B, tra te e Facebook, c'è qualche 805 00:41:29,200 --> 00:41:32,220 cattivo, c'è qualche sistema amministratore di Harvard che è curioso 806 00:41:32,220 --> 00:41:34,240 per vedere chi sono i tuoi amici. 807 00:41:34,240 --> 00:41:36,760 Oppure c'è qualche - 808 00:41:36,760 --> 00:41:38,340 anni fa, questo era sembrare pazzesco - 809 00:41:38,340 --> 00:41:41,950 ma c'è qualche ente governativo simile la NSA che è realmente interessato 810 00:41:41,950 --> 00:41:44,390 a chi si sta frugando su Facebook. 811 00:41:44,390 --> 00:41:45,910 Dov'è l'occasione lì? 812 00:41:45,910 --> 00:41:49,305 Beh, fino a quando qualcuno ha abbastanza tecnico esperto e di avere accesso 813 00:41:49,305 --> 00:41:53,350 alla rete attuale via Wi-Fi o qualche filo di fisica, 814 00:41:53,350 --> 00:41:54,570 cosa potrebbero fare? 815 00:41:54,570 --> 00:41:57,520 >> Beh, se sono sulla stessa rete te e sanno qualcosa di 816 00:41:57,520 --> 00:42:02,050 Indirizzi TCP / IP e IP e DNS e come tutto questo funziona, che cosa se che 817 00:42:02,050 --> 00:42:05,970 uomo al centro, che cosa se che nazionale Security Agency, qualunque esso 818 00:42:05,970 --> 00:42:11,480 può essere, ma se tale entità semplicemente risponde più rapidamente di Facebook per 819 00:42:11,480 --> 00:42:15,820 la richiesta HTTP e dice: oh, io sono Facebook. 820 00:42:15,820 --> 00:42:19,300 Vai avanti, ed ecco il HTML per facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> I computer sono dannatamente veloce. 822 00:42:20,720 --> 00:42:25,990 Così si potrebbe scrivere un programma in esecuzione su un server come nsa.gov che quando si 823 00:42:25,990 --> 00:42:29,790 sente una richiesta da voi per facebook.com, molto rapidamente dietro l' 824 00:42:29,790 --> 00:42:34,000 scene ottiene la vera realizzazione facebook.com perfettamente [? esque?] sicuro 825 00:42:34,000 --> 00:42:38,290 Connessione SSL tra NSA e tra Facebook, sempre che l'HTML molto 826 00:42:38,290 --> 00:42:42,670 sicuro per la pagina di login, e quindi il server risponde NSA solo per voi 827 00:42:42,670 --> 00:42:44,942 con una pagina di accesso per facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Ora, quanti di voi sarebbero anche notare che si sta utilizzando Facebook su HTTP 829 00:42:49,120 --> 00:42:53,375 ancora a quel punto, perché hai collegato accidentalmente nsa.gov e 830 00:42:53,375 --> 00:42:53,870 non Facebook? 831 00:42:53,870 --> 00:42:54,980 Gli URL non cambia. 832 00:42:54,980 --> 00:42:57,040 Tutto questo è stato fatto dietro le quinte. 833 00:42:57,040 --> 00:42:59,470 Ma la maggior parte di noi, me compreso, Probabilmente non se ne accorgesse 834 00:42:59,470 --> 00:43:00,800 un dettaglio tale minore. 835 00:43:00,800 --> 00:43:05,510 >> Così si potrebbe avere una perfettamente funzionante connessione tra voi e ciò che si 836 00:43:05,510 --> 00:43:08,660 pensare è Facebook, ma c'è un cosiddetto uomo nel mezzo. 837 00:43:08,660 --> 00:43:12,480 E questo è un termine generale per l'uomo in l'attacco centrale in cui si ha un po 'di 838 00:43:12,480 --> 00:43:17,670 entità tra te e il punto B che è in qualche modo manipolare, rubare, o 839 00:43:17,670 --> 00:43:18,960 guardando i vostri dati. 840 00:43:18,960 --> 00:43:22,750 Quindi, anche SSL non è infallibile, soprattutto se si è stati indotti a 841 00:43:22,750 --> 00:43:26,790 non accenderlo perché di come questi meccanismi che realmente funzionano. 842 00:43:26,790 --> 00:43:30,670 >> Quindi, una lezione di oggi poi è troppo se si davvero voglia di essere paranoico - 843 00:43:30,670 --> 00:43:32,110 e anche qui ci sono le minacce - 844 00:43:32,110 --> 00:43:37,112 si dovrebbe davvero iniziare a ricevere in l'abitudine di battitura in https://www 845 00:43:37,112 --> 00:43:39,850 qualunque nome di dominio che effettivamente a cuore. 846 00:43:39,850 --> 00:43:41,820 >> E per inciso troppo c'è un'altra minaccia con 847 00:43:41,820 --> 00:43:43,410 riguardo al dirottamento di sessione. 848 00:43:43,410 --> 00:43:47,440 Molto spesso quando si visita un sito web come facebook.com, a meno che il 849 00:43:47,440 --> 00:43:51,050 server è stato configurato per dire che che timbro mano ha messo su di voi 850 00:43:51,050 --> 00:43:56,140 ieri dovrebbe essere sicura se stessa, la tua browser potrebbe molto bene, al momento 851 00:43:56,140 --> 00:44:00,620 cose in visita come facebook.com google.com, twitter.com, il browser 852 00:44:00,620 --> 00:44:04,280 si potrebbe presentare solo quel timbro mano di essere schiaffeggiato giù e disse no. 853 00:44:04,280 --> 00:44:05,660 Usa SSL. 854 00:44:05,660 --> 00:44:07,030 >> Ma è troppo tardi in quel punto. 855 00:44:07,030 --> 00:44:10,940 Se avete già inviato la tua mano timbro, il cookie, in chiaro con 856 00:44:10,940 --> 00:44:15,180 no SSL, hai una frazione di secondo vulnerabilità in cui qualcuno sniffing 857 00:44:15,180 --> 00:44:19,530 il traffico, sia compagno di stanza o NSA, possono poi utilizzare lo stesso cookie e 858 00:44:19,530 --> 00:44:23,860 con un po 'di buon senso tecnico, presentarlo come suo proprio. 859 00:44:23,860 --> 00:44:25,930 >> Un altro attacco si potrebbe Non ci ho pensato. 860 00:44:25,930 --> 00:44:30,120 Questo è davvero su di te se si avvitare questo per iscritto qualche sito web che 861 00:44:30,120 --> 00:44:31,580 in qualche modo utilizza SQL. 862 00:44:31,580 --> 00:44:34,610 Quindi, ecco, per esempio, è uno schermo colpo di login di Harvard. 863 00:44:34,610 --> 00:44:36,380 E questo è un esempio generale di qualcosa con un 864 00:44:36,380 --> 00:44:37,480 username e password. 865 00:44:37,480 --> 00:44:38,440 Super comune. 866 00:44:38,440 --> 00:44:41,310 Quindi supponiamo che SSL esiste e non c'è uomo al centro o 867 00:44:41,310 --> 00:44:41,920 qualcosa di simile. 868 00:44:41,920 --> 00:44:45,660 Ora ci stiamo concentrando sul server di codice che si potrebbe scrivere. 869 00:44:45,660 --> 00:44:49,830 >> Beh, quando si digita un nome utente e la password, si supponga che il servizio PIN 870 00:44:49,830 --> 00:44:51,740 è implementato in PHP. 871 00:44:51,740 --> 00:44:53,990 E si potrebbe avere un po 'di codice su quel server come questo. 872 00:44:53,990 --> 00:44:57,740 Prendi il nome utente dal post super- globale e ottenere la password, e poi 873 00:44:57,740 --> 00:45:01,130 se stanno utilizzando alcuni pset7 come codice c'è una funzione di interrogazione 874 00:45:01,130 --> 00:45:01,820 che potrebbe fare questo. 875 00:45:01,820 --> 00:45:06,320 Selezionare stella da parte degli utenti, dove nomeutente eguali e la password che è uguale a quello. 876 00:45:06,320 --> 00:45:08,120 >> Che sembra, a prima vista, del tutto ragionevole. 877 00:45:08,120 --> 00:45:11,090 Questo è sintatticamente codice PHP valido. 878 00:45:11,090 --> 00:45:13,160 Logicamente non c'è niente di sbagliato in questo. 879 00:45:13,160 --> 00:45:15,710 Presumibilmente c'è qualche più linee che effettivamente fare qualcosa con la 880 00:45:15,710 --> 00:45:18,150 risultato che ritorna dal database. 881 00:45:18,150 --> 00:45:20,580 Ma questo è vulnerabile per il seguente motivo. 882 00:45:20,580 --> 00:45:23,760 >> Si noti che, come un buon cittadino, Ho messo tra virgolette, singolo 883 00:45:23,760 --> 00:45:25,380 citazioni, il nome utente. 884 00:45:25,380 --> 00:45:26,980 E ho messo tra virgolette singole la password. 885 00:45:26,980 --> 00:45:28,830 E questa è una buona cosa perché sono non dovrebbe essere numeri. 886 00:45:28,830 --> 00:45:30,660 In genere si sta andando ad essere il testo. 887 00:45:30,660 --> 00:45:32,290 Quindi io li sto citando come stringhe. 888 00:45:32,290 --> 00:45:37,470 >> E se io ora avanzare ulteriormente che cosa se - e ho rimosso i proiettili dalla 889 00:45:37,470 --> 00:45:38,870 PIN servizio temporaneamente - 890 00:45:38,870 --> 00:45:41,650 cosa succede se cerco di accedere come Presidente [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 ma io sostengo che la mia password è 12345 'OR '1' = '1, e preavviso 892 00:45:52,540 --> 00:45:53,830 quello che non ho fatto. 893 00:45:53,830 --> 00:45:56,140 Io non chiudo l'altro citazione singolo. 894 00:45:56,140 --> 00:45:58,500 Perché io sono abbastanza forte qui come il cattivo. 895 00:45:58,500 --> 00:46:01,870 E sto supponendo che siano sei non molto buono con il tuo 896 00:46:01,870 --> 00:46:03,450 Codice PHP e MySQL. 897 00:46:03,450 --> 00:46:06,740 Sto indovinando che non stai controllando per la presenza di citazioni. 898 00:46:06,740 --> 00:46:11,190 >> Così che cosa è appena successo è che quando la tua utente ha digitato quella stringa, 899 00:46:11,190 --> 00:46:15,060 la query che si sta per creare look come questo. 900 00:46:15,060 --> 00:46:18,180 E per farla breve, se e qualcosa insieme o si o qualcosa 901 00:46:18,180 --> 00:46:21,740 insieme questo sta per tornare una riga dal database. 902 00:46:21,740 --> 00:46:26,570 Perché è sempre l' caso che 1 è uguale a 1. 903 00:46:26,570 --> 00:46:30,400 >> E solo perché non hai anticipare che i vostri utenti, buone o cattive, potrebbe 904 00:46:30,400 --> 00:46:35,340 avere un apostrofo nel nome si hanno creato una query SQL che è ancora 905 00:46:35,340 --> 00:46:39,040 valida, e tornerà ora più risultati di quanto si possa previsto. 906 00:46:39,040 --> 00:46:42,340 E così questo cattivo ragazzo ora ha potenzialmente effettuato l'accesso al vostro server 907 00:46:42,340 --> 00:46:47,060 perché il database sta tornando di fila anche se lui o lei non ha idea di che cosa 908 00:46:47,060 --> 00:46:49,410 [? ?] Password effettiva del Scroob è. 909 00:46:49,410 --> 00:46:50,640 >> Oh, mi sono reso conto di un errore di battitura qui. 910 00:46:50,640 --> 00:46:53,260 Avrei dovuto dire la password è uguale a 12345 come il precedente 911 00:46:53,260 --> 00:46:54,990 esempio o 1 equivale a 1. 912 00:46:54,990 --> 00:46:56,400 Ti preparo che online. 913 00:46:56,400 --> 00:46:59,960 >> Allora, perché abbiamo dovuto voi utilizzando la query funzione con punti interrogativi? 914 00:46:59,960 --> 00:47:04,000 Una delle cose che la funzione di query fa per voi è si assicura che 915 00:47:04,000 --> 00:47:07,660 quando si passa in argomenti che seguono il virgole qui in questo modo che la query 916 00:47:07,660 --> 00:47:10,330 che in realtà è inviato al banca dati simile a questa. 917 00:47:10,330 --> 00:47:13,830 Molta più brutta da guardare, ma indietro tagli sono stati automaticamente 918 00:47:13,830 --> 00:47:19,030 inserito per evitare appunto che attacco iniezione che ho mostrato una 919 00:47:19,030 --> 00:47:20,270 momento fa. 920 00:47:20,270 --> 00:47:24,930 >> Ora un divertente xkcd che ho pensato di tirare qui che si spera Adesso è presente una 921 00:47:24,930 --> 00:47:28,546 po 'più comprensibile è questo qui. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> Un po '? 924 00:47:40,265 --> 00:47:42,370 Forse abbiamo bisogno di un po 'di più discussione su questo. 925 00:47:42,370 --> 00:47:47,810 Quindi questo allude ad un ragazzino di nome Bobby che ha in qualche modo preso 926 00:47:47,810 --> 00:47:52,250 vantaggio di un sito web che è solo confidando che ciò che l'utente ha digitato 927 00:47:52,250 --> 00:47:55,100 in non è, infatti, il codice SQL, ma è in realtà una stringa. 928 00:47:55,100 --> 00:47:56,830 >> Ora si può ricordare che goccia - 929 00:47:56,830 --> 00:48:00,190 si potrebbe avere visto questo - significa goccia eliminare una tabella, eliminare un database. 930 00:48:00,190 --> 00:48:02,235 Quindi, se si sostiene in sostanza che il tuo nome è 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 si potrebbe benissimo ingannare il database non solo in controllando che sei 934 00:48:09,370 --> 00:48:13,530 infatti Robert, ma anche punto e virgola procedere ad eliminare la tabella. 935 00:48:13,530 --> 00:48:17,560 >> E così gli attacchi SQL injection può effettivamente essere come una minaccia come questa 936 00:48:17,560 --> 00:48:20,740 in base al quale è possibile eliminare i dati di qualcuno, è possibile selezionare più dati di quanto 937 00:48:20,740 --> 00:48:23,440 destinato, è possibile inserire o aggiornare i dati. 938 00:48:23,440 --> 00:48:26,520 E si può effettivamente vedere questo momento a esercizi a casa, non dannoso per 939 00:48:26,520 --> 00:48:29,730 fini ma solo per didattica, è un qualsiasi momento viene richiesto di effettuare il login 940 00:48:29,730 --> 00:48:35,180 nel sito web, in particolare una sorta di molto pubblico non, sito molto popolare, 941 00:48:35,180 --> 00:48:38,630 prova ad accedere come John O'Reilly o qualcuno con un 942 00:48:38,630 --> 00:48:39,740 apostrofo nel loro nome. 943 00:48:39,740 --> 00:48:42,990 O letteralmente basta digitare apostrofo, premere Invio, e vedere cosa succede. 944 00:48:42,990 --> 00:48:47,990 >> E troppo spesso, tragicamente, la gente non sono sterilizzate i loro ingressi e 945 00:48:47,990 --> 00:48:51,690 fatto in modo che le cose come le citazioni o punti e virgola sono fuggiti. 946 00:48:51,690 --> 00:48:54,430 È per questo che in pset7 diamo si questa funzione di interrogazione. 947 00:48:54,430 --> 00:48:59,510 Ma non sotto apprezzare esattamente quello che sta facendo per voi. 948 00:48:59,510 --> 00:49:01,800 >> Quindi, con quello detto, buon divertimento con il web questa settimana. 949 00:49:01,800 --> 00:49:04,660 E vedremo che il Lunedi. 950 00:49:04,660 --> 00:49:06,180 >> Al prossimo CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUSICA]