1 00:00:00,000 --> 00:00:11,214 >> [MUSIQUE] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. Malan: Très bien. 3 00:00:11,661 --> 00:00:15,400 Donc, c'est CS50 et cette c'est la fin de la semaine 10. 4 00:00:15,400 --> 00:00:20,420 Ainsi, certains d'entre vous ont vu cette déjà, mais distribuée de la fin 5 00:00:20,420 --> 00:00:25,800 est un article que j'ai pensé que je lirais un extrait, puis vous montrer une 6 00:00:25,800 --> 00:00:27,800 trois minutes de vidéo qui peint la même image. 7 00:00:27,800 --> 00:00:30,950 C'était vraiment une histoire touchante, je pensée, de cette intersection de la 8 00:00:30,950 --> 00:00:35,210 monde réel avec véritablement convaincante utilisations de la technologie. 9 00:00:35,210 --> 00:00:39,785 >> Donc, l'article était intitulé «Un garçon dort trop longtemps sur le train, utilise Google Maps 10 00:00:39,785 --> 00:00:44,930 trouver la famille 25 ans plus tard. "Et l' deux premiers paragraphes étaient, 11 00:00:44,930 --> 00:00:48,820 «Quand Saroo avait cinq ans il est allé avec son frère aîné à grappiller pour 12 00:00:48,820 --> 00:00:51,830 changer sur un train de passagers dans une ville d'environ deux heures 13 00:00:51,830 --> 00:00:53,510 de sa petite ville natale. 14 00:00:53,510 --> 00:00:56,790 Saroo est devenu fatigué et a sauté sur une proximité gare où il pensait que son 15 00:00:56,790 --> 00:00:58,880 frère, puis s'endormit. 16 00:00:58,880 --> 00:01:03,360 Quand il se réveilla, il était à Calcutta, près de 900 miles de distance. 17 00:01:03,360 --> 00:01:05,770 Saroo a essayé de trouver son chemin dos, mais il ne savait pas 18 00:01:05,770 --> 00:01:07,260 le nom de sa ville natale. 19 00:01:07,260 --> 00:01:11,430 Et comme un petit garçon analphabète dans un vaste ville pleine d'enfants oubliés qu'il avait 20 00:01:11,430 --> 00:01:13,520 pratiquement aucune chance de rentrer à la maison. 21 00:01:13,520 --> 00:01:16,760 >> Il était un enfant de la rue pendant un certain temps jusqu'à ce que une agence d'adoption locale accroché 22 00:01:16,760 --> 00:01:18,840 lui avec un couple australien qui l'a amené à 23 00:01:18,840 --> 00:01:20,600 vivre à Hobart, en Tasmanie. 24 00:01:20,600 --> 00:01:23,130 Saroo s'y installe, a appris Anglais, et a grandi. 25 00:01:23,130 --> 00:01:27,450 Mais il n'a jamais cessé de chercher du sa famille et sa ville natale. 26 00:01:27,450 --> 00:01:32,380 >> Des décennies plus tard, il a découvert Google Terre et voies ferrées suivies. 27 00:01:32,380 --> 00:01:36,140 Et en se donnant un rayon prescrit basé sur combien de temps il pensait qu'il était 28 00:01:36,140 --> 00:01:40,020 endormi et à quelle vitesse il a pensé le train qui se passait, il savait qu'il avait grandi 29 00:01:40,020 --> 00:01:43,930 dans un climat chaud, il savait qu'il parlait Hindi comme un enfant, et lui avait dit 30 00:01:43,930 --> 00:01:46,160 qu'il semblait qu'il était de East India. 31 00:01:46,160 --> 00:01:49,650 >> Enfin, après des années de récurer les photos satellites, il 32 00:01:49,650 --> 00:01:51,340 reconnu quelques points de repère. 33 00:01:51,340 --> 00:01:54,180 Et après avoir discuté avec un administrateur d'une ville voisine de 34 00:01:54,180 --> 00:01:57,740 Page Facebook, il a réalisé il avait trouvé la maison ". 35 00:01:57,740 --> 00:02:03,770 >> Alors, voici donc la vidéo racontant cette histoire de son point de vue. 36 00:02:03,770 --> 00:02:04,025 >> [LECTURE VIDEO] 37 00:02:04,025 --> 00:02:07,480 >> -C'était il ya 26 ans et j'ai été sur le point de tourner cinq. 38 00:02:07,480 --> 00:02:10,539 Nous sommes arrivés à la gare et nous avons pris le train ensemble. 39 00:02:10,539 --> 00:02:13,390 Mon frère a juste dit que je vais rester ici et je reviendrai. 40 00:02:13,390 --> 00:02:16,363 Et je pensais, eh bien, vous savez, je pourrait tout aussi bien aller dormir et 41 00:02:16,363 --> 00:02:17,950 puis il va juste me réveiller. 42 00:02:17,950 --> 00:02:21,740 Et quand je me réveille le lendemain, le tout le wagon était vide sur un emballement 43 00:02:21,740 --> 00:02:24,305 train, un train fantôme prenant moi, je ne sais pas où. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> J'ai été adopté pour l'Australie à une famille australienne. 46 00:02:31,660 --> 00:02:35,360 Et maman avait décoré ma chambre avec la carte de l'Inde, où elle 47 00:02:35,360 --> 00:02:37,090 mettre à côté de mon lit. 48 00:02:37,090 --> 00:02:42,170 Je me suis réveillé chaque matin de voir cette carte, et, par conséquent, il sorte de garder le 49 00:02:42,170 --> 00:02:43,740 souvenirs vivants. 50 00:02:43,740 --> 00:02:46,475 >> Les gens disaient, vous essayez de trouver une aiguille dans une botte de foin. 51 00:02:46,475 --> 00:02:49,060 Saroo, vous ne le trouverez jamais. 52 00:02:49,060 --> 00:02:52,510 J'avais des bouffées des endroits qui J'avais l'habitude d'aller, les flashs 53 00:02:52,510 --> 00:02:55,050 des visages de ma famille. 54 00:02:55,050 --> 00:02:59,200 Il y avait l'image de ma mère assise vers le bas avec les jambes croisées 55 00:02:59,200 --> 00:03:00,610 juste regarder pleurer. 56 00:03:00,610 --> 00:03:03,340 La vie est tellement difficile. 57 00:03:03,340 --> 00:03:06,002 C'était mon trésor. 58 00:03:06,002 --> 00:03:09,390 >> Et je cherchais dans Google Map et réalisé il ya Google Earth ainsi. 59 00:03:09,390 --> 00:03:13,560 Dans un monde où vous pouvez zoomer sur I commencé à avoir toutes ces pensées et 60 00:03:13,560 --> 00:03:16,650 quelles sont les possibilités que cela pourrait faire pour moi. 61 00:03:16,650 --> 00:03:19,520 Je me suis dit, eh bien, vous savez, vous avez tout le photographique 62 00:03:19,520 --> 00:03:22,340 souvenirs et sites où vous êtes à partir et vous savez quoi 63 00:03:22,340 --> 00:03:23,460 la ville ressemble. 64 00:03:23,460 --> 00:03:27,910 Cela pourrait être une application qui vous peuvent utiliser pour retrouver votre chemin. 65 00:03:27,910 --> 00:03:32,750 >> J'ai pensé, eh bien, je vais mettre un point sur La gare de Calcutta dans un rayon 66 00:03:32,750 --> 00:03:36,350 ligne que vous devriez être à la recherche autour de cette zone. 67 00:03:36,350 --> 00:03:38,850 Je suis tombé sur ces voies ferrées. 68 00:03:38,850 --> 00:03:44,490 Et j'ai commencé à suivre et je suis venu à une gare qui reflète l' 69 00:03:44,490 --> 00:03:48,260 même image qui était dans mes souvenirs. 70 00:03:48,260 --> 00:03:49,730 >> Tout égalé. 71 00:03:49,730 --> 00:03:50,800 J'ai juste pensé, oui. 72 00:03:50,800 --> 00:03:51,545 Je sais où je vais. 73 00:03:51,545 --> 00:03:55,387 Je vais laisser la carte que je avoir dans ma tête pour me conduire et me prendre 74 00:03:55,387 --> 00:03:58,230 dans ma ville natale. 75 00:03:58,230 --> 00:04:02,290 >> Je suis venu à la porte de la maison que je suis né et j'ai fait le tour 76 00:04:02,290 --> 00:04:04,270 une quinzaine de mètres autour du coin. 77 00:04:04,270 --> 00:04:08,140 Il y avait trois dames debout à l'extérieur adjacents les uns aux autres. 78 00:04:08,140 --> 00:04:10,230 Et celui du milieu s'avança. 79 00:04:10,230 --> 00:04:12,910 Et je pensais, ce Voici ta mère. 80 00:04:12,910 --> 00:04:18,590 Elle s'avança, elle m'a embrassé, et nous étaient là pendant environ cinq minutes. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Elle a attrapé ma main et elle me prit la maison et eu au téléphone et elle 83 00:04:25,787 --> 00:04:31,110 sonné, ma sœur et mon frère à-dire que ton frère a juste tout le 84 00:04:31,110 --> 00:04:34,480 soudain apparu comme un fantôme. 85 00:04:34,480 --> 00:04:37,590 >> Et puis la famille était nouveau réunis. 86 00:04:37,590 --> 00:04:38,570 Tout va bien. 87 00:04:38,570 --> 00:04:40,250 J'aide ma mère sortir. 88 00:04:40,250 --> 00:04:42,240 Elle n'a pas besoin d'être trimer. 89 00:04:42,240 --> 00:04:45,040 Elle peut entraîner le reste du sa vie en paix. 90 00:04:45,040 --> 00:04:48,590 >> C'était une aiguille dans une botte de foin, mais l'aiguille était là. 91 00:04:48,590 --> 00:04:49,530 Tout est là. 92 00:04:49,530 --> 00:04:53,410 Tout ce que nous avons dans le monde est le robinet d'un bouton. 93 00:04:53,410 --> 00:04:57,375 Mais vous devez avoir la volonté et la détermination à vouloir. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [FIN LECTURE VIDÉO] 96 00:05:02,780 --> 00:05:04,220 >> Donc, une histoire vraiment doux. 97 00:05:04,220 --> 00:05:08,430 Et cela me rappelle vraiment de tout un sujet qui a été faire un peu 98 00:05:08,430 --> 00:05:11,200 d'attention ces derniers temps dans The Crimson, plus au niveau national en général. 99 00:05:11,200 --> 00:05:13,620 D'autant plus que MOOCs prennent la scène de la fin. 100 00:05:13,620 --> 00:05:17,370 MOOCs étant ceux massive et ouverte cours en ligne dont CS50 est un. 101 00:05:17,370 --> 00:05:20,680 >> Et les gens parler de la façon, pour Ainsi, les sciences humaines ne sont pas vraiment 102 00:05:20,680 --> 00:05:23,900 rattrapage ou ne sont pas aussi en vogue comme ils l'étaient autrefois. 103 00:05:23,900 --> 00:05:26,680 Et je voudrais vous encourager les gars, beaucoup comme Jonathan a fait le lundi, de penser 104 00:05:26,680 --> 00:05:29,900 sur que vous sortez de 50 ans, et nous savons déjà environ 50% d'entre vous ne sera pas 105 00:05:29,900 --> 00:05:32,480 continuer à prendre un autre ordinateur cours de sciences, et c'est tout à fait 106 00:05:32,480 --> 00:05:33,770 fine et attendu. 107 00:05:33,770 --> 00:05:36,620 Parce que l'un des objectifs primordiaux d'une classe de ce genre est vraiment 108 00:05:36,620 --> 00:05:39,790 responsabiliser les gars avec juste un comprendre comment tous ces trucs 109 00:05:39,790 --> 00:05:41,760 fonctionne et comment ce monde de fonctionnement de la technologie. 110 00:05:41,760 --> 00:05:45,400 >> De sorte que lorsque vous êtes de retour dans votre propre mondes, que ce soit en pré-médecine ou 111 00:05:45,400 --> 00:05:48,270 que ce soit les sciences humaines ou les sciences sociales ou autre domaine 112 00:05:48,270 --> 00:05:51,830 tout à fait, que vous les gars apportent certains savoir-faire technique à la table et 113 00:05:51,830 --> 00:05:54,770 aidant à prendre des décisions éclairées lorsque il s'agit de l'utilisation et 114 00:05:54,770 --> 00:05:57,530 introduction de la technologie dans votre monde. 115 00:05:57,530 --> 00:06:00,410 >> Par exemple, je me suis souvenu de la fin trop de deux de premier cycle 116 00:06:00,410 --> 00:06:04,410 les classes que j'ai pris il ya deux ans, qui étaient ces utilisations simples de la technologie 117 00:06:04,410 --> 00:06:06,180 mais jamais de manière convaincante. 118 00:06:06,180 --> 00:06:08,845 Premières nuits avec le professeur Tom Kelly si vous avez pris la classe. 119 00:06:08,845 --> 00:06:11,640 C'est une classe de musique classique ce stade là où vous en apprendrez 120 00:06:11,640 --> 00:06:13,190 petit quelque chose sur la musique. 121 00:06:13,190 --> 00:06:17,770 Il s'agit en fait Premières nuits qui CS50 emprunté l'idée de pistes pour ceux 122 00:06:17,770 --> 00:06:20,630 moins à l'aise entre et plus confortable. 123 00:06:20,630 --> 00:06:24,410 >> À mon époque, ils avaient différentes pistes pour les enfants avec absolument aucune musique 124 00:06:24,410 --> 00:06:27,300 expérience comme moi, et puis les enfants qui avaient été performants depuis qu'ils étaient 125 00:06:27,300 --> 00:06:28,240 de cinq ans. 126 00:06:28,240 --> 00:06:31,200 Et cette classe, par exemple, vient d'avoir un site web comme la plupart des autres, mais il 127 00:06:31,200 --> 00:06:34,210 est un site qui vous a permis de explorer la musique sur elle et lire 128 00:06:34,210 --> 00:06:39,120 clips musicaux de classe, sur le Web, et il suffit d'utiliser la technologie dans un très 129 00:06:39,120 --> 00:06:40,210 façon transparente. 130 00:06:40,210 --> 00:06:44,460 >> Encore ans de classe plus tard que j'ai vérifié, essentiellement, à l'école de diplômé, 131 00:06:44,460 --> 00:06:47,430 Anthro 1010, Présentation à l'archéologie ici. 132 00:06:47,430 --> 00:06:48,190 C'était incroyable. 133 00:06:48,190 --> 00:06:52,715 Et l'un des plus convaincants pour l'instant Super évident, avec le recul, les utilisations de 134 00:06:52,715 --> 00:06:56,000 logiciel était que les professeurs cette classe utilisé Google Earth. 135 00:06:56,000 --> 00:06:58,250 Nous étions assis dans la rue dans certains salle de conférence. 136 00:06:58,250 --> 00:07:01,240 Et vous ne pouvez pas voyager, par exemple, au Moyen-Orient à la fouille que l'on 137 00:07:01,240 --> 00:07:04,530 des professeurs venaient de revenir sur, mais nous pourrions le faire virtuellement par 138 00:07:04,530 --> 00:07:07,870 voler autour dans Google Earth et en regardant la vue de l'oeil d'un oiseau à l' 139 00:07:07,870 --> 00:07:10,360 creuser place qu'il venait de rentrer d'il ya une semaine. 140 00:07:10,360 --> 00:07:12,630 >> J'encourage donc les gars, en particulier dans les sciences humaines, pour aller 141 00:07:12,630 --> 00:07:16,260 revenir à ces services après cette classe apportant vos projets finaux 142 00:07:16,260 --> 00:07:19,960 avec vous ou vos propres idées, et voir tout ce que vous pouvez faire pour infuser votre 143 00:07:19,960 --> 00:07:23,570 propres champs en sciences humaines ou au-delà avec un peu de ce genre de 144 00:07:23,570 --> 00:07:26,770 chose que nous avons exploré ici en CS50. 145 00:07:26,770 --> 00:07:31,790 >> Donc, avec ce tableau peint, pensait nous pourrions essayer de s'attaquer à deux choses aujourd'hui. 146 00:07:31,790 --> 00:07:35,040 Premièrement, essayer de vous donner une idée de où vous pouvez aller après 50 ans. 147 00:07:35,040 --> 00:07:37,950 Et en particulier, si vous choisissez d' s'attaquer à un projet basé sur le Web comme c'est 148 00:07:37,950 --> 00:07:42,580 incroyablement commun, comment vous pouvez aller de prendre la totalité de CS50 de 149 00:07:42,580 --> 00:07:45,810 roues de formation et d'aller là-bas sur votre propre et ne pas avoir à compter sur une 150 00:07:45,810 --> 00:07:48,000 PDF ou une spécification d'un ensemble de processeurs? 151 00:07:48,000 --> 00:07:50,510 Ne pas avoir à compter sur une CS50 plus appareil. 152 00:07:50,510 --> 00:07:52,780 Mais peut vraiment tirer vous-même par les lacets. 153 00:07:52,780 --> 00:07:55,790 >> Cela dit, C-fondé finale projets sont les bienvenus. 154 00:07:55,790 --> 00:07:58,020 Choses qui utilisent le stand pour une bibliothèque portable dans 155 00:07:58,020 --> 00:07:59,510 graphiques sont les bienvenus. 156 00:07:59,510 --> 00:08:03,240 Nous savons juste que statistiquement beaucoup d' les gens mordent projets en PHP et 157 00:08:03,240 --> 00:08:07,860 Python et Ruby et MySQL et d'autres environnements, donc nous allons biais d' 158 00:08:07,860 --> 00:08:09,570 nos remarques en ce sens. 159 00:08:09,570 --> 00:08:10,650 >> Mais un rapide retour. 160 00:08:10,650 --> 00:08:15,940 Donc nous avons pris pour acquis dans le pset7 fait que $ _SESSION existé. 161 00:08:15,940 --> 00:08:19,400 Ce fut une superbe global, une approche globale, tableau associatif. 162 00:08:19,400 --> 00:08:23,040 Et qu'est-ce que vous laisser faire? 163 00:08:23,040 --> 00:08:27,130 Fonctionnellement, ce qui est le disposent cela nous donne? 164 00:08:27,130 --> 00:08:28,590 Ouais? 165 00:08:28,590 --> 00:08:30,270 Pour suivre l'ID de l'utilisateur. 166 00:08:30,270 --> 00:08:31,660 Et pourquoi est-ce utile? 167 00:08:31,660 --> 00:08:36,059 Pour être en mesure de stocker à l'intérieur de ce super JHarvard mondiale ou [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 ou l'ID utilisateur de Malan quand il ou elle visite un site. 169 00:08:41,880 --> 00:08:42,380 >> Exactement. 170 00:08:42,380 --> 00:08:44,049 Donc, vous n'avez pas à vous identifier en encore et encore. 171 00:08:44,049 --> 00:08:47,170 Ce serait un monde vraiment boiteux wide web si à chaque fois que vous avez cliqué sur un lien 172 00:08:47,170 --> 00:08:50,780 sur un site comme Facebook ou chaque fois vous avez cliqué sur un courriel dans Gmail vous 173 00:08:50,780 --> 00:08:54,060 a dû ré-authentifier pour prouver que c'est encore vous et pas votre colocataire 174 00:08:54,060 --> 00:08:56,700 qui aurait pu marcher jusqu'à votre ordinateur en votre absence. 175 00:08:56,700 --> 00:08:59,640 >> Nous utilisons donc à juste SESSION rappeler qui vous êtes. 176 00:08:59,640 --> 00:09:01,830 Et comment est-ce en œuvre sous le capot? 177 00:09:01,830 --> 00:09:07,720 Comment un site Web qui utilise l' protocole que les navigateurs Web et les serveurs 178 00:09:07,720 --> 00:09:12,060 parler, comment fait HTTP, qui est un protocole sans état, disons. 179 00:09:12,060 --> 00:09:15,510 >> Et par apatride Je veux dire, une fois que vous se connecter à un site Web, télécharger des 180 00:09:15,510 --> 00:09:19,650 HTMLs, un peu de JavaScript, un peu de CSS, votre l'icône du navigateur s'arrête de tourner. 181 00:09:19,650 --> 00:09:23,420 Vous n'avez pas une connexion permanente au serveur typiquement. 182 00:09:23,420 --> 00:09:24,170 C'est tout. 183 00:09:24,170 --> 00:09:26,290 Il n'y a pas état maintenu constamment. 184 00:09:26,290 --> 00:09:30,510 Alors, comment est SESSION transposée dans l' d'une manière que chaque fois que vous visitez un 185 00:09:30,510 --> 00:09:32,860 nouvelle page, le site se souvient qui vous êtes? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Quelle est la mise en œuvre sous-jacente détail? 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 C'est un mot. 191 00:09:43,270 --> 00:09:43,640 >> Cookies. 192 00:09:43,640 --> 00:09:44,190 Très bien. 193 00:09:44,190 --> 00:09:44,800 Donc cookies. 194 00:09:44,800 --> 00:09:45,900 Eh bien, comment sont utilisés les cookies? 195 00:09:45,900 --> 00:09:48,870 Nous rappelons qu'un cookie est généralement juste un morceau de l'information. 196 00:09:48,870 --> 00:09:51,590 Et c'est souvent un grand hasard nombre, mais pas toujours. 197 00:09:51,590 --> 00:09:55,420 Et un cookie est planté sur votre disque dur ou dans la mémoire vive de votre ordinateur afin 198 00:09:55,420 --> 00:09:59,070 que chaque fois que vous revenez sur cette même site, votre navigateur rappelle le 199 00:09:59,070 --> 00:10:01,650 serveur, je suis utilisateur 1234567. 200 00:10:01,650 --> 00:10:03,570 Je suis utilisateur 1234567. 201 00:10:03,570 --> 00:10:07,590 >> Et tant que le serveur s'est souvenu que l'utilisateur est 1234567 202 00:10:07,590 --> 00:10:11,300 JHarvard, le site sera simplement supposer que vous êtes qui vous dites que vous êtes. 203 00:10:11,300 --> 00:10:14,230 Et rappelons que nous présentons ces cookies sorte de sous la forme d'une 204 00:10:14,230 --> 00:10:15,510 Support de main virtuelle. 205 00:10:15,510 --> 00:10:20,530 Il est envoyé dans les en-têtes HTTP seulement rappeler le serveur que vous êtes qui il 206 00:10:20,530 --> 00:10:21,620 pense que vous êtes. 207 00:10:21,620 --> 00:10:23,320 >> Bien sûr, il ya une menace. 208 00:10:23,320 --> 00:10:27,530 Quelle menace que cela nous ouvrir à si nous sommes essentiellement en utilisant une sorte de club de 209 00:10:27,530 --> 00:10:30,110 ou un mécanisme de parc d'attractions pour se rappeler qui nous sommes? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Si vous copiez le cookie de quelqu'un et de détourner leur session, pour ainsi dire, vous 212 00:10:36,170 --> 00:10:39,670 peut faire semblant d'être quelqu'un d'autre et l' site web le plus probable va juste 213 00:10:39,670 --> 00:10:40,150 vous croire. 214 00:10:40,150 --> 00:10:41,030 Donc, nous allons revenir là-dessus. 215 00:10:41,030 --> 00:10:44,240 Parce que l'autre thème d'aujourd'hui au-delà autonomisation parle aussi 216 00:10:44,240 --> 00:10:48,170 sur le monde très effrayant dans lequel nous vivons et combien de ce que vous faites sur 217 00:10:48,170 --> 00:10:51,480 le web, combien de ce que vous faites encore sur vos téléphones cellulaires d'aujourd'hui peut être 218 00:10:51,480 --> 00:10:55,170 suivis par quiconque vraiment entre vous et le point B. 219 00:10:55,170 --> 00:10:56,240 >> Et Ajax, rappel. 220 00:10:56,240 --> 00:10:58,740 Nous avons examiné brièvement à cela, même si vous avez utilisé le 221 00:10:58,740 --> 00:11:02,660 indirectement dans pset8 parce que vous utilisez Google Maps et parce que vous êtes 222 00:11:02,660 --> 00:11:03,830 en utilisant Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps et Google Earth ne sont pas télécharger le monde entier à votre 224 00:11:07,780 --> 00:11:10,490 bureau, évidemment, le Dès que vous chargez pset8. 225 00:11:10,490 --> 00:11:15,020 Il ne télécharge un carré du monde ou un plus grand carré de la terre. 226 00:11:15,020 --> 00:11:18,910 Et puis à chaque fois que vous sorte de diriger hors de portée vous remarquerez peut-être - 227 00:11:18,910 --> 00:11:21,790 surtout si sur une connexion lente - vous pourrait voir un peu de gris pour un moment 228 00:11:21,790 --> 00:11:26,440 ou un peu des images floues comme le téléchargement sur ordinateur plus de ces tuiles, 229 00:11:26,440 --> 00:11:29,190 plus de telles images à partir de la monde ou la terre. 230 00:11:29,190 --> 00:11:34,620 >> Et Ajax est généralement la technique par quels sites le font. 231 00:11:34,620 --> 00:11:39,250 Une fois que vous avez besoin de plus de la carte, votre navigateur va utiliser Ajax, qui est 232 00:11:39,250 --> 00:11:42,240 pas lui-même un langage ou de la technologie, c'est juste une technique. 233 00:11:42,240 --> 00:11:47,390 C'est l'utilisation de JavaScript pour aller chercher Plus d'informations à partir d'un serveur 234 00:11:47,390 --> 00:11:52,320 permet à votre navigateur d'aller chercher ce qu'il ya à l'est ou ce qui est à l'ouest du 235 00:11:52,320 --> 00:11:55,110 ce qui est contraire actuellement étant représenté par le fait que la carte. 236 00:11:55,110 --> 00:11:58,520 Donc, c'est un sujet que beaucoup d'entre vous rencontreront directement ou 237 00:11:58,520 --> 00:12:01,180 indirectement par l'intermédiaire de projets de fin si vous choisir de faire quelque chose qui est 238 00:12:01,180 --> 00:12:05,020 Les données tirant de même dynamique que à partir de certains sites Web de tiers. 239 00:12:05,020 --> 00:12:07,390 >> Donc, nous avons une très excitant mercredi prochain à venir. 240 00:12:07,390 --> 00:12:12,280 Une quiz, les informations pour lesquelles est en CS50.net déjà. 241 00:12:12,280 --> 00:12:17,530 Sachez qu'il y aura une session d'examen ce lundi à 5h30. 242 00:12:17,530 --> 00:12:21,010 La date et l'heure sont déjà affichés sur CS50.net à propos de cette feuille. 243 00:12:21,010 --> 00:12:22,940 Et ne laissez-nous vous savons avez des questions. 244 00:12:22,940 --> 00:12:25,230 Pset8 quant à lui est déjà dans vos mains. 245 00:12:25,230 --> 00:12:29,210 >> Et permettez-moi de m'adresser une FAQ pour sauver les gens un peu de stress. 246 00:12:29,210 --> 00:12:32,530 Pour la plupart, beaucoup de bavardage nous voyons aux heures de bureau et beaucoup d' 247 00:12:32,530 --> 00:12:36,950 les bugs que nous voyons sur rapportions discussion sont en effet bugs dans le code d'un étudiant. 248 00:12:36,950 --> 00:12:41,360 Mais quand vous avez rencontré quelque chose comme le Google Earth plug-in s'écraser 249 00:12:41,360 --> 00:12:44,310 ou même pas de travail et que vous êtes confiant ce n'est pas toi, ce n'est pas un 250 00:12:44,310 --> 00:12:48,530 [? chamad] question?, ce n'est pas une bug vous introduit dans l' 251 00:12:48,530 --> 00:12:49,820 code de répartition. 252 00:12:49,820 --> 00:12:51,250 >> Sachez juste FYI - 253 00:12:51,250 --> 00:12:53,130 c'est une sorte de plan de Z - 254 00:12:53,130 --> 00:12:57,100 que la dernière fois que nous avons utilisé ce problème fixons et nous avons couru dans similaire 255 00:12:57,100 --> 00:13:01,520 questions, il ya une ligne de code dans service.js C'est essentiellement ce, 256 00:13:01,520 --> 00:13:03,580 qui dit, tourner sur les bâtiments. 257 00:13:03,580 --> 00:13:07,100 Et ils travaillent autour de la dernière fois que nous a fait dans, encore, des cas de coin où 258 00:13:07,100 --> 00:13:11,660 les étudiants ne pouvaient tout simplement pas obtenir la reprise chose à travailler est de changer true à false 259 00:13:11,660 --> 00:13:12,940 en ce qu 'une ligne de code. 260 00:13:12,940 --> 00:13:15,520 Et vous verrez si vous recherchez par service.js. 261 00:13:15,520 --> 00:13:19,990 >> Je ne recommanderais pas ce que vous voulez créer le paysage plus aride 262 00:13:19,990 --> 00:13:21,720 de Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Ce sera littéralement aplatir votre monde de sorte que vous ne voyez que l'enseignement 264 00:13:24,930 --> 00:13:28,610 boursiers et des assistants de cours sur l'horizon et pas de bâtiments. 265 00:13:28,610 --> 00:13:31,980 Mais réaliser pour une raison quelconque l' Google Earth plug-in semble toujours être 266 00:13:31,980 --> 00:13:35,290 Buggy un an plus tard, cette pourrait être votre coup sûr sauver. 267 00:13:35,290 --> 00:13:38,915 Ainsi, plutôt que d'avoir recours aux larmes, station à transformer les bâtiments au loin si vous savez 268 00:13:38,915 --> 00:13:41,980 c'est le plug-in qui n'est pas coopérant sur votre Mac ou PC. 269 00:13:41,980 --> 00:13:46,060 Mais, c'est encore dernier recours si vous êtes sûr que ce n'est pas un bug. 270 00:13:46,060 --> 00:13:46,890 >> Ainsi, le Hackathon. 271 00:13:46,890 --> 00:13:48,950 A quelques teasers juste pour vous excité. 272 00:13:48,950 --> 00:13:50,640 Nous avons eu pas mal de RSVP. 273 00:13:50,640 --> 00:13:54,230 Et juste pour brosser un tableau de ce que attend, j'ai pensé vous donner quelques 274 00:13:54,230 --> 00:13:56,858 secondes rappellent de cette imagerie de l'année dernière. 275 00:13:56,858 --> 00:14:00,850 >> [MUSIQUE] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. Malan: Attendez, oh. 277 00:14:02,240 --> 00:14:05,410 Nous avons même nos littérales CS50 navettes. 278 00:14:05,410 --> 00:14:17,920 >> [MUSIQUE] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. Malan: Voilà ce qui attend vous en termes de Hackathon. 280 00:14:20,620 --> 00:14:24,180 Et ce sera l'occasion, pour être clair, ne pas commencer votre finale 281 00:14:24,180 --> 00:14:27,730 projets, mais de continuer à travailler sur vos projets définitifs aux côtés 282 00:14:27,730 --> 00:14:30,210 camarades de classe et le personnel et beaucoup de nourriture. 283 00:14:30,210 --> 00:14:34,340 Et encore une fois, si vous êtes réveillé à 5h00 nous allons vous emmener sur le chemin de IHOP. 284 00:14:34,340 --> 00:14:37,075 >> La juste CS50, quant à lui, est le point culminant pour l'ensemble de la classe où 285 00:14:37,075 --> 00:14:41,160 vous allez apporter vos ordinateurs portables et les amis, peut-être même famille dans une chambre sur le campus 286 00:14:41,160 --> 00:14:44,530 dans la rue pour exposer vos projets sur les ordinateurs portables, sur des tables hautes 287 00:14:44,530 --> 00:14:47,570 comme cela avec beaucoup de nourriture et amis et de la musique en arrière-plan, 288 00:14:47,570 --> 00:14:49,250 ainsi que nos amis de l'industrie. 289 00:14:49,250 --> 00:14:52,760 Des sociétés comme Facebook et Microsoft et Google et Amazon et grappes de 290 00:14:52,760 --> 00:14:55,750 les autres de sorte que si vous êtes intéressé à juste entendu parler du monde réel ou 291 00:14:55,750 --> 00:14:59,570 bavarder avec les gens au sujet du monde réel stage ou à plein les possibilités de temps, 292 00:14:59,570 --> 00:15:01,950 savoir que certains de nos amis de l'industrie sera là. 293 00:15:01,950 --> 00:15:04,970 Et quelques photos que nous pouvons peindre ici sont comme suit. 294 00:15:04,970 --> 00:15:24,400 >> [MUSIQUE] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. Malan: Très bien. 296 00:15:24,920 --> 00:15:27,060 Alors, qui est alors la juste CS50. 297 00:15:27,060 --> 00:15:31,780 Donc, nous allons maintenant procéder à raconter une histoire qui va vraiment vous donner les moyens espérons 298 00:15:31,780 --> 00:15:33,230 pour des choses comme les projets définitifs. 299 00:15:33,230 --> 00:15:36,940 Donc l'une des quelques petites choses à ensemencer votre esprit, que ce soit pour des projets finaux 300 00:15:36,940 --> 00:15:40,470 ou tout simplement plus généralement pour les projets qui vous pourriez décider de s'attaquer après 301 00:15:40,470 --> 00:15:45,720 cours, ce sont toutes documentées sur manual.cs50.net où le CS50 302 00:15:45,720 --> 00:15:48,010 manuel où nous avons beaucoup d' techniques documentées. 303 00:15:48,010 --> 00:15:51,080 >> Et ce n'est qu'un notation abrégée pour dire qu'il existe dans le 304 00:15:51,080 --> 00:15:55,190 choses du monde ont appelé SMS à envoyer passerelles, ce qui est une façon élégante de 305 00:15:55,190 --> 00:15:58,180 dire, il ya des serveurs dans le monde qui savent comment convertir des courriels à 306 00:15:58,180 --> 00:15:59,230 des messages texte. 307 00:15:59,230 --> 00:16:02,450 Donc, si votre projet final que vous voulez pour créer une sorte de thème mobiles 308 00:16:02,450 --> 00:16:06,650 service qui vous permet d'alerter amis ou les utilisateurs à des événements sur le campus 309 00:16:06,650 --> 00:16:10,290 ou ce qui est servi dans la salle D cette nuit-là ou une telle fonction d'alerte, 310 00:16:10,290 --> 00:16:15,150 savent que c'est simple que d'envoyer un e-mail avec laquelle vous PHPMailer 311 00:16:15,150 --> 00:16:18,735 aurait utilisé pour pset7 ou nous avons vu brièvement une semaine ou si il ya, à 312 00:16:18,735 --> 00:16:20,440 des adresses comme ceci. 313 00:16:20,440 --> 00:16:26,040 >> Et en fait, vous pouvez Texte cette hypothèse votre ami possède un SMS illimités 314 00:16:26,040 --> 00:16:28,310 plan et vous ne voulez pas de les charger 0,10 $. 315 00:16:28,310 --> 00:16:31,920 Mais si vous envoyez un courriel à votre ami qui vous savez pour avoir Verizon ou 316 00:16:31,920 --> 00:16:35,870 AT & T en utilisant Gmail et juste de l'envoyer à leur numéro de téléphone à tout le 317 00:16:35,870 --> 00:16:38,980 sous-domaine existe, vous vous rendez compte enverra un message texte. 318 00:16:38,980 --> 00:16:41,570 >> Mais c'est une de ces choses faire attention. 319 00:16:41,570 --> 00:16:47,430 Si vous pêchez à travers le CS50 de l'année dernière vidéos que je crois, un horribles, 320 00:16:47,430 --> 00:16:51,660 horrible, horrible bug que j'ai écrit dans le code fini par envoyer environ 20.000 texte 321 00:16:51,660 --> 00:16:55,410 messages en direct à nos élèves en classe. 322 00:16:55,410 --> 00:16:57,970 Et seulement parce que quelqu'un a remarqué que ils obtenaient texte multiple 323 00:16:57,970 --> 00:17:01,860 messages de moi je n'ai eu l' moyens de faire Control C rapidement 324 00:17:01,860 --> 00:17:03,210 et d'arrêter ce processus. 325 00:17:03,210 --> 00:17:06,200 Contrôle C, vous vous en souvenez, est votre ami en cas de boucle infinie. 326 00:17:06,200 --> 00:17:10,900 Alors méfiez-vous du pouvoir que nous venons de donner vous plutôt irresponsable, plus 327 00:17:10,900 --> 00:17:12,950 probable, basé sur ma propre expérience. 328 00:17:12,950 --> 00:17:15,400 Mais c'est sur le web et a là depuis un certain temps. 329 00:17:15,400 --> 00:17:15,810 >> Très bien. 330 00:17:15,810 --> 00:17:17,064 Alors textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Il s'agit donc d'un site web. 332 00:17:18,040 --> 00:17:20,829 Et il ya d'autres grappes de là-bas ainsi que nous avons réellement utilisé 333 00:17:20,829 --> 00:17:24,050 comme une classe depuis des années de pouvoir à recevoir des messages texte. 334 00:17:24,050 --> 00:17:27,869 Malheureusement, l'envoi de SMS est facile que l'envoi de courriels de ce genre. 335 00:17:27,869 --> 00:17:30,730 Recevoir est un peu plus difficile, en particulier si vous voulez avoir un 336 00:17:30,730 --> 00:17:34,610 ces petits codes sexy que c'est seulement cinq ou six chiffres. 337 00:17:34,610 --> 00:17:37,720 >> Ainsi, par exemple, pendant des années vous avez été capable d'envoyer un message texte - et vous 338 00:17:37,720 --> 00:17:39,200 peut essayer aussi - 339 00:17:39,200 --> 00:17:41,900 à 41411. 340 00:17:41,900 --> 00:17:44,300 Et c'est le numéro de téléphone cette mise en service particulier. 341 00:17:44,300 --> 00:17:48,130 Et si vous envoyez un message à 41411 - 342 00:17:48,130 --> 00:17:51,190 Je vais l'écrire ici, donc 41411 - 343 00:17:51,190 --> 00:17:54,290 et puis les envoyer un message comme SBOY pour Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 Et puis taper dans quelque chose comme Mather quad. 345 00:17:56,370 --> 00:17:59,360 Alors que vous envoyez un message texte à ce numéro de téléphone. 346 00:17:59,360 --> 00:18:02,630 En quelques secondes, vous devriez revenir une réponse de la navette CS50 347 00:18:02,630 --> 00:18:06,210 service de sang, qui est la navette logiciel de planification que nous avons eu sur 348 00:18:06,210 --> 00:18:07,290 là sur le web depuis un certain temps. 349 00:18:07,290 --> 00:18:09,450 Et il répondra aux vous par message texte. 350 00:18:09,450 --> 00:18:13,410 >> Parce que ce que nous avons fait en tant que classe, comme un programmeur, est d'écrire un logiciel, 351 00:18:13,410 --> 00:18:18,760 configuré notre compte gratuit avec le texte marques pour écouter les messages texte envoyés 352 00:18:18,760 --> 00:18:20,770 à SBOY à ce numéro. 353 00:18:20,770 --> 00:18:25,210 Et qu'est-ce qu'ils font, c'est avant ceux texte messages de notre site Web basé sur PHP comme 354 00:18:25,210 --> 00:18:27,420 Paramètres HTTP dire, ici. 355 00:18:27,420 --> 00:18:30,380 Cet utilisateur avec ce numéro de téléphone vous envoyé ce message. 356 00:18:30,380 --> 00:18:31,850 Faites-en ce que vous voulez. 357 00:18:31,850 --> 00:18:35,180 >> Nous avons donc écrit un logiciel qui sur réception d'une chaîne comme SBOY Mather 358 00:18:35,180 --> 00:18:38,420 quad, nous analyser. 359 00:18:38,420 --> 00:18:41,210 Nous avons de savoir où les espaces sont compris entre les mots. 360 00:18:41,210 --> 00:18:44,220 Et nous en tant que classe décidons comment répondre à cette question. 361 00:18:44,220 --> 00:18:47,335 Et si vous essayez que maintenant, par exemple, vous devriez voir, par la suite dans un 362 00:18:47,335 --> 00:18:51,470 quelques secondes, les prochaines navettes aller de Mather pour le quad le cas échéant. 363 00:18:51,470 --> 00:18:52,260 Et il ya d'autres arrêts. 364 00:18:52,260 --> 00:18:56,060 Vous pouvez taper Boylston ou autre s'arrête sur le campus, et il devrait 365 00:18:56,060 --> 00:18:57,760 reconnaître les mots. 366 00:18:57,760 --> 00:18:58,590 >> Alors parse.com. 367 00:18:58,590 --> 00:19:01,630 Il s'agit d'un autre service que nous avons été pointant certains élèves à des 368 00:19:01,630 --> 00:19:04,390 projets finaux c'est merveilleux en ce sens qu'il est gratuit pour un 369 00:19:04,390 --> 00:19:05,660 montant raisonnable de l'utilisation. 370 00:19:05,660 --> 00:19:08,820 Et si je vais à parse.com vous verrez qu'il s'agit d'une alternative à l' 371 00:19:08,820 --> 00:19:13,230 avoir fait quelque chose comme votre propre base de données MySQL. 372 00:19:13,230 --> 00:19:14,490 Et franchement, c'est juste sorte de fascinant. 373 00:19:14,490 --> 00:19:17,450 C'est ce qui est à l'intérieur de l' obscurcir même par temps nuageux. 374 00:19:17,450 --> 00:19:21,580 >> Alors parse.com vous permet de faire un tas de choses intéressantes. 375 00:19:21,580 --> 00:19:23,610 Et il ya d'autres alternatives à ce là-bas. 376 00:19:23,610 --> 00:19:26,870 Par exemple, vous pouvez utiliser comme base de données back-end. 377 00:19:26,870 --> 00:19:28,980 Donc, vous n'avez pas besoin d'avoir une société d'hébergement Web. 378 00:19:28,980 --> 00:19:31,180 Vous n'avez pas besoin d'avoir une base de données MySQL. 379 00:19:31,180 --> 00:19:32,850 Vous pouvez plutôt utiliser leur extrémité arrière. 380 00:19:32,850 --> 00:19:36,350 >> Si vous faites un projet mobile Android ou iOS ou autre, savent que 381 00:19:36,350 --> 00:19:39,776 il existe des choses comme les services poussoirs de sorte que vous pouvez pousser alertes à vos amis 382 00:19:39,776 --> 00:19:41,390 ou les écrans d'accueil de vos utilisateurs. 383 00:19:41,390 --> 00:19:43,600 Et puis un tas d'autres caractéristiques ainsi. 384 00:19:43,600 --> 00:19:47,200 >> Donc, si vous avez l'intérêt, vérifier ces sites Web et des sites Web comme eux 385 00:19:47,200 --> 00:19:50,720 à juste voir combien d'autres peuples » épaules Vous pouvez vous tenir à faire 386 00:19:50,720 --> 00:19:53,350 logiciel vraiment cool de votre choix. 387 00:19:53,350 --> 00:19:56,690 >> Maintenant, en termes d'authentification, une FAQ, est de savoir comment vous avez réellement garantissez 388 00:19:56,690 --> 00:20:01,220 que les utilisateurs sont les personnes sur le campus, Étudiants de Harvard ou enseignants ou d'employés? 389 00:20:01,220 --> 00:20:05,350 Alors CS50 a son propre système d'authentification service appelé CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Aller à cette URL et vous pouvez restreindre votre site Web à quiconque avec une Harvard 391 00:20:09,940 --> 00:20:11,340 Identification, par exemple. 392 00:20:11,340 --> 00:20:12,550 Savons donc que nous pouvons gérer cela. 393 00:20:12,550 --> 00:20:15,280 Les gars, vous ne devriez pas être dans l'entreprise de dire, quel est votre ID Harvard? 394 00:20:15,280 --> 00:20:16,160 Quel est votre code PIN Harvard? 395 00:20:16,160 --> 00:20:17,550 Permettez-moi de faire maintenant quelque chose avec elle. 396 00:20:17,550 --> 00:20:18,740 Nous ferons tout cela. 397 00:20:18,740 --> 00:20:21,710 Et ce que nous allons vous donner est de retour le nom de quelqu'un et l'adresse de courriel, mais 398 00:20:21,710 --> 00:20:23,010 rien sensible. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> Une application sur un appareil mobile, il peut être fait de travailler sur un appareil mobile, mais 401 00:20:30,380 --> 00:20:32,630 Ce n'est pas vraiment conçu pour cela. 402 00:20:32,630 --> 00:20:35,640 Donc, vous finirez par passer non trivial temps de le faire. 403 00:20:35,640 --> 00:20:38,040 Je voudrais donc décourager cette voie pour l'instant. 404 00:20:38,040 --> 00:20:41,570 Ceci est vraiment destiné à applications basées sur le Web. 405 00:20:41,570 --> 00:20:42,650 >> Ainsi, l'hébergement web. 406 00:20:42,650 --> 00:20:44,450 Donc, si vous n'avez pas vu le page d'accueil du cours - 407 00:20:44,450 --> 00:20:46,610 et voici où nous allons commencer une histoire - 408 00:20:46,610 --> 00:20:50,900 hébergement web est tout au sujet du paiement habituellement un service, héberger un serveur appartenant 409 00:20:50,900 --> 00:20:54,800 par quelqu'un d'autre sur le web qui a une Adresse IP, puis que vous mettez votre 410 00:20:54,800 --> 00:20:55,880 site sur elle. 411 00:20:55,880 --> 00:20:58,620 Et ils te donnent habituellement email comptes et bases de données 412 00:20:58,620 --> 00:21:00,160 et d'autres fonctions. 413 00:21:00,160 --> 00:21:02,930 >> Sachez que si vous ne voulez pas en fait payer pour tel, aller à cette URL 414 00:21:02,930 --> 00:21:06,280 il CS50 et a fait un sans but lucratif compte du fait que vous pouvez utiliser pour 415 00:21:06,280 --> 00:21:11,490 en fait n'ont pas http://projet à l'intérieur de l'appareil, 416 00:21:11,490 --> 00:21:12,470 pour votre projet final. 417 00:21:12,470 --> 00:21:16,465 Si vous voulez vraiment que ce soit quelque chose comme, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 vous pouvez acheter ce nom de domaine - bien que pas un particulier - et 419 00:21:19,730 --> 00:21:24,070 alors vous pouvez aller sur l'héberger sur un serveur Web public, comme nous pouvons offrir 420 00:21:24,070 --> 00:21:25,170 vous les gars par ici. 421 00:21:25,170 --> 00:21:27,240 >> Et en fait, si familier, Si vous n'avez jamais été à 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, un, allez-y. 423 00:21:30,590 --> 00:21:37,310 Mais deux, savent que c'était un jeune Le nom de la femme par Tej Pour Toor Trop deux 424 00:21:37,310 --> 00:21:41,550 il ya des années, il ya trois ans, qui était un CS50 anciens qui se sont produits un jour ou deux 425 00:21:41,550 --> 00:21:46,280 avant la foire CS50 envoyé un e-mail à sa liste de diffusion de la maison et le tour est joué. 426 00:21:46,280 --> 00:21:49,770 Deux jours plus tard par la juste CS50, elle avait des centaines d'utilisateurs tout rampant sur 427 00:21:49,770 --> 00:21:53,240 l'autre sur son site Web et dire comment ils avaient vu 428 00:21:53,240 --> 00:21:55,250 elle ou lui sur le campus. 429 00:21:55,250 --> 00:21:57,600 C'est donc l'un des favoris du CS50 histoires de réussite 430 00:21:57,600 --> 00:21:59,650 un projet final CS50. 431 00:21:59,650 --> 00:22:04,090 >> Alors, comment allez-vous mettre un site Web comme ça sur internet? 432 00:22:04,090 --> 00:22:07,140 Eh bien, il ya un peu de ces ingrédients ici. 433 00:22:07,140 --> 00:22:09,310 Donc un, vous devez acheter un nom de domaine. 434 00:22:09,310 --> 00:22:12,440 Il ya des grappes de places dans le monde à partir de laquelle vous pouvez 435 00:22:12,440 --> 00:22:13,940 acheter un nom de domaine. 436 00:22:13,940 --> 00:22:16,660 Et par exemple, que nous recommandons seulement parce que c'est populaire 437 00:22:16,660 --> 00:22:18,855 et c'est pas cher est appelé namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Mais vous pouvez aller godaddy.com et des dizaines d'autres là-bas. 439 00:22:22,860 --> 00:22:24,420 Vous pouvez lire sur avis. 440 00:22:24,420 --> 00:22:26,250 >> Mais pour la plupart, il ne importe de qui vous 441 00:22:26,250 --> 00:22:27,720 acheter un nom de domaine. 442 00:22:27,720 --> 00:22:30,780 Et ils varient en prix et ils varient en suffixe. 443 00:22:30,780 --> 00:22:37,140 Les suffixes comme. Com,. Net, . Org,. Io,. Tv, ceux 444 00:22:37,140 --> 00:22:38,650 fait varier dans le prix. 445 00:22:38,650 --> 00:22:43,630 Mais si nous voulions faire quelque chose comme cats.com nous pouvons aller sur ce site, 446 00:22:43,630 --> 00:22:44,280 cliquez sur Rechercher. 447 00:22:44,280 --> 00:22:46,370 On peut supposer que celui-ci ne soit prise. 448 00:22:46,370 --> 00:22:50,170 Mais apparemment, catsagainst.com est disponible. 449 00:22:50,170 --> 00:22:52,100 pluscats.com est disponible. 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 Tout cela je l'espère pseudo généré de façon aléatoire. 453 00:22:59,135 --> 00:23:04,670 Si vous voulez cats.pw, 1500 $ seulement, ce qui est un peu fou. 454 00:23:04,670 --> 00:23:08,100 Donc, quelqu'un a vraiment happé tout les noms de domaine liés à des chats ici pour 455 00:23:08,100 --> 00:23:09,840 des prix variables. 456 00:23:09,840 --> 00:23:12,360 >> Soit dit en passant, nous allons voir. 457 00:23:12,360 --> 00:23:13,710 Qui a cats.com? 458 00:23:13,710 --> 00:23:16,290 Sachez que vous les gars ont à votre disposition assez 459 00:23:16,290 --> 00:23:17,540 commandes sophistiquées maintenant. 460 00:23:17,540 --> 00:23:20,592 Comme je peux taper littéralement qui est cats.com? 461 00:23:20,592 --> 00:23:23,730 Et à cause de la façon dont l'Internet est structuré vous pouvez réellement voir qui 462 00:23:23,730 --> 00:23:25,440 a enregistré ce produit. 463 00:23:25,440 --> 00:23:30,240 Apparemment, cette personne est [inaudible] en utilisant un service de proxy. 464 00:23:30,240 --> 00:23:33,900 Donc, quiconque possède cats.com ne veut pas que le monde sache qui ils sont. 465 00:23:33,900 --> 00:23:36,610 Alors, ils ont enregistré si, par un service de confidentialité aléatoire. 466 00:23:36,610 --> 00:23:39,100 Mais parfois, vous avez réellement obtenir actuels propriétaires. 467 00:23:39,100 --> 00:23:41,420 >> Et c'est-à-dire, surtout si vous êtes poursuivre certaines démarrage et vous 468 00:23:41,420 --> 00:23:44,640 voulez vraiment un nom de domaine et que vous êtes prêts à payer quelqu'un d'autre pour 469 00:23:44,640 --> 00:23:48,050 , vous pouvez imaginer le contact l'information de cette façon. 470 00:23:48,050 --> 00:23:49,940 >> Mais aussi intéressant, c'est cela. 471 00:23:49,940 --> 00:23:53,380 Permettez-moi de remonter jusqu'à cette partie. 472 00:23:53,380 --> 00:23:55,330 Donc, c'est la même sortie. 473 00:23:55,330 --> 00:23:56,990 Et ce n'est qu'un collant. 474 00:23:56,990 --> 00:24:00,740 Donc apparemment cats.com peut être vôtre pour le bon prix. 475 00:24:00,740 --> 00:24:03,170 Mais ce qui est intéressant ici est que le nom des serveurs - 476 00:24:03,170 --> 00:24:06,040 c'est un abus total de ce qu'est un nom serveur est censé être - votre nom 477 00:24:06,040 --> 00:24:08,876 serveur n'est pas censé être thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Si nous choisissons effectivement quelque chose comme - 479 00:24:11,050 --> 00:24:15,181 Choisissons quelque chose d'un peu plus comme légitime, qui est google.com, 480 00:24:15,181 --> 00:24:17,030 et faites-vous ici. 481 00:24:17,030 --> 00:24:18,280 Donc, ici - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 ce qu'il s'est passé? 484 00:24:21,740 --> 00:24:22,480 Intéressant. 485 00:24:22,480 --> 00:24:25,290 Au-delà de qui est - 486 00:24:25,290 --> 00:24:26,610 gardons plus discret. 487 00:24:26,610 --> 00:24:28,370 >> Qui est mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Ceci est utile. 490 00:24:29,900 --> 00:24:31,400 Donc, c'est ce que j'espérais. 491 00:24:31,400 --> 00:24:33,930 Utilisation légitime du service DNS. 492 00:24:33,930 --> 00:24:36,750 Les serveurs de noms ici indiquent ce qui suit. 493 00:24:36,750 --> 00:24:40,880 C'est la façon de dire du MIT, chaque fois que quelqu'un dans le monde, partout où ils 494 00:24:40,880 --> 00:24:46,950 sont, types de mit.edu et frappe Entrez, votre ordinateur portable, que ce soit Mac ou PC, allez 495 00:24:46,950 --> 00:24:51,830 en quelque sorte finalement comprendre que l' personnes dans le monde qui savent ce que le 496 00:24:51,830 --> 00:24:58,130 Adresse IP est pour mit.edu ou tout du sous-domaines à mit.edu ou l'un des 497 00:24:58,130 --> 00:25:01,660 ces serveurs ici - et elle a effectivement ressemble à une infrastructure de MIT est 498 00:25:01,660 --> 00:25:03,370 assez robuste que vous attendez. 499 00:25:03,370 --> 00:25:07,050 Ils ont de multiples serveurs de noms ce qui est bon pour la redondance. 500 00:25:07,050 --> 00:25:09,840 Et en fait, ils semblent être globalement distribués à travers le monde. 501 00:25:09,840 --> 00:25:13,250 Un groupe de personnes semblent être aux États-Unis, un couple en Asie, un en Europe, deux 502 00:25:13,250 --> 00:25:14,540 dans un autre endroit. 503 00:25:14,540 --> 00:25:18,000 >> Mais l'important ici est que les DNS nous avons tenant pour acquis et 504 00:25:18,000 --> 00:25:21,990 généralement décrit comme un grand tableau Excel qui a des adresses IP et domaines 505 00:25:21,990 --> 00:25:25,890 nom est en fait assez sophistiqué Service hiérarchique de sorte que dans l' 506 00:25:25,890 --> 00:25:29,170 monde, il ya effectivement un nombre fini des serveurs qui connaissent essentiellement où 507 00:25:29,170 --> 00:25:32,880 tous les coms. sont ou tous les filets. sont, tous les 508 00:25:32,880 --> 00:25:34,650 . Org sont, et ainsi de suite. 509 00:25:34,650 --> 00:25:37,820 >> Ainsi, lorsque vous allez de l'avant et d'acheter un domaine nom d'un endroit comme Cheap ou 510 00:25:37,820 --> 00:25:41,450 Go Daddy ou tout autre site Web, l'un des les étapes clés que vous aurez à faire 511 00:25:41,450 --> 00:25:45,180 vous, si vous faites cela, même pour votre finale projet, est de dire le registraire 512 00:25:45,180 --> 00:25:49,020 de qui vous achetez le domaine nom, qui dans le monde connaît votre 513 00:25:49,020 --> 00:25:52,310 les adresses IP de sites Web, qui vos serveurs de noms sont. 514 00:25:52,310 --> 00:25:55,750 >> Donc, si vous utilisez, par exemple CS50 de compte d'hébergement - nous arrive d'avoir 515 00:25:55,750 --> 00:25:57,760 ce compte par dreamhost.com qui est un 516 00:25:57,760 --> 00:25:59,560 hébergement populaire Web de la société - 517 00:25:59,560 --> 00:26:03,530 ils vous diront que vous devriez acheter votre domaine et dire au monde que 518 00:26:03,530 --> 00:26:09,410 le serveur de noms de votre domaine est ns1.dreamhost.com, ns2.dreamhost.com, 519 00:26:09,410 --> 00:26:11,470 et ns3.dreamhost.com. 520 00:26:11,470 --> 00:26:12,600 >> Mais c'est tout. 521 00:26:12,600 --> 00:26:15,480 L'achat d'un nom de domaine signifie leur donner la propriété de l'argent et obtenir de l' 522 00:26:15,480 --> 00:26:17,190 domaine, mais c'est plus comme une location bien. 523 00:26:17,190 --> 00:26:20,060 Vous obtenez pendant un an et puis ils facture vous cycliquement pour le reste de 524 00:26:20,060 --> 00:26:22,130 votre vie jusqu'à ce que vous annulez le nom de domaine. 525 00:26:22,130 --> 00:26:24,510 Et puis vous leur dites qui les serveurs de noms sont. 526 00:26:24,510 --> 00:26:26,190 Mais alors, vous avez terminé avec votre registrar. 527 00:26:26,190 --> 00:26:30,130 Et à partir de là, vous interagissez avec seulement votre société d'hébergement Web, qui 528 00:26:30,130 --> 00:26:32,030 dans le cas de CS50 sera DreamHost. 529 00:26:32,030 --> 00:26:36,080 Mais encore une fois, plus de documentation sera fourni à vous si vous décidez d'aller 530 00:26:36,080 --> 00:26:37,170 cette voie. 531 00:26:37,170 --> 00:26:40,750 >> Donc, si vous faites cela après le cours de fin, web simplement googler hébergement 532 00:26:40,750 --> 00:26:42,830 société se retrouvera milliers d'options. 533 00:26:42,830 --> 00:26:45,720 Et je voudrais vous généralement à encourager demandez à vos amis qui pourraient avoir utilisé un 534 00:26:45,720 --> 00:26:49,350 entreprise avant si ils recommandent eux et a eu une bonne expérience. 535 00:26:49,350 --> 00:26:52,680 >> Parce qu'il ya beaucoup de fly by night Les sociétés d'hébergement Web, comme un gars dans 536 00:26:52,680 --> 00:26:55,220 son sous-sol avec un serveur qui a une adresse IP. 537 00:26:55,220 --> 00:26:58,980 Il a un peu de RAM supplémentaire et disque dur espace et vend de tout le Web hosting 538 00:26:58,980 --> 00:27:02,380 comptes, même si il n'ya aucun moyen que serveur peut gérer des centaines de 539 00:27:02,380 --> 00:27:04,050 des utilisateurs ou des milliers d'utilisateurs. 540 00:27:04,050 --> 00:27:06,260 Alors réalisez que vous obtiendrez ce que vous payez. 541 00:27:06,260 --> 00:27:09,510 >> Depuis un certain temps pour ma maison personnelle la page - et c'était tout à fait acceptable 542 00:27:09,510 --> 00:27:11,830 parce que j'avais, comme, deux visiteurs par mois - 543 00:27:11,830 --> 00:27:14,990 Je payais, comme, 2,95 $ par mois. 544 00:27:14,990 --> 00:27:17,230 Et je suis sûr que c'était dans la cave de quelqu'un. 545 00:27:17,230 --> 00:27:20,800 Mais encore une fois, vous n'avez pas nécessairement aucune garantie de disponibilité ou 546 00:27:20,800 --> 00:27:21,840 évolutivité. 547 00:27:21,840 --> 00:27:24,560 Encore une fois, vous êtes généralement à la recherche à quelque chose de plus que cela. 548 00:27:24,560 --> 00:27:26,220 >> Eh bien, que dire de SSL? 549 00:27:26,220 --> 00:27:27,690 Alors, qu'est-ce qui SSL utilisé? 550 00:27:27,690 --> 00:27:30,320 Nous allons maintenant commencer à orienter dans la directions de la sécurité et des choses qui 551 00:27:30,320 --> 00:27:32,330 peut nous faire du mal. 552 00:27:32,330 --> 00:27:36,890 Surtout que vous vous aventurez sur votre propre. 553 00:27:36,890 --> 00:27:41,650 >> Quoi de SSL, ou qu'est-ce qui SSL utilisé? 554 00:27:41,650 --> 00:27:42,660 Sécurité, OK. 555 00:27:42,660 --> 00:27:44,000 Donc, il est utilisé pour la sécurité. 556 00:27:44,000 --> 00:27:44,640 Qu'est-ce que ça veut dire? 557 00:27:44,640 --> 00:27:47,170 Donc, il va de Secure Sockets Layer. 558 00:27:47,170 --> 00:27:52,330 Et il est indiqué par une adresse URL qui commence par https://. 559 00:27:52,330 --> 00:27:58,410 Beaucoup d'entre nous n'ont probablement jamais tapé https://, mais vous trouverez souvent que 560 00:27:58,410 --> 00:28:03,000 votre navigateur est redirigé à partir de HTTP HTTPS afin que tout y est 561 00:28:03,000 --> 00:28:04,260 après crypté. 562 00:28:04,260 --> 00:28:10,810 >> Pour info, l'utilisation de SSL nécessite généralement que vous disposez d'une adresse IP unique. 563 00:28:10,810 --> 00:28:13,940 Et généralement d'obtenir une adresse IP unique vous devez payer un hébergement web 564 00:28:13,940 --> 00:28:15,850 entreprise quelques dollars de plus par mois. 565 00:28:15,850 --> 00:28:19,850 Donc réaliser ce qui est très facilement mis en place ces jours-ci par l'achat d'une IP 566 00:28:19,850 --> 00:28:22,930 adresse et en achetant ce qui est appelé un certificat SSL. 567 00:28:22,930 --> 00:28:26,520 Mais se rendre compte qu'il ne vient à un coût supplémentaire. 568 00:28:26,520 --> 00:28:30,880 Et, comme nous allons essayer de faire peur à tout un bit, il n'est même pas forcément 100% 569 00:28:30,880 --> 00:28:34,040 protecteur de quoi que ce soit vous essayez de protéger. 570 00:28:34,040 --> 00:28:38,620 >> Donc, pour la sécurité, je pensais que je faire une sorte de Segue aléatoire ici. 571 00:28:38,620 --> 00:28:42,820 Comme vous le savez peut-être à partir de la conférence de CS50 vidéos, notre équipe de production a été un 572 00:28:42,820 --> 00:28:46,770 fan que j'ai de prendre vraiment sympa photographie de campus et aérienne 573 00:28:46,770 --> 00:28:48,370 photographie plus récemment. 574 00:28:48,370 --> 00:28:51,450 Si jamais vous levez les yeux et vous voyez quelque chose de voler avec une petite caméra, 575 00:28:51,450 --> 00:28:53,410 il peut effectivement être CS50. 576 00:28:53,410 --> 00:28:55,830 Et j'ai juste pensé que je partagerais minute une partie de la séquence de l'équipe a 577 00:28:55,830 --> 00:28:59,450 a réuni, en particulier que nous cherchons à le semestre de printemps et à l'automne prochain. 578 00:28:59,450 --> 00:29:03,320 Si quelqu'un d'entre vous avez un talent pour photographie, vidéographie, nous serions 579 00:29:03,320 --> 00:29:05,570 l'amour pour vous impliquer dans les coulisses. 580 00:29:05,570 --> 00:29:07,595 Mais plus sur ces détails dans une semaine. 581 00:29:07,595 --> 00:29:18,560 >> [MUSIQUE] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. Malan: s'avère qu'il ya une parcours de golf miniature sur le dessus de 583 00:29:20,750 --> 00:29:22,754 le stade que nous ne connaissions. 584 00:29:22,754 --> 00:30:06,150 >> [MUSIQUE] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. Malan: Vous pouvez voir l' aperçu du drone là. 586 00:30:08,440 --> 00:30:24,160 >> [MUSIQUE] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. Malan: La meilleure partie ici est, regarder le jogger sur la gauche. 588 00:30:26,280 --> 00:30:52,900 >> [MUSIQUE] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. Malan: Un autre exemple de ce que vous pouvez le faire avec une technologie qui est 590 00:30:56,920 --> 00:30:58,900 qu'accessoirement, franchement, liés à la sécurité. 591 00:30:58,900 --> 00:31:01,710 Mais je pensais que ce serait un plus façon amusante de dire simplement, la sécurité. 592 00:31:01,710 --> 00:31:07,780 Donc, nous allons voir si nous ne pouvons pas vous effrayer gars maintenant avec non seulement un peu de quelques-uns 593 00:31:07,780 --> 00:31:10,590 menaces, mais aussi un sous-jacents compréhension de ce que ces menaces 594 00:31:10,590 --> 00:31:13,830 êtes donc que le déplacement vers l'avant, vous pouvez décider si et comment les défendre 595 00:31:13,830 --> 00:31:17,290 vous contre ces choses et à moins d'être conscient d'eux comme vous 596 00:31:17,290 --> 00:31:20,530 prendre des décisions quant à savoir si ou non envoyer cet e-mail, si oui ou non à se connecter 597 00:31:20,530 --> 00:31:24,920 dans ce site, s'il faut ou non utiliser que le Wi-Fi de l'accès des cyber cafe 598 00:31:24,920 --> 00:31:28,210 point de sorte que vous savez ce que le menaces sont en effet autour de vous. 599 00:31:28,210 --> 00:31:30,990 >> Alors Jonathan référence à quelque chose aimer ce lundi. 600 00:31:30,990 --> 00:31:32,220 Il avait une capture d'écran de la fenêtre. 601 00:31:32,220 --> 00:31:33,630 Celui-ci est d'un Mac. 602 00:31:33,630 --> 00:31:36,850 Combien d'entre vous ont déjà installé logiciel sur votre Mac ou PC? 603 00:31:36,850 --> 00:31:38,420 Evidemment tout le monde. 604 00:31:38,420 --> 00:31:41,590 Combien d'entre vous ont beaucoup réfléchi à taper votre mot de passe 605 00:31:41,590 --> 00:31:43,030 lorsque vous êtes invité? 606 00:31:43,030 --> 00:31:44,740 Je veux dire, même si je ne sais pas, franchement. 607 00:31:44,740 --> 00:31:48,730 Alors, certains d'entre nous sont bonnes à être paranoïaque. 608 00:31:48,730 --> 00:31:50,490 Mais considérez ce que vous êtes en train de faire ici. 609 00:31:50,490 --> 00:31:53,280 >> Sur un Mac ou un PC typique vous avez un compte administrateur. 610 00:31:53,280 --> 00:31:56,450 Et généralement, vous êtes le seul à utiliser un ordinateur portable à moins de nos jours. 611 00:31:56,450 --> 00:31:59,780 Donc votre compte, Malan ou JHarvard ou quoi que ce soit, est l' 612 00:31:59,780 --> 00:32:00,830 compte administrateur. 613 00:32:00,830 --> 00:32:03,530 Et qu'est-ce que ça veut dire vous est dû l'accès root sur votre ordinateur. 614 00:32:03,530 --> 00:32:06,180 Vous pouvez installer ce que vous voulez, supprimer ce que vous voulez. 615 00:32:06,180 --> 00:32:10,800 >> Et typiquement ces jours-ci, en raison de les décisions de conception datés d'il ya années, 616 00:32:10,800 --> 00:32:14,560 la façon dont la plupart des logiciels est installé est en tant qu'administrateur. 617 00:32:14,560 --> 00:32:18,180 Et même si votre Mac ou votre PC possède au moins eu assez intelligent sur le 618 00:32:18,180 --> 00:32:22,010 années avec les dernières incarnations de Mac OS et Windows de ne pas exécuter votre 619 00:32:22,010 --> 00:32:26,130 Nom d'utilisateur par défaut comme administrateur, lorsque vous téléchargez quelque 620 00:32:26,130 --> 00:32:29,160 nouveau programme de l'internet et essayer d' installer, vous allez probablement 621 00:32:29,160 --> 00:32:30,880 être invité à saisir votre mot de passe. 622 00:32:30,880 --> 00:32:34,790 Mais le hic, c'est à ce moment-là, vous êtes remise littéralement les clés de votre 623 00:32:34,790 --> 00:32:38,620 ordinateur vers n'importe quel aléatoire programme que vous venez de télécharger et 624 00:32:38,620 --> 00:32:41,590 ce qui lui permet d'installer ce qu'il veut. 625 00:32:41,590 --> 00:32:45,050 >> Et comme Jonathan a fait allusion, réaliser qu'il pourrait dire qu'il veut 626 00:32:45,050 --> 00:32:49,350 installer le logiciel que vous vous souciez environ, Spotify ou iTunes ou autre 627 00:32:49,350 --> 00:32:50,900 c'est que vous essayez d'installer. 628 00:32:50,900 --> 00:32:54,710 Mais vous êtes littéralement faire confiance à l'auteur ou les auteurs du logiciel à 629 00:32:54,710 --> 00:32:57,570 seulement faire ce que le programme est censé faire. 630 00:32:57,570 --> 00:33:02,320 >> Mais il n'y a absolument rien arrêt de la plupart des programmes sur la plupart 631 00:33:02,320 --> 00:33:06,910 les systèmes d'exploitation à partir de la suppression de fichiers, de les transférer à une compagnie de 632 00:33:06,910 --> 00:33:10,040 site Web, à partir de pêche à la traîne autour, pour chiffrer les choses. 633 00:33:10,040 --> 00:33:12,970 Et encore une fois, nous avons en quelque sorte construit toute une infrastructure plus 634 00:33:12,970 --> 00:33:14,930 des années sur la confiance. 635 00:33:14,930 --> 00:33:18,690 Et réalisez que vous venez d'être faire confiance aux gens et Random 636 00:33:18,690 --> 00:33:20,050 entreprises pour la plupart. 637 00:33:20,050 --> 00:33:24,860 >> Et Jonathan a fait allusion à de trop, parfois ces entreprises elles-mêmes sont en quelque sorte 638 00:33:24,860 --> 00:33:26,410 sciemment malveillante, d'accord? 639 00:33:26,410 --> 00:33:30,200 Sony a attiré beaucoup de Flack quelques années Il ya pour l'installation de ce qu'on a appelé une 640 00:33:30,200 --> 00:33:33,220 kit de rootkit sur les ordinateurs des gens à leur insu. 641 00:33:33,220 --> 00:33:36,570 Et l'essentiel était que lorsque vous acheté un CD par exemple qu'ils 642 00:33:36,570 --> 00:33:40,050 ne voulait pas que vous soyez en mesure de copier ou extraire de la musique hors de, le CD serait 643 00:33:40,050 --> 00:33:42,600 installer, à votre insu, un rootkit sur votre ordinateur. 644 00:33:42,600 --> 00:33:46,020 Rootkit logiciel juste dire qui fonctionne en tant qu'administrateur que potentiellement 645 00:33:46,020 --> 00:33:47,260 fait de mauvaises choses. 646 00:33:47,260 --> 00:33:50,780 >> Mais parmi les choses de cette chose n'a été elle se cachait. 647 00:33:50,780 --> 00:33:53,660 Ainsi, certains d'entre vous pourraient être assez avertis avec votre ordinateur et de savoir, eh bien, je 648 00:33:53,660 --> 00:33:57,310 il suffit d'ouvrir le gestionnaire de tâches ou le Moniteur d'activité et je peux regarder tous 649 00:33:57,310 --> 00:33:59,150 des programmes désignés arcanely qui exécutent. 650 00:33:59,150 --> 00:34:01,760 Et si quelque chose vous semble suspect Je vais le tuer ou de le supprimer. 651 00:34:01,760 --> 00:34:02,980 Mais c'est ce que le rootkit a fait. 652 00:34:02,980 --> 00:34:07,070 Il dit en substance, si l'exécution Task Gestionnaire, ne vous montrer. 653 00:34:07,070 --> 00:34:08,500 >> Ainsi, le logiciel était là. 654 00:34:08,500 --> 00:34:12,710 Et seulement si vous avez vraiment, vraiment regardé dur pourriez-vous même le trouver. 655 00:34:12,710 --> 00:34:15,670 Et cela a été fait au nom de protection contre la copie. 656 00:34:15,670 --> 00:34:18,230 Mais imaginez ce qui pourrait aurait pu être fait autrement. 657 00:34:18,230 --> 00:34:19,699 >> Maintenant, en termes de protection de soi-même. 658 00:34:19,699 --> 00:34:22,190 Beaucoup de sites sont merveilleusement grâce à qui ils ont mis ces 659 00:34:22,190 --> 00:34:26,480 icônes de cadenas sur leur page d'accueil qui signifie que le site est sécurisé. 660 00:34:26,480 --> 00:34:28,870 C'est à partir de bankofamerica.com ce matin. 661 00:34:28,870 --> 00:34:32,239 Alors qu'est-ce que petite icône de cadenas il signifie à côté du bouton Ouvrir une session? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Absolument rien. 664 00:34:36,790 --> 00:34:39,560 Cela signifie que quelqu'un sait comment l'utiliser Photoshop pour faire une photo d'un 665 00:34:39,560 --> 00:34:40,590 icône de cadenas. 666 00:34:40,590 --> 00:34:44,449 Comme littéralement, le fait que c'est il est censé être positif 667 00:34:44,449 --> 00:34:46,880 signaler à l'utilisateur comme, ooh, site Web sécurisé. 668 00:34:46,880 --> 00:34:50,449 Je dois faire confiance à ce site et maintenant taper mon nom d'utilisateur et mot de passe. 669 00:34:50,449 --> 00:34:53,870 Et cela a été conventionnel ans plus tard que ce matin. 670 00:34:53,870 --> 00:34:56,949 >> Mais considérer les habitudes qui cela nous s'embarquait. 671 00:34:56,949 --> 00:35:00,600 Considérons le message implicite que tous les de ces banques dans cette affaire ont été 672 00:35:00,600 --> 00:35:01,830 nous envoyant pendant des années. 673 00:35:01,830 --> 00:35:05,160 Si vous voyez un cadenas, puis fixez. 674 00:35:05,160 --> 00:35:05,340 Tout va bien? 675 00:35:05,340 --> 00:35:10,520 >> Alors, comment pouvez-vous abuser de ce système de confiance, si vous êtes le méchant? 676 00:35:10,520 --> 00:35:14,100 Mettre un cadenas sur votre site, et Logiquement, les utilisateurs ont été 677 00:35:14,100 --> 00:35:17,260 conditionnés pour les années à assumer des moyens cadenas sécurisé. 678 00:35:17,260 --> 00:35:19,310 Et il pourrait en fait être sécurisé. 679 00:35:19,310 --> 00:35:24,810 Vous pourriez avoir un merveilleusement sécurisé Connexion SSL HTTPS à un 680 00:35:24,810 --> 00:35:26,452 faux site. com. 681 00:35:26,452 --> 00:35:30,150 Et personne d'autre au monde ne peut voir que vous êtes sur le point de lui remettre 682 00:35:30,150 --> 00:35:32,790 votre nom d'utilisateur et mot de passe à votre compte. 683 00:35:32,790 --> 00:35:35,110 >> Ce bien est peut-être un peu plus rassurant. 684 00:35:35,110 --> 00:35:38,600 Donc, c'est une capture d'écran du haut de mon navigateur, ce matin, à 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 Et remarquons ici aussi nous une icône de cadenas. 687 00:35:43,270 --> 00:35:48,040 Qu'est-ce que cela signifie dans ce contexte dans Chrome au moins? 688 00:35:48,040 --> 00:35:49,520 >> Donc, cela est maintenant utilise SSL. 689 00:35:49,520 --> 00:35:51,220 Donc, c'est vraiment quelque chose de mieux. 690 00:35:51,220 --> 00:35:54,250 Et le fait que Chrome fait qu'il est vert vise à attirer notre attention 691 00:35:54,250 --> 00:35:56,750 le fait qu'il s'agit d' non seulement via SSL. 692 00:35:56,750 --> 00:36:01,400 Il s'agit d'une société que quelqu'un il a vérifié est en fait 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 Et cela signifie que Bank of America, lors de l'achat de leur soi-disant SSL 695 00:36:05,970 --> 00:36:09,680 certificat, essentiellement grand aléatoire, numéros un peu aléatoires qui mettent en œuvre 696 00:36:09,680 --> 00:36:14,710 sécurité pour eux, ils ont été vérifié par une tierce indépendante 697 00:36:14,710 --> 00:36:15,570 parti qui dit, oui. 698 00:36:15,570 --> 00:36:19,240 C'est en fait le chef de la direction de la Banque de Amérique essayer d'acheter le certificat. 699 00:36:19,240 --> 00:36:23,290 Chrome sera donc croire que autorité de certification et de dire dans 700 00:36:23,290 --> 00:36:25,265 vert, c'est bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 Et Bank of America paie juste un peu centaines de dollars pour ce ou quelques 702 00:36:27,997 --> 00:36:30,800 mille par opposition à une quelques dizaines de dollars. 703 00:36:30,800 --> 00:36:34,940 >> Mais là aussi, combien d'entre vous ont jamais agi différemment parce que 704 00:36:34,940 --> 00:36:38,576 l'URL dans votre navigateur doit vert au lieu de noir? 705 00:36:38,576 --> 00:36:39,900 Droite? 706 00:36:39,900 --> 00:36:40,600 Alors, certains d'entre nous. 707 00:36:40,600 --> 00:36:42,115 Et c'est une bonne chose d'être paranoïaque. 708 00:36:42,115 --> 00:36:45,910 Mais même alors, ceux d'entre vous qui, même remarquer ces choses, avez-vous réellement 709 00:36:45,910 --> 00:36:50,720 arrêter l'enregistrement dans un autre sécurisé site Web si l'URL n'est pas vert? 710 00:36:50,720 --> 00:36:53,380 D'accord, donc probablement pas, non? 711 00:36:53,380 --> 00:36:56,740 Au moins la plupart d'entre nous, si ce n'est pas vert, plus probable que vous allez juste 712 00:36:56,740 --> 00:36:57,440 être comme, peu importe. 713 00:36:57,440 --> 00:36:58,950 Comme, je tiens à vous connecter à ce site. 714 00:36:58,950 --> 00:37:00,200 C'est pourquoi je suis ici. 715 00:37:00,200 --> 00:37:02,390 Je vais néanmoins vous identifier. 716 00:37:02,390 --> 00:37:04,500 >> En aparté, Chrome est un peu mieux à ce sujet. 717 00:37:04,500 --> 00:37:07,990 Mais il ya beaucoup de navigateurs comme Firefox par exemple, au moins pour 718 00:37:07,990 --> 00:37:12,190 un certain temps, où que l'icône du cadenas est, vous pouvez effectivement mettre tout 719 00:37:12,190 --> 00:37:13,250 icône de votre choix. 720 00:37:13,250 --> 00:37:17,480 Laissez-moi voir ce que la dernière version de Firefox ressemble. 721 00:37:17,480 --> 00:37:20,040 Donc, si nous allons à CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, alors qu'ils ont obtenu mieux ainsi. 723 00:37:21,580 --> 00:37:24,970 Ce que les navigateurs utilisés pour faire, c'est comme, voici par exemple [? SAAS c'est?] 724 00:37:24,970 --> 00:37:25,790 de crête jusqu'à ici. 725 00:37:25,790 --> 00:37:29,240 C'est ce qu'on appelle le favori icône d'un site web. 726 00:37:29,240 --> 00:37:30,190 Il ya des années - 727 00:37:30,190 --> 00:37:34,720 en fait pas si longtemps - que peu bouclier aurait eu raison 728 00:37:34,720 --> 00:37:36,560 ici à côté de l'URL. 729 00:37:36,560 --> 00:37:40,300 Parce que quelque génie a décidé qu'il serait il suffit de regarder assez chic d'avoir 730 00:37:40,300 --> 00:37:43,150 votre logo graphique à droite à côté de votre URL. 731 00:37:43,150 --> 00:37:45,310 Et la conception rationnelle, qui fait est assez convaincante. 732 00:37:45,310 --> 00:37:47,240 >> Alors qu'est-ce mauvais début de gars faire? 733 00:37:47,240 --> 00:37:50,500 Ils ont commencé à changer leur favori icônes, ou leur icône par défaut d'un 734 00:37:50,500 --> 00:37:55,250 Page d'accueil de ne pas être une crête mais un cadenas, qui a 735 00:37:55,250 --> 00:37:56,600 absolument aucun sens. 736 00:37:56,600 --> 00:37:59,760 Autre que leur icône de favori a été un cadenas qu'elle n'avait pas 737 00:37:59,760 --> 00:38:01,250 des indications de sécurité. 738 00:38:01,250 --> 00:38:04,040 >> Ainsi, les leçons sont ici un couple que je pense. 739 00:38:04,040 --> 00:38:07,820 La première est qu'il ya effectivement une certaine mécanismes bien intentionnés pour 740 00:38:07,820 --> 00:38:12,850 nous enseignant les utilisateurs quant à la sécurité même si vous n'étiez même pas au courant de ce vert 741 00:38:12,850 --> 00:38:15,110 signifie ou ce même protocole HTTPS voulait dire. 742 00:38:15,110 --> 00:38:19,130 Mais si ces mécanismes nous obtenir en la mauvaise habitude de sites de confiance 743 00:38:19,130 --> 00:38:23,390 quand nous voyons ces signaux positifs, ils sont très facilement abusés comme nous l'avons vu 744 00:38:23,390 --> 00:38:26,480 Il ya juste un moment avec quelque chose stupide comme ça. 745 00:38:26,480 --> 00:38:29,100 >> Donc, le détournement de session entre en jouer, comme nous le disions précédemment, 746 00:38:29,100 --> 00:38:30,510 avec des biscuits par exemple. 747 00:38:30,510 --> 00:38:32,130 Et qu'est-ce que cela signifie réellement? 748 00:38:32,130 --> 00:38:35,930 Eh bien avec le détournement de session c'est tout de voler les cookies de quelqu'un. 749 00:38:35,930 --> 00:38:39,860 Donc, si j'ouvre Chrome ici, pour Ainsi, et j'ouvre l'inspecteur 750 00:38:39,860 --> 00:38:41,550 ici-bas et je vais à L'onglet Réseau - 751 00:38:41,550 --> 00:38:42,830 et nous avons fait cela avant - 752 00:38:42,830 --> 00:38:48,900 et je vais à quelque chose comme http://facebook.com Enter, un ensemble 753 00:38:48,900 --> 00:38:52,280 tas de trucs traverse l'écran parce que de toutes les images et CSS et 754 00:38:52,280 --> 00:38:53,490 Fichiers JavaScript. 755 00:38:53,490 --> 00:38:59,420 >> Mais si je regarde celui-là remarquerez que Facebook est en effet la plantation d'un 756 00:38:59,420 --> 00:39:02,310 ou plusieurs cookies sur mon navigateur ici. 757 00:39:02,310 --> 00:39:05,610 Ce sont donc essentiellement la main timbres qui me représenter. 758 00:39:05,610 --> 00:39:08,580 Et maintenant, j'espère que mon navigateur présenter à nouveau et à nouveau lorsque cette 759 00:39:08,580 --> 00:39:10,560 revisiter ce site. 760 00:39:10,560 --> 00:39:15,810 Mais cela ne est sécurisé, nous avons dit un Il ya quelques semaines, si vous utilisez SSL. 761 00:39:15,810 --> 00:39:18,860 >> Mais même SSL lui-même peut être compromis. 762 00:39:18,860 --> 00:39:21,800 Considérez après tout la façon dont fonctionne SSL. 763 00:39:21,800 --> 00:39:28,860 Lorsque votre navigateur se connecte à une télécommande serveur via https://, longue histoire courte, 764 00:39:28,860 --> 00:39:30,110 cryptographie est impliqué. 765 00:39:30,110 --> 00:39:34,750 Ce n'est pas aussi simple que César ou Visionaire voire DES, DES, dans un 766 00:39:34,750 --> 00:39:36,110 Alors qu'en PSet2. 767 00:39:36,110 --> 00:39:37,410 C'est plus complexe que cela. 768 00:39:37,410 --> 00:39:39,110 C'est ce qu'on appelle la cryptographie à clé publique. 769 00:39:39,110 --> 00:39:42,845 Mais vraiment grande et vraiment aléatoire numéros sont utilisés pour brouiller 770 00:39:42,845 --> 00:39:47,125 d'informations entre le point A, vous, et le point B, comme facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Mais le problème est, combien d'entre nous à nouveau soit le type de https:// pour commencer 772 00:39:52,570 --> 00:39:55,790 notre connexion au site Web dans ce mode sécurisé? 773 00:39:55,790 --> 00:40:00,900 Je veux dire, combien d'entre vous même Type http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Bon, si vous le faites, comme, bonjour. 775 00:40:02,290 --> 00:40:03,510 Vous n'avez pas besoin de le faire plus, non? 776 00:40:03,510 --> 00:40:05,190 Le navigateur comprendre. 777 00:40:05,190 --> 00:40:08,070 >> Mais la plupart d'entre nous le font bien il suffit de taper facebook.com. 778 00:40:08,070 --> 00:40:10,960 Parce que si nous utilisons un navigateur, l' les navigateurs ont eu assez intelligent par 779 00:40:10,960 --> 00:40:14,920 2013 suppose que si vous utilisez un navigateur, vous tapez une adresse, vous 780 00:40:14,920 --> 00:40:18,550 voudrez probablement pas y accéder par courrier électronique ou un message instantané. 781 00:40:18,550 --> 00:40:21,250 Vous voulez dire que HTTP et le port 80. 782 00:40:21,250 --> 00:40:22,970 Ces conventions ont été adoptées. 783 00:40:22,970 --> 00:40:24,830 >> Mais comment fonctionne la redirection? 784 00:40:24,830 --> 00:40:26,170 Eh bien, remarquez ce qui se passe ici. 785 00:40:26,170 --> 00:40:27,590 Si je reviens à Chrome - 786 00:40:27,590 --> 00:40:31,920 et nous allons faire cela dans incognito Mode de sorte que l'ensemble de mon 787 00:40:31,920 --> 00:40:33,620 les cookies sont jetés. 788 00:40:33,620 --> 00:40:38,130 Et laissez-moi aller ici pour, encore une fois, facebook.com. 789 00:40:38,130 --> 00:40:39,490 Et nous allons voir ce qui se passe. 790 00:40:39,490 --> 00:40:43,372 >> Rappelons que la première demande a été en effet juste pour facebook.com. 791 00:40:43,372 --> 00:40:46,580 Mais quelle a été la réponse que j'ai reçu? 792 00:40:46,580 --> 00:40:48,520 Ce n'était pas un 200 OK. 793 00:40:48,520 --> 00:40:53,550 Il était de 300, ou 301, qui est un rediriger me disant d'aller à 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, qui est où Facebook veut que j'aille. 795 00:40:59,050 --> 00:41:01,900 Mais alors, si nous regardons la requête suivante, et nous avons vu cela avant, 796 00:41:01,900 --> 00:41:04,370 remarquez ce que leur deuxième réponse est. 797 00:41:04,370 --> 00:41:10,280 Plus précisément qui ils veulent me maintenant aller à la version SSL de Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Voici donc une opportunité. 799 00:41:11,800 --> 00:41:15,440 C'est une fonctionnalité merveilleusement utile de seulement la bande et HTTP. 800 00:41:15,440 --> 00:41:19,570 Si l'utilisateur final comme Facebook veut de moi de rester sur la version sécurisée de leur 801 00:41:19,570 --> 00:41:20,850 site, très bien. 802 00:41:20,850 --> 00:41:23,130 Ils me réorienter pour moi. 803 00:41:23,130 --> 00:41:25,250 Et donc je n'ai pas à même penser. 804 00:41:25,250 --> 00:41:29,200 >> Mais que faire si entre le point A et B, entre vous et Facebook, il ya quelques 805 00:41:29,200 --> 00:41:32,220 méchant, il ya un système administrateur à Harvard qui est curieux 806 00:41:32,220 --> 00:41:34,240 pour voir qui sont vos amis. 807 00:41:34,240 --> 00:41:36,760 Ou il ya certains - 808 00:41:36,760 --> 00:41:38,340 il ya des années, cette utilisé pour paraître fou - 809 00:41:38,340 --> 00:41:41,950 mais il ya quelque entité gouvernementale comme la NSA qui est réellement intéressé 810 00:41:41,950 --> 00:41:44,390 à qui vous piquer sur Facebook. 811 00:41:44,390 --> 00:41:45,910 Où est l'occasion là-bas? 812 00:41:45,910 --> 00:41:49,305 Eh bien, aussi longtemps que quelqu'un a assez techniques avisés et ils ont accès 813 00:41:49,305 --> 00:41:53,350 à votre réseau réel via le Wi-Fi ou un fil physique, 814 00:41:53,350 --> 00:41:54,570 que pouvaient-ils faire? 815 00:41:54,570 --> 00:41:57,520 >> Eh bien, s'ils sont sur le même réseau que vous et ils savent quelque chose 816 00:41:57,520 --> 00:42:02,050 / Adresses DNS et IP et TCP IP et comment tout cela fonctionne, si ce 817 00:42:02,050 --> 00:42:05,970 man in the middle, que si ce ressortissant Agence de sécurité, quel qu'il 818 00:42:05,970 --> 00:42:11,480 peut-être, mais si cette entité simplement répond plus rapidement que Facebook à 819 00:42:11,480 --> 00:42:15,820 votre requête HTTP et dit: oh, je suis Facebook. 820 00:42:15,820 --> 00:42:19,300 Allez-y, et voici le HTML pour facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Les ordinateurs sont sacrément rapide. 822 00:42:20,720 --> 00:42:25,990 Ainsi, vous pouvez écrire un programme s'exécutant sur un serveur comme nsa.gov que quand il 823 00:42:25,990 --> 00:42:29,790 entend une demande de votre part pour facebook.com, très rapidement derrière l' 824 00:42:29,790 --> 00:42:34,000 scènes obtient la prise de facebook.com réel une parfaite [? esque?] sécurisé 825 00:42:34,000 --> 00:42:38,290 Connexion SSL entre NSA et entre Facebook, obtenir que HTML très 826 00:42:38,290 --> 00:42:42,670 en toute sécurité pour la page de connexion, puis le serveur NSA répond juste pour vous 827 00:42:42,670 --> 00:42:44,942 avec une page de connexion pour facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Maintenant, combien d'entre vous remarqueront même que vous utilisez Facebook sur HTTP 829 00:42:49,120 --> 00:42:53,375 encore à ce moment-là parce que vous avez accidentellement connectée à nsa.gov et 830 00:42:53,375 --> 00:42:53,870 pas Facebook? 831 00:42:53,870 --> 00:42:54,980 Les URL ne change pas. 832 00:42:54,980 --> 00:42:57,040 Tout cela est fait dans les coulisses. 833 00:42:57,040 --> 00:42:59,470 Mais la plupart d'entre nous, moi y compris, ne serait probablement pas remarquer 834 00:42:59,470 --> 00:43:00,800 un tel détail mineur. 835 00:43:00,800 --> 00:43:05,510 >> Donc, vous pourriez avoir un parfaitement réalisable connexion entre vous et ce que vous 836 00:43:05,510 --> 00:43:08,660 Penser, c'est Facebook, mais il ya une ce qu'on appelle l'homme au milieu. 837 00:43:08,660 --> 00:43:12,480 Et cela est un terme général pour l'homme dans l'attaque du milieu où vous avez une certaine 838 00:43:12,480 --> 00:43:17,670 entité entre vous et le point B qui est en quelque sorte la manipulation, le vol, ou 839 00:43:17,670 --> 00:43:18,960 regarder vos données. 840 00:43:18,960 --> 00:43:22,750 Donc, même SSL n'est pas infaillible, surtout si vous avez été trompé en 841 00:43:22,750 --> 00:43:26,790 pas l'allumer à cause de la façon dont ces mécanismes sous-jacents fonctionnent réellement. 842 00:43:26,790 --> 00:43:30,670 >> Ainsi, une leçon d'aujourd'hui est alors trop si vous vraiment envie d'être paranoïaque - 843 00:43:30,670 --> 00:43:32,110 et même ici, il ya des menaces - 844 00:43:32,110 --> 00:43:37,112 vous devriez vraiment commencer à entrer dans l'habitude de taper dans https://www 845 00:43:37,112 --> 00:43:39,850 n'importe quel nom de domaine réellement se soucier. 846 00:43:39,850 --> 00:43:41,820 >> Et en passant, il ya trop encore une autre menace à 847 00:43:41,820 --> 00:43:43,410 ce qui concerne le détournement de session. 848 00:43:43,410 --> 00:43:47,440 Très souvent, lorsque vous visitez un premier site comme facebook.com, à moins que le 849 00:43:47,440 --> 00:43:51,050 serveur a été configuré à-dire que ce timbre à la main, il a mis sur vous 850 00:43:51,050 --> 00:43:56,140 hier doit être sécurisé lui-même, votre navigateur pourrait très bien, à 851 00:43:56,140 --> 00:44:00,620 choses qui visitent comme facebook.com google.com, twitter.com, votre navigateur 852 00:44:00,620 --> 00:44:04,280 pourrait être la présentation de ce timbre à la main seulement être giflé en bas et dit non. 853 00:44:04,280 --> 00:44:05,660 Utiliser SSL. 854 00:44:05,660 --> 00:44:07,030 >> Mais il est trop tard à ce moment-là. 855 00:44:07,030 --> 00:44:10,940 Si vous avez déjà envoyé votre main timbre, votre cookie, en clair avec 856 00:44:10,940 --> 00:44:15,180 pas de SSL, vous avez une fraction de seconde vulnérabilité où quelqu'un renifler 857 00:44:15,180 --> 00:44:19,530 votre trafic, si colocataire ou NSA, peut ensuite utiliser ce même cookie, et 858 00:44:19,530 --> 00:44:23,860 avec un peu de savoir-faire technique, présenter comme son propre. 859 00:44:23,860 --> 00:44:25,930 >> Une autre attaque pourrait vous ne pas avoir pensé. 860 00:44:25,930 --> 00:44:30,120 Celui-ci est vraiment sur vous si vous vissez cela dans l'écriture un certain site Web qui 861 00:44:30,120 --> 00:44:31,580 en quelque sorte utilise SQL. 862 00:44:31,580 --> 00:44:34,610 Donc, ici, par exemple, est un écran coup de login de Harvard. 863 00:44:34,610 --> 00:44:36,380 Et ceci est un exemple général de quelque chose avec un 864 00:44:36,380 --> 00:44:37,480 nom d'utilisateur et mot de passe. 865 00:44:37,480 --> 00:44:38,440 Super commun. 866 00:44:38,440 --> 00:44:41,310 Supposons donc que SSL existe et il n'y a pas d'homme dans le milieu ou 867 00:44:41,310 --> 00:44:41,920 quelque chose comme ça. 868 00:44:41,920 --> 00:44:45,660 Maintenant, nous nous concentrons sur le serveur de code que vous pouvez écrire. 869 00:44:45,660 --> 00:44:49,830 >> Eh bien, quand je tape un nom d'utilisateur et mot de passe, supposons que le service PIN 870 00:44:49,830 --> 00:44:51,740 est mis en œuvre en PHP. 871 00:44:51,740 --> 00:44:53,990 Et vous pourriez avoir un peu de code sur ce serveur comme ça. 872 00:44:53,990 --> 00:44:57,740 Obtenez le nom d'utilisateur du poste super- mondiale et obtenir le mot de passe, puis 873 00:44:57,740 --> 00:45:01,130 si ils utilisent certains pset7 comme Code il ya une fonction de recherche 874 00:45:01,130 --> 00:45:01,820 qui peut le faire. 875 00:45:01,820 --> 00:45:06,320 Sélectionnez étoile des utilisateurs où username égaux et que le mot de passe est égale à celle. 876 00:45:06,320 --> 00:45:08,120 >> Cela semble, à première vue, tout à fait raisonnable. 877 00:45:08,120 --> 00:45:11,090 C'est syntaxiquement code PHP valide. 878 00:45:11,090 --> 00:45:13,160 Logiquement, il n'y a rien mal à cela. 879 00:45:13,160 --> 00:45:15,710 Vraisemblablement, il ya encore quelques lignes qui réellement faire quelque chose avec le 880 00:45:15,710 --> 00:45:18,150 résultat qui revient à partir de la base de données. 881 00:45:18,150 --> 00:45:20,580 Mais ce n'est vulnérables pour la raison suivante. 882 00:45:20,580 --> 00:45:23,760 >> Notez que, comme un bon citoyen, J'ai mis entre guillemets, seul 883 00:45:23,760 --> 00:45:25,380 citations, le nom d'utilisateur. 884 00:45:25,380 --> 00:45:26,980 Et je mets des guillemets simples le mot de passe. 885 00:45:26,980 --> 00:45:28,830 Et c'est une bonne chose parce qu'ils sont pas censés être des nombres. 886 00:45:28,830 --> 00:45:30,660 Typiquement, ils vont être moins. 887 00:45:30,660 --> 00:45:32,290 Donc je les cite comme des cordes. 888 00:45:32,290 --> 00:45:37,470 >> Et si je maintenant avancer que si - et j'ai enlevé les balles de l' 889 00:45:37,470 --> 00:45:38,870 PIN service temporairement - 890 00:45:38,870 --> 00:45:41,650 Que faire si j'essaie de me connecter en tant que Président [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 mais je prétends que mon mot de passe est 12345 'ou '1' = '1 et avis 892 00:45:52,540 --> 00:45:53,830 ce que je n'ai pas fait. 893 00:45:53,830 --> 00:45:56,140 Je n'ai pas fermé l'autre apostrophe. 894 00:45:56,140 --> 00:45:58,500 Parce que je suis assez forte ici comme le méchant. 895 00:45:58,500 --> 00:46:01,870 Et je suppose qu'ils sont vous êtes pas très bien avec votre 896 00:46:01,870 --> 00:46:03,450 Code PHP et MySQL. 897 00:46:03,450 --> 00:46:06,740 Je devine que vous n'êtes pas le contrôle la présence de guillemets. 898 00:46:06,740 --> 00:46:11,190 >> Alors que vient de se passer, c'est que lorsque votre utilisateur a tapé dans cette chaîne, 899 00:46:11,190 --> 00:46:15,060 la requête que vous êtes sur le point de créer ressemble à ceci. 900 00:46:15,060 --> 00:46:18,180 Et longue histoire courte, si vous et quelque chose ensemble ou si vous ou quelque chose 901 00:46:18,180 --> 00:46:21,740 ensemble ça va revenir une ligne de la base de données. 902 00:46:21,740 --> 00:46:26,570 Parce que c'est toujours l' une espèce qui est égal à 1. 903 00:46:26,570 --> 00:46:30,400 >> Et juste parce que vous n'aviez pas prévu que vos utilisateurs, bons ou mauvais, pourrait 904 00:46:30,400 --> 00:46:35,340 avoir une apostrophe dans leur nom ont créé une requête SQL qui est encore 905 00:46:35,340 --> 00:46:39,040 valide, et sera de retour aujourd'hui plus de résultats que vous auriez voulu. 906 00:46:39,040 --> 00:46:42,340 Et si ce méchant a désormais potentiellement connecté à votre serveur 907 00:46:42,340 --> 00:46:47,060 parce que votre base de données est de retour suite même si il ou elle n'a aucune idée de ce que 908 00:46:47,060 --> 00:46:49,410 [? ?] Mot de passe réel de Scroob est. 909 00:46:49,410 --> 00:46:50,640 >> Oh, j'ai réalisé une typo ici. 910 00:46:50,640 --> 00:46:53,260 Je n'ai dit mot de passe est égale 12345 comme la précédente 911 00:46:53,260 --> 00:46:54,990 exemple ou 1 est égal à 1. 912 00:46:54,990 --> 00:46:56,400 Je vais arranger ça en ligne. 913 00:46:56,400 --> 00:46:59,960 >> Alors pourquoi n'avons nous vous avons utilisant la requête fonction des points d'interrogation? 914 00:46:59,960 --> 00:47:04,000 Une des fonctions de la requête choses ne vous est-il fait en sorte que 915 00:47:04,000 --> 00:47:07,660 quand vous passez des arguments après le virgules ici comme ça que la requête 916 00:47:07,660 --> 00:47:10,330 qui est effectivement envoyé à l' base de données ressemble à ceci. 917 00:47:10,330 --> 00:47:13,830 Beaucoup plus laid à regarder, mais de retour barres ont été automatiquement 918 00:47:13,830 --> 00:47:19,030 insérée pour éviter précisément que attaque par injection que j'ai montré une 919 00:47:19,030 --> 00:47:20,270 Il ya moment. 920 00:47:20,270 --> 00:47:24,930 >> Maintenant, un amusement XKCD que je pensais que je tire ici, qui nous l'espérons devrait maintenant y avoir une 921 00:47:24,930 --> 00:47:28,546 peu plus compréhensible c'est celui-là. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> Un peu? 924 00:47:40,265 --> 00:47:42,370 Peut-être que nous avons besoin d'un peu plus discussion sur ce point. 925 00:47:42,370 --> 00:47:47,810 Donc, ce fait allusion à un petit garçon nommé Bobby qui a en quelque sorte pris 926 00:47:47,810 --> 00:47:52,250 avantage d'un site web qui est juste en espérant que ce que l'utilisateur a tapé 927 00:47:52,250 --> 00:47:55,100 en est pas, en fait, le code SQL, mais est en fait une chaîne. 928 00:47:55,100 --> 00:47:56,830 >> Maintenant, vous souvenez peut-être que drop - 929 00:47:56,830 --> 00:48:00,190 vous pourriez avoir vu cette - des moyens de chute supprimer un tableau, supprimer une base de données. 930 00:48:00,190 --> 00:48:02,235 Donc, si vous demandez essentiellement que votre nom est 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 vous pourriez très bien tromper la base de données non seulement en vérifiant que vous êtes 934 00:48:09,370 --> 00:48:13,530 En effet, Robert, mais aussi virgule procéder à supprimer la table. 935 00:48:13,530 --> 00:48:17,560 >> Et si les attaques par injection SQL peut effectivement être aussi menaçant que cette 936 00:48:17,560 --> 00:48:20,740 lequel vous pouvez supprimer les données de quelqu'un, vous pouvez sélectionner d'autres données que 937 00:48:20,740 --> 00:48:23,440 destiné, vous pouvez insérer ou mettre à jour des données. 938 00:48:23,440 --> 00:48:26,520 Et vous pouvez réellement voir ce sur au exercice à la maison, pas pour malveillants 939 00:48:26,520 --> 00:48:29,730 fins, mais seulement pour l'enseignement, est une fois que vous êtes invité à vous connecter 940 00:48:29,730 --> 00:48:35,180 dans le site Web, en particulier une sorte de très grand public, le site non très populaire, 941 00:48:35,180 --> 00:48:38,630 essayez de vous connecter en tant que John O'Reilly ou quelqu'un avec une 942 00:48:38,630 --> 00:48:39,740 apostrophe dans leur nom. 943 00:48:39,740 --> 00:48:42,990 Ou littéralement suffit de taper apostrophe, appuyez sur Entrée, et voir ce qui se passe. 944 00:48:42,990 --> 00:48:47,990 >> Et trop souvent, malheureusement, les gens n'ont pas assaini leurs entrées et 945 00:48:47,990 --> 00:48:51,690 fait en sorte que des choses comme les citations ou des points-virgules sont échappés. 946 00:48:51,690 --> 00:48:54,430 C'est pourquoi nous donnons à pset7 vous cette fonction d'interrogation. 947 00:48:54,430 --> 00:48:59,510 Mais ne sous apprécier exactement ce qu'il fait pour vous. 948 00:48:59,510 --> 00:49:01,800 >> Donc, avec cela dit, profitez de l'aide le web cette semaine. 949 00:49:01,800 --> 00:49:04,660 Et nous allons vous voir lundi. 950 00:49:04,660 --> 00:49:06,180 >> Lors de la prochaine CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUSIQUE]