1 00:00:00,000 --> 00:00:11,214 >> [MUSIC] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. MALAN: Tudo bem. 3 00:00:11,661 --> 00:00:15,400 Portanto, esta é CS50 e este é o fim da semana 10. 4 00:00:15,400 --> 00:00:20,420 Então, alguns de vocês podem ter visto isso já, mas sendo divulgado nos últimos tempos 5 00:00:20,420 --> 00:00:25,800 é um artigo que eu pensei que eu tinha lido um trecho e, em seguida, mostrar-lhe um 6 00:00:25,800 --> 00:00:27,800 três minutos de vídeo que pinta a mesma imagem. 7 00:00:27,800 --> 00:00:30,950 Foi realmente uma história comovente, eu pensei, dessa intersecção da 8 00:00:30,950 --> 00:00:35,210 mundo real com genuinamente irresistível usa da tecnologia. 9 00:00:35,210 --> 00:00:39,785 >> Assim, o artigo foi intitulado "Um menino dorme demais no trem, usa Google Maps 10 00:00:39,785 --> 00:00:44,930 para encontrar a família 25 anos depois. "E o primeiro par de parágrafos foram, 11 00:00:44,930 --> 00:00:48,820 "Quando Saroo tinha cinco anos de idade, ele foi com seu irmão mais velho para furtar para 12 00:00:48,820 --> 00:00:51,830 mudar em um trem de passageiros em uma cidade cerca de duas horas 13 00:00:51,830 --> 00:00:53,510 de sua pequena cidade natal. 14 00:00:53,510 --> 00:00:56,790 Saroo se cansou e pulou em um nas proximidades de trem onde ele pensou que sua 15 00:00:56,790 --> 00:00:58,880 irmão foi, em seguida, caiu no sono. 16 00:00:58,880 --> 00:01:03,360 Quando ele acordou, estava em Calcutá, cerca de 900 quilômetros de distância. 17 00:01:03,360 --> 00:01:05,770 Saroo tentou encontrar o seu caminho para trás, mas ele não sabia 18 00:01:05,770 --> 00:01:07,260 o nome de sua cidade natal. 19 00:01:07,260 --> 00:01:11,430 E como um menino analfabeto minúsculo em um vasto cidade cheia de crianças esquecidas que ele tinha 20 00:01:11,430 --> 00:01:13,520 praticamente nenhuma chance de chegar em casa. 21 00:01:13,520 --> 00:01:16,760 >> Ele era uma criança de rua por um tempo até uma agência de adoção local viciado 22 00:01:16,760 --> 00:01:18,840 -lo com um casal australiano que o levou a 23 00:01:18,840 --> 00:01:20,600 viver em Hobart, Tasmânia. 24 00:01:20,600 --> 00:01:23,130 Saroo se mudou para lá, aprendi Inglês, e cresceu. 25 00:01:23,130 --> 00:01:27,450 Mas ele nunca parou de olhar para sua família e sua cidade natal. 26 00:01:27,450 --> 00:01:32,380 >> Décadas mais tarde, ele descobriu o Google Terra e trilhos seguiram. 27 00:01:32,380 --> 00:01:36,140 E dando a si mesmo um raio prescrito baseado em quanto tempo ele achava que era 28 00:01:36,140 --> 00:01:40,020 adormecido e quão rápido ele pensou que o trem estava acontecendo, ele sabia que tinha crescido 29 00:01:40,020 --> 00:01:43,930 em um clima quente, ele sabia que ele falou Hindi como uma criança, e ele tinha sido dito 30 00:01:43,930 --> 00:01:46,160 que parecia que ele Foi a partir da Índia Oriental. 31 00:01:46,160 --> 00:01:49,650 >> Finalmente, depois de anos de lavagem as fotos de satélite, ele 32 00:01:49,650 --> 00:01:51,340 reconheceu alguns marcos. 33 00:01:51,340 --> 00:01:54,180 E depois de conversar com um administrador de uma cidade vizinha de 34 00:01:54,180 --> 00:01:57,740 Página do Facebook, ele percebeu ele encontrou em casa. " 35 00:01:57,740 --> 00:02:03,770 >> Então, aqui, então, é o vídeo dizendo que conto a partir de sua perspectiva. 36 00:02:03,770 --> 00:02:04,025 >> [REPRODUÇÃO] 37 00:02:04,025 --> 00:02:07,480 >> -Foi há 26 anos e eu era prestes a virar cinco. 38 00:02:07,480 --> 00:02:10,539 Chegamos à estação de comboios e embarcamos em um trem juntos. 39 00:02:10,539 --> 00:02:13,390 Meu irmão acabou de dizer que eu vou ficar aqui e eu vou voltar. 40 00:02:13,390 --> 00:02:16,363 E eu pensei, bem, você sabe, eu pode muito bem ir dormir e 41 00:02:16,363 --> 00:02:17,950 então ele só vai me acordar. 42 00:02:17,950 --> 00:02:21,740 E quando eu acordar no dia seguinte, o carro inteiro estava vazio em um fugitivo 43 00:02:21,740 --> 00:02:24,305 trem, um trem fantasma tomar me Eu não sei onde. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Eu fui adotado para a Austrália a uma família australiana. 46 00:02:31,660 --> 00:02:35,360 E minha mãe tinha decorado o meu quarto com mapa da Índia, que ela 47 00:02:35,360 --> 00:02:37,090 colocar ao lado de minha cama. 48 00:02:37,090 --> 00:02:42,170 Eu acordei todas as manhãs vendo esse mapa, e, portanto, é uma espécie de manter o 49 00:02:42,170 --> 00:02:43,740 memórias vivas. 50 00:02:43,740 --> 00:02:46,475 >> As pessoas diziam: você está tentando encontrar uma agulha num palheiro. 51 00:02:46,475 --> 00:02:49,060 Saroo, você nunca vai encontrá-lo. 52 00:02:49,060 --> 00:02:52,510 Eu tenho flashes dos lugares que Eu costumava ir, os flashes 53 00:02:52,510 --> 00:02:55,050 dos rostos da minha família. 54 00:02:55,050 --> 00:02:59,200 Havia a imagem de minha mãe sentada para baixo com as pernas cruzadas 55 00:02:59,200 --> 00:03:00,610 apenas vê-la chorar. 56 00:03:00,610 --> 00:03:03,340 A vida é tão difícil. 57 00:03:03,340 --> 00:03:06,002 Esse era o meu tesouro. 58 00:03:06,002 --> 00:03:09,390 >> E eu estava procurando no Google Map e percebi que não é o Google Earth também. 59 00:03:09,390 --> 00:03:13,560 Em um mundo onde você pode aplicar zoom em I começou a ter todos esses pensamentos e 60 00:03:13,560 --> 00:03:16,650 quais as possibilidades que isso poderia fazer por mim. 61 00:03:16,650 --> 00:03:19,520 Eu disse a mim mesmo, bem, você sabe, você tem toda a fotográfica 62 00:03:19,520 --> 00:03:22,340 memórias e monumentos onde você está a partir e você sabe o que 63 00:03:22,340 --> 00:03:23,460 a cidade parece. 64 00:03:23,460 --> 00:03:27,910 Este poderia ser um aplicativo que você pode usar para encontrar o caminho de volta. 65 00:03:27,910 --> 00:03:32,750 >> Eu pensei, bem, eu vou colocar um ponto na Estação Ferroviária de Calcutá, em um raio 66 00:03:32,750 --> 00:03:36,350 linha que você deve estar procurando em torno desta área. 67 00:03:36,350 --> 00:03:38,850 Me deparei com esses trilhos do trem. 68 00:03:38,850 --> 00:03:44,490 E eu comecei a segui-la e eu vim para uma estação de trem que refletia a 69 00:03:44,490 --> 00:03:48,260 mesma imagem que estava em minhas memórias. 70 00:03:48,260 --> 00:03:49,730 >> Tudo combinado. 71 00:03:49,730 --> 00:03:50,800 Eu apenas pensei, sim. 72 00:03:50,800 --> 00:03:51,545 Eu sei para onde estou indo. 73 00:03:51,545 --> 00:03:55,387 Eu só vou deixar o mapa que eu tenho na minha cabeça para me levar e me levar 74 00:03:55,387 --> 00:03:58,230 Voltar para a minha cidade natal. 75 00:03:58,230 --> 00:04:02,290 >> Cheguei à porta da casa que eu nasci e andou 76 00:04:02,290 --> 00:04:04,270 cerca de quinze metros ao virar da esquina. 77 00:04:04,270 --> 00:04:08,140 Havia três senhoras do lado de fora adjacentes uns aos outros. 78 00:04:08,140 --> 00:04:10,230 E o meio passo à frente. 79 00:04:10,230 --> 00:04:12,910 E eu pensei, este é sua mãe. 80 00:04:12,910 --> 00:04:18,590 Ela veio para a frente, ela me abraçou, e nós estavam lá por cerca de cinco minutos. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Ela pegou minha mão e ela me levou para a casa e pegou o telefone e ela 83 00:04:25,787 --> 00:04:31,110 tocou a minha irmã e meu irmão a dizer que teu irmão tem apenas todo o 84 00:04:31,110 --> 00:04:34,480 súbita apareceu como um fantasma. 85 00:04:34,480 --> 00:04:37,590 >> E, em seguida, a família foi reunida novamente. 86 00:04:37,590 --> 00:04:38,570 Está tudo bem. 87 00:04:38,570 --> 00:04:40,250 Eu ajudo a minha mãe para fora. 88 00:04:40,250 --> 00:04:42,240 Ela não tem que ser escravizado. 89 00:04:42,240 --> 00:04:45,040 Ela pode levar o resto da sua vida em paz. 90 00:04:45,040 --> 00:04:48,590 >> Foi uma agulha em um palheiro, mas a agulha estava lá. 91 00:04:48,590 --> 00:04:49,530 Tudo está lá. 92 00:04:49,530 --> 00:04:53,410 Tudo o que temos no mundo é o toque de um botão. 93 00:04:53,410 --> 00:04:57,375 Mas você tem que ter a vontade ea a determinação de querer. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [FIM REPRODUÇÃO DE VÍDEO] 96 00:05:02,780 --> 00:05:04,220 >> Assim, uma história muito doce. 97 00:05:04,220 --> 00:05:08,430 E isso realmente me faz lembrar de um grande tema que foi ficando um pouco 98 00:05:08,430 --> 00:05:11,200 de atenção no final do Crimson, mais nacional em geral. 99 00:05:11,200 --> 00:05:13,620 Especialmente porque MOOCs estão tomando o estágio da tarde. 100 00:05:13,620 --> 00:05:17,370 MOOCs sendo estes maciço e aberto cursos on-line do que CS50 é um deles. 101 00:05:17,370 --> 00:05:20,680 >> E as pessoas falando sobre como, por exemplo, as humanidades não são realmente 102 00:05:20,680 --> 00:05:23,900 recuperar o atraso ou não são tão em voga quanto eram uma vez. 103 00:05:23,900 --> 00:05:26,680 E eu encorajaria vocês, muito como Jonathan fez na segunda-feira, para pensar 104 00:05:26,680 --> 00:05:29,900 sobre como você sair 50, e sabemos já cerca de 50% de que você não vai 105 00:05:29,900 --> 00:05:32,480 continuar a tomar outro computador curso de ciência, e isso é totalmente 106 00:05:32,480 --> 00:05:33,770 multa e esperado. 107 00:05:33,770 --> 00:05:36,620 Porque um dos objectivos globais de uma classe como essa é realmente a 108 00:05:36,620 --> 00:05:39,790 capacitar vocês com apenas um a compreensão de como todas essas coisas 109 00:05:39,790 --> 00:05:41,760 funciona e como este mundo de obras de tecnologia. 110 00:05:41,760 --> 00:05:45,400 >> De modo que quando você está de volta em sua própria mundos, quer se trate de pré-med ou 111 00:05:45,400 --> 00:05:48,270 se é das humanidades ou das ciências sociais ou algum outro campo 112 00:05:48,270 --> 00:05:51,830 Ao todo, que vocês estão trazendo algum conhecimento técnico para a mesa e 113 00:05:51,830 --> 00:05:54,770 ajudando a tomar decisões inteligentes quando que se refere ao uso e 114 00:05:54,770 --> 00:05:57,530 introdução da tecnologia em seu mundo. 115 00:05:57,530 --> 00:06:00,410 >> Por exemplo, eu me lembrei da tarde também de dois cursos de graduação 116 00:06:00,410 --> 00:06:04,410 classes I levou dois anos atrás, que eram essas utilizações simples da tecnologia 117 00:06:04,410 --> 00:06:06,180 mas sempre tão atraente. 118 00:06:06,180 --> 00:06:08,845 Primeiras noites com o Professor Tom Kelly se você tomou a classe. 119 00:06:08,845 --> 00:06:11,640 É uma aula de música clássica em Nesta fase aqui, onde você aprende a 120 00:06:11,640 --> 00:06:13,190 pouco sobre música. 121 00:06:13,190 --> 00:06:17,770 É realmente primeiras noites que CS50 emprestado a idéia de faixas para os 122 00:06:17,770 --> 00:06:20,630 menos confortável no meio e mais confortável. 123 00:06:20,630 --> 00:06:24,410 >> No meu tempo eles tinham diferentes faixas para as crianças com absolutamente nenhuma música 124 00:06:24,410 --> 00:06:27,300 experimentar como eu, e, em seguida, as crianças que vinha desempenhando desde que eram 125 00:06:27,300 --> 00:06:28,240 cinco anos de idade. 126 00:06:28,240 --> 00:06:31,200 E essa classe, por exemplo, só tinha um site como mais nenhum outro, mas 127 00:06:31,200 --> 00:06:34,210 é um site que lhe permitiu explorar a música nele e reproduzir 128 00:06:34,210 --> 00:06:39,120 clipes musicais de classe, a partir da web, e apenas usar a tecnologia de uma forma muito 129 00:06:39,120 --> 00:06:40,210 maneira contínua. 130 00:06:40,210 --> 00:06:44,460 >> Outro ano de classe depois que eu auditadas, essencialmente, na pós-graduação, 131 00:06:44,460 --> 00:06:47,430 Antropologia 1010, Introdução de Arqueologia aqui. 132 00:06:47,430 --> 00:06:48,190 Ele foi incrível. 133 00:06:48,190 --> 00:06:52,715 E uma das mais convincentes, mas super óbvias, em retrospecto, a utilização de 134 00:06:52,715 --> 00:06:56,000 software foi que os professores em que a classe usada Google Earth. 135 00:06:56,000 --> 00:06:58,250 Estávamos sentados do outro lado da rua em alguma sala de aula. 136 00:06:58,250 --> 00:07:01,240 E você não pode viajar, por exemplo, para o Oriente Médio para a escavação que um 137 00:07:01,240 --> 00:07:04,530 dos professores tinha acabado de chegar de volta, mas poderíamos fazer isso virtualmente por 138 00:07:04,530 --> 00:07:07,870 voando em Google Earth e olhando a vista de um pássaro olho no 139 00:07:07,870 --> 00:07:10,360 cavar site que ele tinha acabado de voltar de uma semana atrás. 140 00:07:10,360 --> 00:07:12,630 >> Então, eu encorajaria vocês, especialmente na área de humanas, para ir 141 00:07:12,630 --> 00:07:16,260 voltar para esses departamentos, após este classe trazendo seus projetos finais 142 00:07:16,260 --> 00:07:19,960 com você ou de suas próprias idéias, e ver apenas o que você pode fazer para infundir a sua 143 00:07:19,960 --> 00:07:23,570 campos próprios em humanidades ou além com um pouco deste tipo de 144 00:07:23,570 --> 00:07:26,770 coisa que nós exploramos aqui no CS50. 145 00:07:26,770 --> 00:07:31,790 >> Assim, com esse quadro pintado, o pensamento nós tentar resolver duas coisas hoje. 146 00:07:31,790 --> 00:07:35,040 Um deles, tentar dar-lhe uma sensação de onde você pode ir depois de 50 anos. 147 00:07:35,040 --> 00:07:37,950 E, em particular, se você optar por abordar um projeto baseado na web, como é 148 00:07:37,950 --> 00:07:42,580 incrivelmente comum, como você pode ir em tirar todas CS50 da 149 00:07:42,580 --> 00:07:45,810 rodinhas e ir lá fora, seu próprio país e não ter que depender de um 150 00:07:45,810 --> 00:07:48,000 PDF ou uma especificação de um pset? 151 00:07:48,000 --> 00:07:50,510 Não ter que depender de um CS50 aparelho mais. 152 00:07:50,510 --> 00:07:52,780 Mas pode realmente puxar-se por seu próprio esforço. 153 00:07:52,780 --> 00:07:55,790 >> Com isso dito, C-base definitiva projetos são bem-vindos. 154 00:07:55,790 --> 00:07:58,020 Coisas que usam o suporte para uma biblioteca portátil numa 155 00:07:58,020 --> 00:07:59,510 gráficos são bem-vindos. 156 00:07:59,510 --> 00:08:03,240 Nós só sabemos que, estatisticamente, um monte de pessoas morder projetos em PHP e 157 00:08:03,240 --> 00:08:07,860 Python e Ruby e MySQL e outros ambientes, por isso vamos viés alguns dos 158 00:08:07,860 --> 00:08:09,570 nossas observações em relação a isso. 159 00:08:09,570 --> 00:08:10,650 >> Mas uma rápida olhada para trás. 160 00:08:10,650 --> 00:08:15,940 Então nós tomamos para concedido em pset7 o fato de que $ _SESSION existiu. 161 00:08:15,940 --> 00:08:19,400 Este foi um super global, uma global, array associativo. 162 00:08:19,400 --> 00:08:23,040 E o que isso que você faz? 163 00:08:23,040 --> 00:08:27,130 Funcionalmente, o que é o apresentam isso nos dá? 164 00:08:27,130 --> 00:08:28,590 Sim? 165 00:08:28,590 --> 00:08:30,270 Para acompanhar o ID do usuário. 166 00:08:30,270 --> 00:08:31,660 E por que isso é útil? 167 00:08:31,660 --> 00:08:36,059 Para ser capaz de armazenar dentro de este super JHarvard global, ou [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 ou ID do usuário do Malan, quando ele ou ela visita um site. 169 00:08:41,880 --> 00:08:42,380 >> Exatamente. 170 00:08:42,380 --> 00:08:44,049 Assim você não precisa se logar em uma e outra vez. 171 00:08:44,049 --> 00:08:47,170 Seria um mundo realmente coxo wide web se cada vez que você clicar em um link 172 00:08:47,170 --> 00:08:50,780 em um site como o Facebook ou o cada vez Você clicou em um e-mail no Gmail você 173 00:08:50,780 --> 00:08:54,060 tive que re-autenticar a provar que ainda é você e não o seu colega de quarto 174 00:08:54,060 --> 00:08:56,700 que poderia ter caminhado até sua computador na sua ausência. 175 00:08:56,700 --> 00:08:59,640 >> Então, nós usamos SESSÃO apenas lembre-se quem você é. 176 00:08:59,640 --> 00:09:01,830 E como isso é implementado debaixo do capô? 177 00:09:01,830 --> 00:09:07,720 Como é que um site que usa o protocolo que navegadores e servidores 178 00:09:07,720 --> 00:09:12,060 falar, como é que HTTP, que é um protocolo sem estado, digamos. 179 00:09:12,060 --> 00:09:15,510 >> E por apátrida Quer dizer, uma vez que você conectar a um site, baixe algum 180 00:09:15,510 --> 00:09:19,650 HTMLs, alguns JavaScript, alguns CSS, seu ícone do navegador pára de girar. 181 00:09:19,650 --> 00:09:23,420 Você não tem uma conexão constante para o servidor normalmente. 182 00:09:23,420 --> 00:09:24,170 É isso aí. 183 00:09:24,170 --> 00:09:26,290 Não há estado mantido constantemente. 184 00:09:26,290 --> 00:09:30,510 Então, como é SESSION implementado em tais uma forma que toda vez que você visitar um 185 00:09:30,510 --> 00:09:32,860 nova página, o site lembra quem você é? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Qual é a implementação subjacente detalhes? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Grito ele para fora. 190 00:09:41,490 --> 00:09:43,270 É uma palavra. 191 00:09:43,270 --> 00:09:43,640 >> Cookies. 192 00:09:43,640 --> 00:09:44,190 Tudo bem. 193 00:09:44,190 --> 00:09:44,800 Então cookies. 194 00:09:44,800 --> 00:09:45,900 Bem, como são usados ​​cookies? 195 00:09:45,900 --> 00:09:48,870 Vamos lembrar que um cookie é geralmente apenas um pedaço de informação. 196 00:09:48,870 --> 00:09:51,590 E é muitas vezes um grande acaso número, mas nem sempre. 197 00:09:51,590 --> 00:09:55,420 E um cookie é plantada em seu disco rígido ou na memória RAM do seu computador para 198 00:09:55,420 --> 00:09:59,070 que cada vez que você revisitar esse mesmo website, o navegador lembra o 199 00:09:59,070 --> 00:10:01,650 servidor, eu sou usuário 1234567. 200 00:10:01,650 --> 00:10:03,570 Eu sou usuário 1234567. 201 00:10:03,570 --> 00:10:07,590 >> E assim, desde que o servidor tenha lembrado que o usuário é 1234567 202 00:10:07,590 --> 00:10:11,300 JHarvard, o site só vai assumir que você é quem você diz ser. 203 00:10:11,300 --> 00:10:14,230 E lembrar que apresentamos esses cookies tipo de sob a forma de um 204 00:10:14,230 --> 00:10:15,510 suporte da mão virtual. 205 00:10:15,510 --> 00:10:20,530 É enviada nos cabeçalhos HTTP apenas para lembrar o servidor que você é quem é 206 00:10:20,530 --> 00:10:21,620 pensa que você é. 207 00:10:21,620 --> 00:10:23,320 >> Claro, não é uma ameaça. 208 00:10:23,320 --> 00:10:27,530 Que ameaça é que isto abre-nos para se estamos essencialmente usando uma espécie de clube 209 00:10:27,530 --> 00:10:30,110 ou um mecanismo de parque de diversões para lembrar quem somos? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Se você copiar bolinho de alguém e roubar sua sessão, por assim dizer, você 212 00:10:36,170 --> 00:10:39,670 pode fingir ser outra pessoa e website provavelmente só vai 213 00:10:39,670 --> 00:10:40,150 acredito em você. 214 00:10:40,150 --> 00:10:41,030 Então, vamos voltar a isso. 215 00:10:41,030 --> 00:10:44,240 Porque o outro tema para hoje, além capacitação também está falando 216 00:10:44,240 --> 00:10:48,170 sobre o mundo muito assustador em que vivemos e apenas como muito do que você faz no 217 00:10:48,170 --> 00:10:51,480 a web, como muito do que você faz, mesmo em seus telefones celulares de hoje pode ser 218 00:10:51,480 --> 00:10:55,170 rastreado realmente por qualquer pessoa entre você e ponto B. 219 00:10:55,170 --> 00:10:56,240 >> E Ajax, recall. 220 00:10:56,240 --> 00:10:58,740 Olhamos apenas brevemente com isso, apesar de que você está usando ele 221 00:10:58,740 --> 00:11:02,660 indiretamente pset8 porque você está usando Google Maps e porque você é 222 00:11:02,660 --> 00:11:03,830 usando o Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps e Google Earth não baixar o mundo inteiro ao seu 224 00:11:07,780 --> 00:11:10,490 desktop, obviamente, o momento em que você carregar pset8. 225 00:11:10,490 --> 00:11:15,020 Ele só faz o download de um quadrado do mundo ou um quadrado maior da terra. 226 00:11:15,020 --> 00:11:18,910 E, em seguida, cada vez que você espécie de dirigir fora da faixa que você pode perceber - 227 00:11:18,910 --> 00:11:21,790 especialmente se em uma conexão lenta - você pode ver alguns cinza por um momento 228 00:11:21,790 --> 00:11:26,440 ou um pouco de imaginação difusa como o computador transfere mais essas telhas, 229 00:11:26,440 --> 00:11:29,190 tais imagens mais do mundo ou a terra. 230 00:11:29,190 --> 00:11:34,620 >> E Ajax é geralmente a técnica por quais sites estão fazendo isso. 231 00:11:34,620 --> 00:11:39,250 Uma vez que você precisar de mais do mapa, o seu navegador vai usar Ajax, que é 232 00:11:39,250 --> 00:11:42,240 não em si uma linguagem ou tecnologia, é apenas uma técnica. 233 00:11:42,240 --> 00:11:47,390 É o uso de JavaScript para ir buscar obter mais informações a partir de um servidor que 234 00:11:47,390 --> 00:11:52,320 permite que o seu browser para ir buscar o que está por o leste ou o que é a oeste da 235 00:11:52,320 --> 00:11:55,110 o que é outra forma atualmente sendo mostrado no mapa. 236 00:11:55,110 --> 00:11:58,520 Portanto, este é um tema que muitos de vocês encontrará, direta ou 237 00:11:58,520 --> 00:12:01,180 indirectamente, através de projetos finais se optar por fazer algo que é 238 00:12:01,180 --> 00:12:05,020 similarmente dinâmica que está puxando dados de algum site de terceiros. 239 00:12:05,020 --> 00:12:07,390 >> Então temos uma realmente emocionante próxima quarta-feira frente. 240 00:12:07,390 --> 00:12:12,280 Teste um, as informações para que é já em CS50.net. 241 00:12:12,280 --> 00:12:17,530 Sei que vai haver uma sessão de revisão esta próxima segunda-feira às 5:30. 242 00:12:17,530 --> 00:12:21,010 A data ea hora já está publicado em CS50.net em que cerca de folha. 243 00:12:21,010 --> 00:12:22,940 E deixe-nos saber que você tem quaisquer perguntas. 244 00:12:22,940 --> 00:12:25,230 Pset8 entretanto já está em suas mãos. 245 00:12:25,230 --> 00:12:29,210 >> E deixe-me abordar um FAQ para salvar as pessoas algum stress. 246 00:12:29,210 --> 00:12:32,530 Para a maior parte um monte de conversa vemos no horário de expediente e um monte de 247 00:12:32,530 --> 00:12:36,950 os erros que vemos relatado em discutir são na verdade, erros no código do aluno. 248 00:12:36,950 --> 00:12:41,360 Mas quando você encontrou algo como o Google Earth Plug-in bater 249 00:12:41,360 --> 00:12:44,310 ou nem mesmo trabalho e você é confiante de que não é você, não é uma 250 00:12:44,310 --> 00:12:48,530 [? chamad?] problema, que não é um bug você introduzida no 251 00:12:48,530 --> 00:12:49,820 código de distribuição. 252 00:12:49,820 --> 00:12:51,250 >> Realizar apenas FYI - 253 00:12:51,250 --> 00:12:53,130 este é o tipo de plano Z - 254 00:12:53,130 --> 00:12:57,100 que a última vez que usamos este problema definir e que funcionou em semelhante 255 00:12:57,100 --> 00:13:01,520 questões, há uma linha de código em service.js que é essencialmente este, 256 00:13:01,520 --> 00:13:03,580 que diz: transformar edifícios em. 257 00:13:03,580 --> 00:13:07,100 E eles contornar a última vez que fiz isso, mais uma vez, em casos canto onde 258 00:13:07,100 --> 00:13:11,660 estudantes simplesmente não conseguia tirar o danado coisa para trabalhar é mudar verdadeiro para falso 259 00:13:11,660 --> 00:13:12,940 em que uma linha de código. 260 00:13:12,940 --> 00:13:15,520 E você vai encontrar se você procurar através service.js. 261 00:13:15,520 --> 00:13:19,990 >> Eu não recomendo este, porque você vai criar a paisagem mais árida 262 00:13:19,990 --> 00:13:21,720 de Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Isto irá, literalmente, achatar o seu mundo de modo que tudo que você vê são o ensino 264 00:13:24,930 --> 00:13:28,610 companheiros e assistentes do curso de o horizonte e não edifícios. 265 00:13:28,610 --> 00:13:31,980 Mas perceber por qualquer motivo o Google Earth plug-in ainda parece ser 266 00:13:31,980 --> 00:13:35,290 buggy de um ano depois, de modo que este pode ser a sua falha salvar. 267 00:13:35,290 --> 00:13:38,915 Então, em vez de recorrer às lágrimas, resort para transformar prédios fora se você sabe 268 00:13:38,915 --> 00:13:41,980 é o plug-in que não está cooperando em seu Mac ou PC. 269 00:13:41,980 --> 00:13:46,060 Mas, este é novamente último recurso se você tem certeza que não é um bug. 270 00:13:46,060 --> 00:13:46,890 >> Assim, o Hackathon. 271 00:13:46,890 --> 00:13:48,950 Um par de teasers apenas para levá-lo animado. 272 00:13:48,950 --> 00:13:50,640 Tivemos algumas RSVPs. 273 00:13:50,640 --> 00:13:54,230 E só para pintar um retrato do que espera, eu pensei que eu iria dar-lhe um pouco 274 00:13:54,230 --> 00:13:56,858 segundo lembrar dessas imagens desde o ano passado. 275 00:13:56,858 --> 00:14:00,850 >> [MUSIC] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. MALAN: Espere, oh. 277 00:14:02,240 --> 00:14:05,410 Temos até nossos literais CS50 ônibus. 278 00:14:05,410 --> 00:14:17,920 >> [MUSIC] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. MALAN: Então, isso é o que o espera você em termos de Hackathon. 280 00:14:20,620 --> 00:14:24,180 E esta será uma oportunidade para ser claro, não para iniciar a sua última 281 00:14:24,180 --> 00:14:27,730 projetos, mas para continuar a trabalhar em seus projetos finais ao lado 282 00:14:27,730 --> 00:14:30,210 colegas e funcionários e muita comida. 283 00:14:30,210 --> 00:14:34,340 E, novamente, se você estiver acordado à 5h00 vamos levá-lo no caminho para IHOP. 284 00:14:34,340 --> 00:14:37,075 >> A feira CS50, entretanto, é o clímax para toda a classe onde 285 00:14:37,075 --> 00:14:41,160 você vai levar seus laptops e amigos, talvez até mesmo a família para um quarto no campus 286 00:14:41,160 --> 00:14:44,530 na rua para expor seus projetos em laptops, em mesas altas 287 00:14:44,530 --> 00:14:47,570 como este, com muita comida e amigos e música de fundo, 288 00:14:47,570 --> 00:14:49,250 bem como os nossos amigos da indústria. 289 00:14:49,250 --> 00:14:52,760 Empresas como Facebook e Microsoft e Google e Amazon e cachos de 290 00:14:52,760 --> 00:14:55,750 outros, de modo que, se interessados ​​em apenas ouvir sobre o mundo real ou 291 00:14:55,750 --> 00:14:59,570 conversando com as pessoas sobre o mundo real, estágio ou oportunidades de tempo integral, 292 00:14:59,570 --> 00:15:01,950 sei que alguns de nossos amigos da indústria vai estar lá. 293 00:15:01,950 --> 00:15:04,970 E um par de fotos podemos pintar aqui são os seguintes. 294 00:15:04,970 --> 00:15:24,400 >> [MUSIC] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. MALAN: Tudo bem. 296 00:15:24,920 --> 00:15:27,060 Para que, em seguida, é o justo CS50. 297 00:15:27,060 --> 00:15:31,780 Então, vamos agora avançar para contar uma história que realmente vai capacitá-lo esperançosamente 298 00:15:31,780 --> 00:15:33,230 para coisas como projetos finais. 299 00:15:33,230 --> 00:15:36,940 Então, uma das poucas coisas pequenas a sua semente mente, tanto para projetos finais 300 00:15:36,940 --> 00:15:40,470 ou apenas em geral, para projetos que você pode optar por enfrentar depois 301 00:15:40,470 --> 00:15:45,720 o curso, estes são todos documentados em manual.cs50.net onde o CS50 302 00:15:45,720 --> 00:15:48,010 manual, onde temos muitas técnicas documentada. 303 00:15:48,010 --> 00:15:51,080 >> E este é apenas notação abreviada para dizendo que não existe na 304 00:15:51,080 --> 00:15:55,190 coisas mundo chamado SMS para enviar e-mail gateways, que é uma maneira elegante de 305 00:15:55,190 --> 00:15:58,180 dizer, não há servidores em todo o mundo que sabe como converter e-mails para 306 00:15:58,180 --> 00:15:59,230 mensagens de texto. 307 00:15:59,230 --> 00:16:02,450 Portanto, se para o seu projeto final que você quer para criar algum tipo de temática móvel 308 00:16:02,450 --> 00:16:06,650 serviço que permite alertar os amigos ou usuários para eventos no campus 309 00:16:06,650 --> 00:16:10,290 ou o que está sendo servido no Salão D naquela noite ou qualquer recurso de alerta de tal, 310 00:16:10,290 --> 00:16:15,150 sei que é simples como o envio de um e-mail, com PHPMailer que você 311 00:16:15,150 --> 00:16:18,735 poderia ter usado para pset7 ou vimos brevemente uma semana atrás, a 312 00:16:18,735 --> 00:16:20,440 endereços como este. 313 00:16:20,440 --> 00:16:26,040 >> E na verdade, você texto pode assumir esta seu amigo tem um número ilimitado 314 00:16:26,040 --> 00:16:28,310 plano e você não quer para cobrar-lhes US $ 0,10. 315 00:16:28,310 --> 00:16:31,920 Mas, se você enviar um e-mail para seu amigo que você sabe ter Verizon ou 316 00:16:31,920 --> 00:16:35,870 AT & T usando o Gmail e só enviá-lo para seu número de telefone em qualquer que seja o 317 00:16:35,870 --> 00:16:38,980 sub-domínio existe, percebe que irá enviar uma mensagem de texto. 318 00:16:38,980 --> 00:16:41,570 >> Mas esta é uma daquelas coisas para ter cuidado. 319 00:16:41,570 --> 00:16:47,430 Se você vasculhar CS50 do ano passado videos eu acho que era, um horríveis, 320 00:16:47,430 --> 00:16:51,660 horrível, bug horrível que eu escrevi em código acabei de enviar cerca de 20.000 texto 321 00:16:51,660 --> 00:16:55,410 mensagens ao vivo para o nosso os alunos em sala de aula. 322 00:16:55,410 --> 00:16:57,970 E só porque alguém notou que eles estavam recebendo texto múltiplo 323 00:16:57,970 --> 00:17:01,860 mensagens de mim eu tinha o meios para atingir Controle C rapidamente 324 00:17:01,860 --> 00:17:03,210 e parar esse processo. 325 00:17:03,210 --> 00:17:06,200 Controle C, você se lembra, é seu amigo em casos de loop infinito. 326 00:17:06,200 --> 00:17:10,900 Então, cuidado com o poder que deu apenas para você em vez de forma irresponsável, a maioria 327 00:17:10,900 --> 00:17:12,950 provável, com base na minha própria experiência. 328 00:17:12,950 --> 00:17:15,400 Mas isso é na web e tem estive lá há algum tempo. 329 00:17:15,400 --> 00:17:15,810 >> Tudo bem. 330 00:17:15,810 --> 00:17:17,064 Então textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Portanto, este é um website. 332 00:17:18,040 --> 00:17:20,829 E não há cachos de outras pessoas lá fora assim que nós realmente usado 333 00:17:20,829 --> 00:17:24,050 como uma classe de anos para ser capaz para receber mensagens de texto. 334 00:17:24,050 --> 00:17:27,869 Infelizmente, o envio de mensagens de texto é fácil como enviar e-mails como esse. 335 00:17:27,869 --> 00:17:30,730 Receber um pouco mais difícil, especialmente se você quiser ter um dos 336 00:17:30,730 --> 00:17:34,610 os códigos curtos sensuais que é apenas cinco ou seis dígitos. 337 00:17:34,610 --> 00:17:37,720 >> Assim, por exemplo, durante anos você esteve capaz de enviar uma mensagem de texto - e você 338 00:17:37,720 --> 00:17:39,200 pode tentar isso também - 339 00:17:39,200 --> 00:17:41,900 para 41411. 340 00:17:41,900 --> 00:17:44,300 E esse é o número de telefone para esta startup particular. 341 00:17:44,300 --> 00:17:48,130 E se você enviar uma mensagem para 41411 - 342 00:17:48,130 --> 00:17:51,190 Vou escrevê-lo aqui, então 41411 - 343 00:17:51,190 --> 00:17:54,290 e, em seguida, enviar-lhes uma mensagem gostaria SBOY para Shuttle Boy. 344 00:17:54,290 --> 00:17:56,370 E, em seguida, digitar algo como mather quad. 345 00:17:56,370 --> 00:17:59,360 Então você enviar a mensagem de texto para que o número de telefone. 346 00:17:59,360 --> 00:18:02,630 Dentro de poucos segundos você deve voltar uma resposta do CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Serviço Boy, que é o transporte software de programação que tivemos fora 348 00:18:06,210 --> 00:18:07,290 lá na web há algum tempo. 349 00:18:07,290 --> 00:18:09,450 E ele irá responder a você via mensagem de texto. 350 00:18:09,450 --> 00:18:13,410 >> Porque o que temos feito como uma classe, como um programador, é escrever software, 351 00:18:13,410 --> 00:18:18,760 configuramos nossa conta gratuita com texto marcas para ouvir as mensagens de texto enviadas 352 00:18:18,760 --> 00:18:20,770 para SBOY naquele número. 353 00:18:20,770 --> 00:18:25,210 E o que eles fazem é para a frente aqueles texto mensagens para o nosso site baseado em PHP como 354 00:18:25,210 --> 00:18:27,420 Parâmetros HTTP dizendo aqui. 355 00:18:27,420 --> 00:18:30,380 Este usuário com este número de telefone enviou-lhe esta mensagem de texto. 356 00:18:30,380 --> 00:18:31,850 Fazer com ele o que quiser. 357 00:18:31,850 --> 00:18:35,180 >> Então nós escrevemos algum software que, ao recebendo uma string como SBOY mather 358 00:18:35,180 --> 00:18:38,420 quad, nós analisá-lo. 359 00:18:38,420 --> 00:18:41,210 Nós descobrir onde os espaços estão entre as palavras. 360 00:18:41,210 --> 00:18:44,220 E nós, como uma aula de decidir como responder a isso. 361 00:18:44,220 --> 00:18:47,335 E se você tentar isso agora, por exemplo, você deve ver, através de resposta dentro de um 362 00:18:47,335 --> 00:18:51,470 alguns segundos, os próximos ônibus indo de Mather para o quad, se houver. 363 00:18:51,470 --> 00:18:52,260 E há outras paragens. 364 00:18:52,260 --> 00:18:56,060 Você pode digitar Boylston ou outro tipo de pára no campus, e que deveria 365 00:18:56,060 --> 00:18:57,760 reconhecer essas palavras. 366 00:18:57,760 --> 00:18:58,590 >> Então parse.com. 367 00:18:58,590 --> 00:19:01,630 Este é mais um serviço que temos sido apontando alguns alunos para 368 00:19:01,630 --> 00:19:04,390 projetos finais Isso é maravilhoso na medida em que é livre para a 369 00:19:04,390 --> 00:19:05,660 quantidade razoável de uso. 370 00:19:05,660 --> 00:19:08,820 E se eu for para parse.com você verá que esta é uma alternativa ao 371 00:19:08,820 --> 00:19:13,230 realmente ter algo como seu próprio banco de dados MySQL. 372 00:19:13,230 --> 00:19:14,490 E, francamente, é só tipo de hipnotizante. 373 00:19:14,490 --> 00:19:17,450 Isto é o que está dentro da ofuscar até mesmo em um dia nublado. 374 00:19:17,450 --> 00:19:21,580 >> Então parse.com permite que você faça uma monte de coisas interessantes. 375 00:19:21,580 --> 00:19:23,610 E há outras alternativas para isso lá fora. 376 00:19:23,610 --> 00:19:26,870 Por exemplo, você pode usá-los como banco de dados back-end. 377 00:19:26,870 --> 00:19:28,980 Então você não precisa ter uma empresa de hospedagem web. 378 00:19:28,980 --> 00:19:31,180 Você não precisa ter um banco de dados MySQL. 379 00:19:31,180 --> 00:19:32,850 Você pode usar o seu back-end. 380 00:19:32,850 --> 00:19:36,350 >> Se você está fazendo um projeto de móvel para Android ou iOS ou similar, saiba que 381 00:19:36,350 --> 00:19:39,776 existe coisas como serviços de envio assim você pode empurrar alertas para os seus amigos 382 00:19:39,776 --> 00:19:41,390 ou telas iniciais de seus usuários. 383 00:19:41,390 --> 00:19:43,600 E, em seguida, um monte de outras características bem. 384 00:19:43,600 --> 00:19:47,200 >> Então, se você tiver interesse, confira essas sites e sites como eles 385 00:19:47,200 --> 00:19:50,720 apenas para ver quantos outros povos ' ombros você pode estar a fazer 386 00:19:50,720 --> 00:19:53,350 software muito legal de sua preferência. 387 00:19:53,350 --> 00:19:56,690 >> Agora em termos de autenticação, um FAQ, é como você realmente garantir 388 00:19:56,690 --> 00:20:01,220 que seus usuários são pessoas no campus, Estudantes de Harvard ou professores ou pessoal? 389 00:20:01,220 --> 00:20:05,350 Então CS50 tem a sua própria autenticação serviço chamado CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Vá para a URL e você pode restringir sua site para qualquer um com um Harvard 391 00:20:09,940 --> 00:20:11,340 ID, por exemplo. 392 00:20:11,340 --> 00:20:12,550 Então, sabemos que podemos lidar com isso. 393 00:20:12,550 --> 00:20:15,280 Vocês não deveriam estar no negócio de dizer, qual é o seu ID Harvard? 394 00:20:15,280 --> 00:20:16,160 Qual é o seu PIN Harvard? 395 00:20:16,160 --> 00:20:17,550 Deixe-me agora fazer algo com ele. 396 00:20:17,550 --> 00:20:18,740 Nós vamos fazer tudo isso. 397 00:20:18,740 --> 00:20:21,710 E o que nós vamos dar-lhe de volta é o nome de alguém e endereço de e-mail, mas 398 00:20:21,710 --> 00:20:23,010 não nada sensível. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> Um aplicativo em um dispositivo móvel, pode ser feito para funcionar em um dispositivo móvel, mas 401 00:20:30,380 --> 00:20:32,630 Não é bem projetado para isso. 402 00:20:32,630 --> 00:20:35,640 Então, você vai acabar gastando um não trivial quantidade de tempo fazendo isso. 403 00:20:35,640 --> 00:20:38,040 Então eu iria desencorajar por esse caminho por enquanto. 404 00:20:38,040 --> 00:20:41,570 Esta é realmente a intenção de aplicações baseadas na web. 405 00:20:41,570 --> 00:20:42,650 >> Então, web hosting. 406 00:20:42,650 --> 00:20:44,450 Então, se você ainda não viu em página inicial do curso - 407 00:20:44,450 --> 00:20:46,610 e é aqui que vamos começar uma história - 408 00:20:46,610 --> 00:20:50,900 web hosting é tudo sobre o pagamento de normalmente um serviço, hospedar um servidor de propriedade 409 00:20:50,900 --> 00:20:54,800 por outra pessoa na web que tem um Endereço IP, e, em seguida, colocar o seu 410 00:20:54,800 --> 00:20:55,880 site sobre ele. 411 00:20:55,880 --> 00:20:58,620 E eles costumam dar-lhe e-mail contas e bancos de dados 412 00:20:58,620 --> 00:21:00,160 e outras características similares. 413 00:21:00,160 --> 00:21:02,930 >> Saiba que se você não quer, na verdade, pagar para tal, ir para o URL 414 00:21:02,930 --> 00:21:06,280 lá e CS50 tem realmente uma organização sem fins lucrativos conta que você pode usar para 415 00:21:06,280 --> 00:21:11,490 realmente não tem http://project interior do aparelho 416 00:21:11,490 --> 00:21:12,470 para o seu projeto final. 417 00:21:12,470 --> 00:21:16,465 Se você realmente quer que ele seja algo como, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 você pode comprar esse nome de domínio - embora não que um particular - e 419 00:21:19,730 --> 00:21:24,070 então você pode ir sobre a hospedá-lo em um servidor web público, como podemos oferecer 420 00:21:24,070 --> 00:21:25,170 vocês por aqui. 421 00:21:25,170 --> 00:21:27,240 >> E, de fato, se não conhece, Se você nunca foi a 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, um, vai lá. 423 00:21:30,590 --> 00:21:37,310 Mas dois, sei que era um jovem o nome da mulher por Tej Para TOOR Too dois 424 00:21:37,310 --> 00:21:41,550 anos, há três anos, que era um CS50 alunos que aconteceram um dia ou dois 425 00:21:41,550 --> 00:21:46,280 antes do CS50 feira enviou um e-mail para a casa dela mailing list e voila. 426 00:21:46,280 --> 00:21:49,770 Dois dias depois, pela CS50 feira, ela teve centenas de usuários em rastejando 427 00:21:49,770 --> 00:21:53,240 uns aos outros em seu site e dizendo como eles tinham visto 428 00:21:53,240 --> 00:21:55,250 ela ou ele no campus. 429 00:21:55,250 --> 00:21:57,600 Então, esse é um dos favoritos do CS50 histórias de sucesso de 430 00:21:57,600 --> 00:21:59,650 um projeto CS50 final. 431 00:21:59,650 --> 00:22:04,090 >> Então, como é que você vai colocar um site assim na internet? 432 00:22:04,090 --> 00:22:07,140 Bem, há alguns, tais ingredientes aqui. 433 00:22:07,140 --> 00:22:09,310 Então, você tem que comprar um nome de domínio. 434 00:22:09,310 --> 00:22:12,440 Há grupos de lugares o mundo a partir do qual você pode 435 00:22:12,440 --> 00:22:13,940 comprar um nome de domínio. 436 00:22:13,940 --> 00:22:16,660 E, por exemplo, que recomendamos só porque é popular 437 00:22:16,660 --> 00:22:18,855 e é barato é chamado namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Mas você pode ir godaddy.com e dezenas de outros lá fora. 439 00:22:22,860 --> 00:22:24,420 Você pode ler-se em comentários. 440 00:22:24,420 --> 00:22:26,250 >> Mas para a maior parte não importa de quem você 441 00:22:26,250 --> 00:22:27,720 comprar um nome de domínio. 442 00:22:27,720 --> 00:22:30,780 E eles variam de preço e eles variam em sufixo. 443 00:22:30,780 --> 00:22:37,140 Os sufixos como. Com,. Net, . Org,. Io,. Tv, aqueles 444 00:22:37,140 --> 00:22:38,650 na verdade, variam de preço. 445 00:22:38,650 --> 00:22:43,630 Mas se nós queríamos fazer algo parecido cats.com podemos ir a este site, 446 00:22:43,630 --> 00:22:44,280 clique em Pesquisar. 447 00:22:44,280 --> 00:22:46,370 Presumivelmente, esta é tomada. 448 00:22:46,370 --> 00:22:50,170 Mas, aparentemente, catsagainst.com está disponível. 449 00:22:50,170 --> 00:22:52,100 pluscats.com está disponível. 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 Tudo isto esperançosamente pseudo gerada aleatoriamente. 453 00:22:59,135 --> 00:23:04,670 Se você quiser cats.pw, 1500 dólares apenas, que é um pouco louco. 454 00:23:04,670 --> 00:23:08,100 Então, alguém tem realmente pegou tudo os relacionados com nomes de domínio gato aqui para 455 00:23:08,100 --> 00:23:09,840 preços variados. 456 00:23:09,840 --> 00:23:12,360 >> Como um aparte, vamos ver. 457 00:23:12,360 --> 00:23:13,710 Quem tem cats.com? 458 00:23:13,710 --> 00:23:16,290 Saibam que vocês têm em sua disposição de forma justa 459 00:23:16,290 --> 00:23:17,540 comandos sofisticados agora. 460 00:23:17,540 --> 00:23:20,592 Como posso digitar literalmente que é cats.com? 461 00:23:20,592 --> 00:23:23,730 E por causa da forma como a internet é estruturada você pode realmente ver quem 462 00:23:23,730 --> 00:23:25,440 tenha registrado isso. 463 00:23:25,440 --> 00:23:30,240 Aparentemente, esta pessoa é [inaudível] usando um serviço de proxy. 464 00:23:30,240 --> 00:23:33,900 Então, quem é dono cats.com não quer que o mundo saiba quem eles são. 465 00:23:33,900 --> 00:23:36,610 Então, eles se registrado através algum serviço privacidade aleatória. 466 00:23:36,610 --> 00:23:39,100 Mas às vezes você realmente obter proprietários reais. 467 00:23:39,100 --> 00:23:41,420 >> E este é, especialmente se você estiver buscando alguma startup e você 468 00:23:41,420 --> 00:23:44,640 realmente quer um nome de domínio e você está dispostos a pagar alguém para 469 00:23:44,640 --> 00:23:48,050 , você pode descobrir o contato informações nesse sentido. 470 00:23:48,050 --> 00:23:49,940 >> Mas também é interessante isso. 471 00:23:49,940 --> 00:23:53,380 Deixe-me deslocar até esta parte. 472 00:23:53,380 --> 00:23:55,330 Portanto, esta é a mesma de saída. 473 00:23:55,330 --> 00:23:56,990 E este é apenas brega. 474 00:23:56,990 --> 00:24:00,740 Assim, aparentemente, podem ser cats.com seu por um preço justo. 475 00:24:00,740 --> 00:24:03,170 Mas o que é interessante aqui é que os servidores de nome - 476 00:24:03,170 --> 00:24:06,040 isso é um abuso total do que um nome servidor é suposto ser - seu nome 477 00:24:06,040 --> 00:24:08,876 servidor não é suposto ser thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Se realmente optar por algo como - 479 00:24:11,050 --> 00:24:15,181 vamos escolher algo um pouco mais como legítimo, que é o google.com, 480 00:24:15,181 --> 00:24:17,030 e desloque-se aqui. 481 00:24:17,030 --> 00:24:18,280 Então, aqui - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 o que aconteceu lá? 484 00:24:21,740 --> 00:24:22,480 Interessante. 485 00:24:22,480 --> 00:24:25,290 Além de que é - 486 00:24:25,290 --> 00:24:26,610 Vamos mantê-lo mais baixo chave. 487 00:24:26,610 --> 00:24:28,370 >> Quem é mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Isso é útil. 490 00:24:29,900 --> 00:24:31,400 Então é isso que eu estava esperando. 491 00:24:31,400 --> 00:24:33,930 Uso legítimo do serviço de DNS. 492 00:24:33,930 --> 00:24:36,750 Servidores de nomes aqui indicam a seguir. 493 00:24:36,750 --> 00:24:40,880 Esta é a maneira de dizer do MIT, sempre alguém no mundo, onde quer que 494 00:24:40,880 --> 00:24:46,950 são, os tipos de mit.edu e bate Enter, seu laptop, seja Mac ou PC, vai 495 00:24:46,950 --> 00:24:51,830 de alguma forma, eventualmente, descobrir que o pessoas no mundo que sabem o que o 496 00:24:51,830 --> 00:24:58,130 Endereço IP é para mit.edu ou qualquer um dos sub-domínios em mit.edu ou qualquer um dos 497 00:24:58,130 --> 00:25:01,660 esses servidores aqui - e ele realmente Parece infra-estrutura é MITs 498 00:25:01,660 --> 00:25:03,370 bastante robusto como seria de esperar. 499 00:25:03,370 --> 00:25:07,050 Eles têm vários servidores nomes que é bom para a redundância. 500 00:25:07,050 --> 00:25:09,840 E, de fato, eles parecem ser globalmente distribuídos em todo o mundo. 501 00:25:09,840 --> 00:25:13,250 Um grupo dos que parecem estar em os EUA, um casal na Ásia, uma na Europa, dois 502 00:25:13,250 --> 00:25:14,540 em algum outro lugar. 503 00:25:14,540 --> 00:25:18,000 >> Mas o ponto aqui é que o DNS que temos vindo a tomar para concedido e 504 00:25:18,000 --> 00:25:21,990 geralmente descrito como uma mesa grande Excel que tem endereços IP e de domínio 505 00:25:21,990 --> 00:25:25,890 nomes é realmente bastante sofisticado serviço hierárquica de modo a que na 506 00:25:25,890 --> 00:25:29,170 mundo há realmente um número finito de servidores que, essencialmente, saber onde 507 00:25:29,170 --> 00:25:32,880 todos os arquivos. coms são ou todos as redes. são, todo o 508 00:25:32,880 --> 00:25:34,650 . Orgs são, e assim por diante. 509 00:25:34,650 --> 00:25:37,820 >> Então, quando você ir em frente e comprar um domínio nome de um lugar como Nome barato ou 510 00:25:37,820 --> 00:25:41,450 Go Daddy ou qualquer outro site, um dos os principais passos que você terá que fazer 511 00:25:41,450 --> 00:25:45,180 você, se você fizer isso, mesmo para o seu final, projeto, é dizer o registrador 512 00:25:45,180 --> 00:25:49,020 de quem você está comprando o domínio nome, quem no mundo sabe o seu 513 00:25:49,020 --> 00:25:52,310 endereços IP do site, que seus servidores de nome são. 514 00:25:52,310 --> 00:25:55,750 >> Então, se você usar, por exemplo CS50 da conta de hospedagem - acontece que temos 515 00:25:55,750 --> 00:25:57,760 esta conta através dreamhost.com que é um 516 00:25:57,760 --> 00:25:59,560 popular, empresa de hospedagem - 517 00:25:59,560 --> 00:26:03,530 eles vão te dizer que você deve comprar seu domínio e dizer ao mundo que 518 00:26:03,530 --> 00:26:09,410 servidor o nome do seu domínio é 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 >> Mas é isso. 521 00:26:12,600 --> 00:26:15,480 A compra de um nome de domínio significa dar-lhes o dinheiro e obter a propriedade da 522 00:26:15,480 --> 00:26:17,190 domínio, mas é mais como um aluguel embora. 523 00:26:17,190 --> 00:26:20,060 Você obtê-lo por um ano e depois conta recorrentemente você para o resto da 524 00:26:20,060 --> 00:26:22,130 sua vida até que você cancele o nome de domínio. 525 00:26:22,130 --> 00:26:24,510 E, em seguida, dizer-lhes que os servidores de nomes são. 526 00:26:24,510 --> 00:26:26,190 Mas, então, você é feito com seu registro. 527 00:26:26,190 --> 00:26:30,130 E a partir daí você vai interagir apenas com sua empresa de hospedagem, que 528 00:26:30,130 --> 00:26:32,030 no caso do CS50 será DreamHost. 529 00:26:32,030 --> 00:26:36,080 Mas, novamente, mais documentação será fornecido a você se você decidir ir 530 00:26:36,080 --> 00:26:37,170 por esse caminho. 531 00:26:37,170 --> 00:26:40,750 >> Então, se você fizer isso depois do curso de final, simplesmente pesquisando hospedagem web 532 00:26:40,750 --> 00:26:42,830 empresa vai transformar-se milhares de opções. 533 00:26:42,830 --> 00:26:45,720 E eu, em geral, incentivá-lo a pedir a amigos que poderia ter usado um 534 00:26:45,720 --> 00:26:49,350 empresa antes de se recomendar eles e teve uma boa experiência. 535 00:26:49,350 --> 00:26:52,680 >> Porque não há um monte de Fly By Night empresas de hospedagem web, como um sujeito em 536 00:26:52,680 --> 00:26:55,220 porão de sua casa com um servidor que tenha um endereço IP. 537 00:26:55,220 --> 00:26:58,980 Ele tem alguns RAM extra e disco rígido espaço e só vende web hosting 538 00:26:58,980 --> 00:27:02,380 contas, mesmo que não há nenhuma maneira que servidor pode lidar com centenas de 539 00:27:02,380 --> 00:27:04,050 usuários ou milhares de usuários. 540 00:27:04,050 --> 00:27:06,260 Então percebe que você vai ter o que você paga. 541 00:27:06,260 --> 00:27:09,510 >> Por um bom tempo para a minha casa pessoal página - e isso era totalmente aceitável 542 00:27:09,510 --> 00:27:11,830 porque eu tinha, tipo, dois de visitantes por mês - 543 00:27:11,830 --> 00:27:14,990 Eu estava pagando, como, 2,95 dólares por mês. 544 00:27:14,990 --> 00:27:17,230 E eu tenho certeza de que era no porão da casa de alguém. 545 00:27:17,230 --> 00:27:20,800 Mas, novamente, você não tem necessariamente quaisquer garantias de uptime ou 546 00:27:20,800 --> 00:27:21,840 escalabilidade. 547 00:27:21,840 --> 00:27:24,560 Então, novamente, normalmente você está procurando em algo mais do que isso. 548 00:27:24,560 --> 00:27:26,220 >> Bem, o que dizer de SSL? 549 00:27:26,220 --> 00:27:27,690 Então o que é SSL utilizado? 550 00:27:27,690 --> 00:27:30,320 Vamos agora começar a dirigir no direções de segurança e as coisas que 551 00:27:30,320 --> 00:27:32,330 pode nos prejudicar. 552 00:27:32,330 --> 00:27:36,890 Especialmente quando você se aventurar em seu próprio país. 553 00:27:36,890 --> 00:27:41,650 >> O que é SSL, ou o que é SSL utilizado? 554 00:27:41,650 --> 00:27:42,660 Segurança, OK. 555 00:27:42,660 --> 00:27:44,000 Então, ele é usado para a segurança. 556 00:27:44,000 --> 00:27:44,640 O que significa isso? 557 00:27:44,640 --> 00:27:47,170 Por isso significa Secure Sockets Layer. 558 00:27:47,170 --> 00:27:52,330 E isso é indicado por um URL que começa com https://. 559 00:27:52,330 --> 00:27:58,410 Muitos de nós provavelmente nunca digitou https://, mas você vai descobrir que muitas vezes 560 00:27:58,410 --> 00:28:03,000 o seu browser é redirecionado de HTTP para HTTPS para que tudo esteja lá 561 00:28:03,000 --> 00:28:04,260 depois codificado. 562 00:28:04,260 --> 00:28:10,810 >> FYI, usando SSL requer normalmente que você tem um endereço IP exclusivo. 563 00:28:10,810 --> 00:28:13,940 E, normalmente, para obter um endereço IP exclusivo você precisa pagar uma hospedagem 564 00:28:13,940 --> 00:28:15,850 empresa alguns dólares a mais por mês. 565 00:28:15,850 --> 00:28:19,850 Então, que isso é muito facilmente implementado nos dias de hoje através da compra de um IP 566 00:28:19,850 --> 00:28:22,930 endereço e através da compra o que é chamado um certificado SSL. 567 00:28:22,930 --> 00:28:26,520 Mas percebo que ele vem com algum custo adicional. 568 00:28:26,520 --> 00:28:30,880 E, como vamos tentar assustar em apenas um pouco, não é mesmo necessariamente 100% 569 00:28:30,880 --> 00:28:34,040 protetor de tudo o que é você está tentando proteger. 570 00:28:34,040 --> 00:28:38,620 >> Assim, por segurança, eu pensei que eu ia fazer uma espécie de acaso segue aqui. 571 00:28:38,620 --> 00:28:42,820 Como você poderia saber da palestra de CS50 videos, nossa equipe de produção tem sido um 572 00:28:42,820 --> 00:28:46,770 fã como eu tenho de tomar muito bom fotografia do campus, e aérea 573 00:28:46,770 --> 00:28:48,370 fotografia mais recentemente. 574 00:28:48,370 --> 00:28:51,450 Se você olhar para cima e você vê algo voando com uma pequena câmera, 575 00:28:51,450 --> 00:28:53,410 ele pode realmente ser CS50. 576 00:28:53,410 --> 00:28:55,830 E eu apenas pensei que eu iria partilhar minuto algumas das imagens que a equipe tem 577 00:28:55,830 --> 00:28:59,450 reunidos, particularmente quando olhamos para o semestre da primavera e no próximo outono. 578 00:28:59,450 --> 00:29:03,320 Se algum de vocês tem um talento especial para fotografia, videografia, faríamos 579 00:29:03,320 --> 00:29:05,570 adoraria te envolver nos bastidores. 580 00:29:05,570 --> 00:29:07,595 Mas mais sobre esses detalhes em uma semana. 581 00:29:07,595 --> 00:29:18,560 >> [MUSIC] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. MALAN: Acontece que há uma campo de golfe em miniatura no topo 583 00:29:20,750 --> 00:29:22,754 o estádio que nunca soube. 584 00:29:22,754 --> 00:30:06,150 >> [MUSIC] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. MALAN: Você pode ver o Esboço de o avião lá. 586 00:30:08,440 --> 00:30:24,160 >> [MUSIC] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. MALAN: A melhor parte aqui é, assista o corredor à esquerda. 588 00:30:26,280 --> 00:30:52,900 >> [MUSIC] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. MALAN: Outro exemplo de que você pode fazer com a tecnologia que é 590 00:30:56,920 --> 00:30:58,900 apenas tangencialmente, francamente, relacionadas com a segurança. 591 00:30:58,900 --> 00:31:01,710 Mas eu pensei que seria uma mais maneira divertida de apenas dizer, segurança. 592 00:31:01,710 --> 00:31:07,780 Então vamos ver se não podemos assustar vocês agora não só com um pouco de alguns 593 00:31:07,780 --> 00:31:10,590 ameaças, mas também um subjacentes compreensão do que essas ameaças 594 00:31:10,590 --> 00:31:13,830 são de modo que você pode avançar decidir como e se defender 595 00:31:13,830 --> 00:31:17,290 se contra essas coisas e em menos para estar atento a eles como você 596 00:31:17,290 --> 00:31:20,530 tomar decisões quanto à existência ou não de enviar o e-mail, se deve ou não fazer 597 00:31:20,530 --> 00:31:24,920 em que site, se deve ou não utilizar o acesso Wi-Fi de cyber café 598 00:31:24,920 --> 00:31:28,210 ponto para que você saiba o que o ameaças são na verdade em torno de você. 599 00:31:28,210 --> 00:31:30,990 >> Então Jonathan refere a algo gosto desta segunda-feira. 600 00:31:30,990 --> 00:31:32,220 Ele tinha uma captura de tela da janela. 601 00:31:32,220 --> 00:31:33,630 Este é de um Mac. 602 00:31:33,630 --> 00:31:36,850 Como muitos de vocês já instalado software no seu Mac ou PC? 603 00:31:36,850 --> 00:31:38,420 Obviamente todos. 604 00:31:38,420 --> 00:31:41,590 Como muitos de vocês têm dado muita atenção para digitar sua senha 605 00:31:41,590 --> 00:31:43,030 quando solicitado? 606 00:31:43,030 --> 00:31:44,740 Quero dizer, mesmo que eu não fizer isso, francamente. 607 00:31:44,740 --> 00:31:48,730 Então, alguns de nós são bons em ser paranóico. 608 00:31:48,730 --> 00:31:50,490 Mas considere o que você está realmente fazendo aqui. 609 00:31:50,490 --> 00:31:53,280 >> Em um típico Mac ou PC que você tem uma conta de administrador. 610 00:31:53,280 --> 00:31:56,450 E, normalmente, você é o único a usar um computador portátil, pelo menos, nos dias de hoje. 611 00:31:56,450 --> 00:31:59,780 Então a sua conta, Malan ou JHarvard ou seja o que for, é o 612 00:31:59,780 --> 00:32:00,830 conta de administrador. 613 00:32:00,830 --> 00:32:03,530 E o que isso significa é que você tem acesso root ao seu computador. 614 00:32:03,530 --> 00:32:06,180 Você pode instalar o que quiser, excluir qualquer coisa que você quiser. 615 00:32:06,180 --> 00:32:10,800 >> E, normalmente, nos dias de hoje, por causa da decisões de projeto datada de anos atrás, 616 00:32:10,800 --> 00:32:14,560 a forma mais software é instalado é como um administrador. 617 00:32:14,560 --> 00:32:18,180 E mesmo se o seu Mac ou PC tem pelo menos ficou esperto o suficiente sobre o 618 00:32:18,180 --> 00:32:22,010 anos, com as últimas encarnações de Mac OS e Windows para não correr o 619 00:32:22,010 --> 00:32:26,130 nome de usuário por padrão como o administrador, quando você baixar algum 620 00:32:26,130 --> 00:32:29,160 novo programa da internet e tentar instalá-lo, você provavelmente vai 621 00:32:29,160 --> 00:32:30,880 ser solicitado pela sua senha. 622 00:32:30,880 --> 00:32:34,790 Mas o problema é, nesse ponto, você está literalmente entregando as chaves do seu 623 00:32:34,790 --> 00:32:38,620 computador para qualquer aleatório programa que você acabou de baixar e 624 00:32:38,620 --> 00:32:41,590 permitindo-se a instalação tudo o que quer. 625 00:32:41,590 --> 00:32:45,050 >> E, como Jonathan aludido, perceber que se poderia dizer que ele quer 626 00:32:45,050 --> 00:32:49,350 instalar o software que você se importa sobre, Spotify ou o iTunes ou qualquer outra coisa 627 00:32:49,350 --> 00:32:50,900 que é que você está tentando instalar. 628 00:32:50,900 --> 00:32:54,710 Mas você está, literalmente, confiando o autor ou autores do software para 629 00:32:54,710 --> 00:32:57,570 só fazer o que o programa é suposto fazer. 630 00:32:57,570 --> 00:33:02,320 >> Mas não há absolutamente nada parando a maioria dos programas na maioria 631 00:33:02,320 --> 00:33:06,910 sistemas operacionais de exclusão de arquivos, de enviá-las para alguma empresa do 632 00:33:06,910 --> 00:33:10,040 site, a partir de corrico ao redor, para criptografar as coisas. 633 00:33:10,040 --> 00:33:12,970 E mais uma vez, temos uma espécie de construção uma infra-estrutura toda sobre 634 00:33:12,970 --> 00:33:14,930 os anos na confiança. 635 00:33:14,930 --> 00:33:18,690 E assim perceber que você acabou de confiar nas pessoas ao acaso e ao acaso 636 00:33:18,690 --> 00:33:20,050 empresas para a maior parte. 637 00:33:20,050 --> 00:33:24,860 >> E Jonathan aludiu também, às vezes essas próprias empresas são uma espécie de 638 00:33:24,860 --> 00:33:26,410 conscientemente malicioso, tudo bem? 639 00:33:26,410 --> 00:33:30,200 Sony pegou um monte de críticas de alguns anos atrás para instalar o que foi chamado de 640 00:33:30,200 --> 00:33:33,220 kit rootkit nos computadores das pessoas sem o seu conhecimento. 641 00:33:33,220 --> 00:33:36,570 E a essência disso foi que, quando você comprei um CD, por exemplo, que eles 642 00:33:36,570 --> 00:33:40,050 não quero que você seja capaz de copiar ou rasgar a música fora, o CD seria 643 00:33:40,050 --> 00:33:42,600 instalar, sem o seu conhecimento, um rootkit em seu computador. 644 00:33:42,600 --> 00:33:46,020 Rootkit software apenas o que significa que é executado como administrador que potencialmente 645 00:33:46,020 --> 00:33:47,260 faz coisas ruins. 646 00:33:47,260 --> 00:33:50,780 >> Mas entre as coisas que essa coisa se foi ele escondeu-se. 647 00:33:50,780 --> 00:33:53,660 Então, alguns de vocês podem ser muito mais experiente com o seu computador e saber, bem, eu 648 00:33:53,660 --> 00:33:57,310 pode apenas abrir o Gerenciador de Tarefas ou a Activity Monitor e posso olhar para todos 649 00:33:57,310 --> 00:33:59,150 dos programas nomeados arcanely que estão em execução. 650 00:33:59,150 --> 00:34:01,760 E se alguma coisa parece suspeito Eu vou matá-lo ou apagá-lo. 651 00:34:01,760 --> 00:34:02,980 Mas isso é o que o rootkit fez. 652 00:34:02,980 --> 00:34:07,070 Ele basicamente disse que, se correr Task Manager, não mostrar-se. 653 00:34:07,070 --> 00:34:08,500 >> Assim, o software foi. 654 00:34:08,500 --> 00:34:12,710 E somente se você realmente olhou difícil você poderia até mesmo encontrá-lo. 655 00:34:12,710 --> 00:34:15,670 E isto foi feito em nome de proteção contra cópia. 656 00:34:15,670 --> 00:34:18,230 Mas imaginem o que poderia ter sido feito em contrário. 657 00:34:18,230 --> 00:34:19,699 >> Agora em termos de proteger a si mesmo. 658 00:34:19,699 --> 00:34:22,190 Um monte de sites são maravilhosamente gracioso em que eles colocaram estes 659 00:34:22,190 --> 00:34:26,480 ícones de cadeado em sua página inicial que significa que o site é seguro. 660 00:34:26,480 --> 00:34:28,870 Isto é de bankofamerica.com esta manhã. 661 00:34:28,870 --> 00:34:32,239 E o que isso pequeno ícone de cadeado não significa que ao lado do botão Sign In? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Absolutamente nada. 664 00:34:36,790 --> 00:34:39,560 Isso significa que alguém sabe como usar Photoshop para fazer uma imagem de um 665 00:34:39,560 --> 00:34:40,590 ícone de cadeado. 666 00:34:40,590 --> 00:34:44,449 Como literalmente, o fato de que é não se destina a ser positiva 667 00:34:44,449 --> 00:34:46,880 sinal para o utilizador como, ooh, site seguro. 668 00:34:46,880 --> 00:34:50,449 Devo confiar neste site e agora digitar meu nome de usuário e senha. 669 00:34:50,449 --> 00:34:53,870 E esta tem sido convencional para anos, como recentemente, esta manhã. 670 00:34:53,870 --> 00:34:56,949 >> Mas considere os hábitos que isto está a ficar-nos para. 671 00:34:56,949 --> 00:35:00,600 Considerar a mensagem implícita de que todos destes bancos neste caso foram 672 00:35:00,600 --> 00:35:01,830 enviando-nos por anos. 673 00:35:01,830 --> 00:35:05,160 Se você ver cadeado, em seguida, prenda. 674 00:35:05,160 --> 00:35:05,340 Tudo bem? 675 00:35:05,340 --> 00:35:10,520 >> Então, como você pode abusar desse sistema de confiança, se você é o vilão? 676 00:35:10,520 --> 00:35:14,100 Coloque um cadeado no seu site, e logicamente, os usuários têm sido 677 00:35:14,100 --> 00:35:17,260 condicionadas durante anos para assumir cadeado significa seguro. 678 00:35:17,260 --> 00:35:19,310 E isso pode ser realmente seguro. 679 00:35:19,310 --> 00:35:24,810 Você pode ter uma maravilhosa seguro SSL conexão HTTPS para uma 680 00:35:24,810 --> 00:35:26,452 site falso. com. 681 00:35:26,452 --> 00:35:30,150 E ninguém no mundo pode ver que você está prestes a entregar-lhe 682 00:35:30,150 --> 00:35:32,790 seu nome de usuário e senha à sua conta. 683 00:35:32,790 --> 00:35:35,110 >> Isso, porém, talvez, uma pouco mais tranquilizador. 684 00:35:35,110 --> 00:35:38,600 Portanto, esta é uma captura de tela do topo do meu navegador esta manhã em 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 E observe também aqui tem um ícone de cadeado. 687 00:35:43,270 --> 00:35:48,040 O que significa, neste contexto, no Chrome, pelo menos? 688 00:35:48,040 --> 00:35:49,520 >> Então, isso agora está usando SSL. 689 00:35:49,520 --> 00:35:51,220 Portanto, esta é realmente uma coisa melhor. 690 00:35:51,220 --> 00:35:54,250 E o fato de que o Chrome é o que torna verde é para chamar a nossa atenção 691 00:35:54,250 --> 00:35:56,750 para o facto de que este é não só sobre SSL. 692 00:35:56,750 --> 00:36:01,400 Esta é uma empresa que alguém tem verificado é realmente 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 E isso significa que o Bank of America, quando for comprar seu chamado SSL 695 00:36:05,970 --> 00:36:09,680 certificado, essencialmente grande acaso, números um pouco aleatórias que implementam 696 00:36:09,680 --> 00:36:14,710 segurança para eles, eles têm sido verificada por meio de um terceiro independente 697 00:36:14,710 --> 00:36:15,570 partido que diz, sim. 698 00:36:15,570 --> 00:36:19,240 Este é realmente o CEO do Bank of América tentando comprar o certificado. 699 00:36:19,240 --> 00:36:23,290 Chrome, portanto, confiar que autoridade de certificação e dizer em 700 00:36:23,290 --> 00:36:25,265 verde, este é bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 E Bank of America paga apenas alguns centenas de dólares para que um ou alguns 702 00:36:27,997 --> 00:36:30,800 mil em oposição a um algumas dezenas de dólares. 703 00:36:30,800 --> 00:36:34,940 >> Mas também aqui, quantos de vocês já comportado de forma diferente, porque 704 00:36:34,940 --> 00:36:38,576 a URL no seu navegador é verde em vez de preto? 705 00:36:38,576 --> 00:36:39,900 Certo? 706 00:36:39,900 --> 00:36:40,600 Então, alguns de nós. 707 00:36:40,600 --> 00:36:42,115 E isso é bom para ser paranóico. 708 00:36:42,115 --> 00:36:45,910 Mas, mesmo assim, aqueles de vocês que ainda observar essas coisas, você realmente 709 00:36:45,910 --> 00:36:50,720 parar o registro em uma outra forma segura site, se a URL não é verde? 710 00:36:50,720 --> 00:36:53,380 Tudo bem, então provavelmente não, certo? 711 00:36:53,380 --> 00:36:56,740 Pelo menos a maioria de nós, se não é verde, provavelmente você só vai 712 00:36:56,740 --> 00:36:57,440 para ser assim, que seja. 713 00:36:57,440 --> 00:36:58,950 Tipo, eu quero entrar neste site. 714 00:36:58,950 --> 00:37:00,200 É por isso que estou aqui. 715 00:37:00,200 --> 00:37:02,390 Eu vou fazer o login no entanto. 716 00:37:02,390 --> 00:37:04,500 >> Como um aparte, o Chrome é um pouco melhor sobre isso. 717 00:37:04,500 --> 00:37:07,990 Mas há um monte de navegadores como Firefox, por exemplo, pelo menos para 718 00:37:07,990 --> 00:37:12,190 algum tempo, onde o ícone de cadeado é, você pode realmente colocar qualquer 719 00:37:12,190 --> 00:37:13,250 ícone de sua preferência. 720 00:37:13,250 --> 00:37:17,480 Deixe-me ver o que a versão mais recente do Firefox parece. 721 00:37:17,480 --> 00:37:20,040 Então, se vamos para CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, então eles ficaram melhor assim. 723 00:37:21,580 --> 00:37:24,970 O que os navegadores usados ​​para fazer é gostar, aqui está, por exemplo, [? SAAS é?] 724 00:37:24,970 --> 00:37:25,790 coroar-se aqui. 725 00:37:25,790 --> 00:37:29,240 Esse é o chamado favorito ícone de um site. 726 00:37:29,240 --> 00:37:30,190 Anos atrás - 727 00:37:30,190 --> 00:37:34,720 realmente não há muito tempo - que pouco escudo teria sido direita 728 00:37:34,720 --> 00:37:36,560 aqui ao lado da URL. 729 00:37:36,560 --> 00:37:40,300 Porque algum gênio decidiu que seria apenas olhar muito elegante ter 730 00:37:40,300 --> 00:37:43,150 seu direito do logotipo gráfica ao lado de seu URL. 731 00:37:43,150 --> 00:37:45,310 E design inteligente, que na verdade é bastante convincente. 732 00:37:45,310 --> 00:37:47,240 >> Então, o que mau começo cara está fazendo? 733 00:37:47,240 --> 00:37:50,500 Eles começaram a mudar o seu favorito ícones, ou o seu ícone padrão para um 734 00:37:50,500 --> 00:37:55,250 homepage para não ser uma crista mas de um cadeado, o qual tinha 735 00:37:55,250 --> 00:37:56,600 absolutamente nenhum sentido. 736 00:37:56,600 --> 00:37:59,760 Diferente do seu ícone favorito foi um cadeado que não tinha 737 00:37:59,760 --> 00:38:01,250 indicações de segurança. 738 00:38:01,250 --> 00:38:04,040 >> Assim, as aulas aqui são um casal que eu penso. 739 00:38:04,040 --> 00:38:07,820 Uma delas é que há realmente alguns mecanismos bem intencionados para 740 00:38:07,820 --> 00:38:12,850 ensinando-nos os usuários sobre segurança mesmo Se você ainda não estavam cientes que verde 741 00:38:12,850 --> 00:38:15,110 significa ou o que ainda HTTPS significava. 742 00:38:15,110 --> 00:38:19,130 Mas, se esses mecanismos nos levar o mau hábito de sites de confiança 743 00:38:19,130 --> 00:38:23,390 quando vemos esses sinais positivos, eles estão muito facilmente abusado como vimos 744 00:38:23,390 --> 00:38:26,480 apenas um momento atrás, com algo bobo assim. 745 00:38:26,480 --> 00:38:29,100 >> Então, seqüestro de sessão entra em jogar, como dissemos antes, 746 00:38:29,100 --> 00:38:30,510 com biscoitos, por exemplo. 747 00:38:30,510 --> 00:38:32,130 E o que isso realmente significa? 748 00:38:32,130 --> 00:38:35,930 Bem com o seqüestro de sessão é tudo sobre roubar biscoitos de alguém. 749 00:38:35,930 --> 00:38:39,860 Então, se eu abrir Chrome aqui, para exemplo, e eu abrir o Inspector 750 00:38:39,860 --> 00:38:41,550 aqui e eu vou A guia Rede - 751 00:38:41,550 --> 00:38:42,830 e nós temos feito isso antes - 752 00:38:42,830 --> 00:38:48,900 e eu ir para algo como http://facebook.com Enter, um todo 753 00:38:48,900 --> 00:38:52,280 monte de coisas passa pela tela por causa de todas as imagens e CSS e 754 00:38:52,280 --> 00:38:53,490 Arquivos JavaScript. 755 00:38:53,490 --> 00:38:59,420 >> Mas se eu olhar para este aqui notar que o Facebook é realmente uma plantação 756 00:38:59,420 --> 00:39:02,310 ou mais cookies no meu navegador aqui. 757 00:39:02,310 --> 00:39:05,610 Portanto, estas são essencialmente a mão selos que me representam. 758 00:39:05,610 --> 00:39:08,580 E agora espero que meu navegador apresentar este novo e de novo quando 759 00:39:08,580 --> 00:39:10,560 revisitar o site. 760 00:39:10,560 --> 00:39:15,810 Mas isso só é seguro, que disse que um Algumas semanas atrás, se você estiver usando SSL. 761 00:39:15,810 --> 00:39:18,860 >> Mas mesmo SSL em si pode ser comprometida. 762 00:39:18,860 --> 00:39:21,800 Considere depois de toda a forma de trabalho de SSL. 763 00:39:21,800 --> 00:39:28,860 Quando seu navegador se conecta a um computador remoto servidor através de https://, longa história curta, 764 00:39:28,860 --> 00:39:30,110 criptografia é envolvido. 765 00:39:30,110 --> 00:39:34,750 Não é tão simples como César ou Visionaire ou mesmo DES, DES a partir de um 766 00:39:34,750 --> 00:39:36,110 tempo de volta em pset2. 767 00:39:36,110 --> 00:39:37,410 É mais sofisticado do que isso. 768 00:39:37,410 --> 00:39:39,110 É chamado de criptografia de chave pública. 769 00:39:39,110 --> 00:39:42,845 Mas realmente grande e realmente aleatória números são usados ​​para embaralhar 770 00:39:42,845 --> 00:39:47,125 informações entre o ponto A, você, eo ponto B, como facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Mas o problema é, como muitos de nós novamente nunca digitar https:// para começar 772 00:39:52,570 --> 00:39:55,790 nossa conexão de site em que o modo seguro? 773 00:39:55,790 --> 00:40:00,900 Quero dizer, como muitos de vocês mesmo Tipo http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Tudo bem, se você fizer isso, como, Olá. 775 00:40:02,290 --> 00:40:03,510 Você não precisa fazer isso mais, certo? 776 00:40:03,510 --> 00:40:05,190 O navegador vai descobrir isso. 777 00:40:05,190 --> 00:40:08,070 >> Mas a maioria de nós realmente basta digitar facebook.com. 778 00:40:08,070 --> 00:40:10,960 Porque se estamos usando um navegador, o navegadores ficaram bastante inteligente, 779 00:40:10,960 --> 00:40:14,920 2013, para assumir, se você estiver usando um browser, você digita um endereço, 780 00:40:14,920 --> 00:40:18,550 provavelmente vai querer acessá-lo não via e-mail ou mensagem instantânea. 781 00:40:18,550 --> 00:40:21,250 Você quer dizer HTTP ea porta 80. 782 00:40:21,250 --> 00:40:22,970 Essas convenções foram adotadas. 783 00:40:22,970 --> 00:40:24,830 >> Mas como funciona o redirecionamento? 784 00:40:24,830 --> 00:40:26,170 Bem, observe o que acontece aqui. 785 00:40:26,170 --> 00:40:27,590 Se eu voltar para o Chrome - 786 00:40:27,590 --> 00:40:31,920 e vamos fazer isso em incógnito Modo de modo que todo o meu 787 00:40:31,920 --> 00:40:33,620 cookies são jogados fora. 788 00:40:33,620 --> 00:40:38,130 E deixe-me ir aqui para, novamente, facebook.com. 789 00:40:38,130 --> 00:40:39,490 E vamos ver o que acontece. 790 00:40:39,490 --> 00:40:43,372 >> Lembre-se que o primeiro pedido foi na verdade apenas para facebook.com. 791 00:40:43,372 --> 00:40:46,580 Mas qual foi a resposta que eu tenho? 792 00:40:46,580 --> 00:40:48,520 Não era um 200 OK. 793 00:40:48,520 --> 00:40:53,550 Foi 300, ou 301, que é um redirecionar a dizer-me para ir para 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, que é Facebook, onde quer que eu vá. 795 00:40:59,050 --> 00:41:01,900 Mas, então, se olharmos para o próximo pedido, e já vimos isso antes, 796 00:41:01,900 --> 00:41:04,370 perceber o que é a sua segunda resposta. 797 00:41:04,370 --> 00:41:10,280 Especificamente o que eles querem me agora ir para a versão SSL do Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Então aqui está uma oportunidade. 799 00:41:11,800 --> 00:41:15,440 Esta é uma característica maravilhosamente útil apenas da web e HTTP. 800 00:41:15,440 --> 00:41:19,570 Se o usuário final como o Facebook me quer para ficar na versão segura do seu 801 00:41:19,570 --> 00:41:20,850 website, ótimo. 802 00:41:20,850 --> 00:41:23,130 Eles vão me redirecionar para mim. 803 00:41:23,130 --> 00:41:25,250 E assim, eu não tenho sequer pensar sobre isso. 804 00:41:25,250 --> 00:41:29,200 >> Mas e se entre o ponto A e B, entre você e Facebook, há alguns 805 00:41:29,200 --> 00:41:32,220 bandido, há algum sistema administrador de Harvard que é curioso 806 00:41:32,220 --> 00:41:34,240 para ver quem são seus amigos. 807 00:41:34,240 --> 00:41:36,760 Ou há alguma - 808 00:41:36,760 --> 00:41:38,340 anos atrás, este utilizado para parecer loucura - 809 00:41:38,340 --> 00:41:41,950 mas há alguma entidade governamental como o NSA que está realmente interessado 810 00:41:41,950 --> 00:41:44,390 em que você está cutucando no Facebook. 811 00:41:44,390 --> 00:41:45,910 Onde está a oportunidade de lá? 812 00:41:45,910 --> 00:41:49,305 Bem, contanto que alguém tem o suficiente técnico mais experiente e eles têm acesso 813 00:41:49,305 --> 00:41:53,350 à sua rede real através de Wi-Fi ou alguns fios física, 814 00:41:53,350 --> 00:41:54,570 o que eles poderiam fazer? 815 00:41:54,570 --> 00:41:57,520 >> Bem, se eles estão na mesma rede você e eles sabem alguma coisa sobre 816 00:41:57,520 --> 00:42:02,050 / Endereços de IP e IP e DNS e como TCP Tudo isso funciona, o que se 817 00:42:02,050 --> 00:42:05,970 homem no meio, o que se isso National Agência de Segurança, o que for 818 00:42:05,970 --> 00:42:11,480 Pode ser, mas o que acontece se essa entidade simplesmente responde mais rapidamente do que a Facebook 819 00:42:11,480 --> 00:42:15,820 seu pedido HTTP e diz: oh, eu sou Facebook. 820 00:42:15,820 --> 00:42:19,300 Vá em frente, e aqui está o HTML para facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Os computadores são muito danado rápido. 822 00:42:20,720 --> 00:42:25,990 Assim, você pode escrever um programa em execução no um servidor como nsa.gov que quando 823 00:42:25,990 --> 00:42:29,790 ouve um pedido por facebook.com, muito rapidamente atrás da 824 00:42:29,790 --> 00:42:34,000 cenas recebe o making facebook.com reais perfeitamente [? esque?] seguro 825 00:42:34,000 --> 00:42:38,290 Conexão SSL entre NSA e entre Facebook, conseguir que o HTML muito 826 00:42:38,290 --> 00:42:42,670 segurança para a página de login, e em seguida o servidor NSA apenas responde a você 827 00:42:42,670 --> 00:42:44,942 com uma página de login para facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Agora, quantos de vocês iria nem perceber que você está usando o Facebook através de HTTP 829 00:42:49,120 --> 00:42:53,375 ainda nesse ponto porque você acidentalmente ligado e nsa.gov 830 00:42:53,375 --> 00:42:53,870 Facebook não? 831 00:42:53,870 --> 00:42:54,980 As URLs não mudar. 832 00:42:54,980 --> 00:42:57,040 Tudo isso está sendo feito nos bastidores. 833 00:42:57,040 --> 00:42:59,470 Mas a maioria de nós, eu incluído, provavelmente não notaria 834 00:42:59,470 --> 00:43:00,800 um detalhe tão pequeno. 835 00:43:00,800 --> 00:43:05,510 >> Então você pode ter um perfeitamente viável conexão entre você eo que você 836 00:43:05,510 --> 00:43:08,660 acho que é o Facebook, mas não há uma o chamado homem no meio. 837 00:43:08,660 --> 00:43:12,480 E este é um termo geral para o homem o ataque do meio onde você tem alguns 838 00:43:12,480 --> 00:43:17,670 entidade entre você eo ponto B é de alguma forma manipular, roubar ou 839 00:43:17,670 --> 00:43:18,960 observando seus dados. 840 00:43:18,960 --> 00:43:22,750 Assim, mesmo SSL não é infalível, especialmente se você foi enganado 841 00:43:22,750 --> 00:43:26,790 não ligá-lo por causa da forma como estes mecanismos subjacentes realmente funcionar. 842 00:43:26,790 --> 00:43:30,670 >> Então, hoje uma lição, então também é se você realmente quer ser paranóico - 843 00:43:30,670 --> 00:43:32,110 e mesmo aqui há ameaças - 844 00:43:32,110 --> 00:43:37,112 você deve realmente começar a entrar o hábito de digitar https://www 845 00:43:37,112 --> 00:43:39,850 qualquer nome de domínio que você realmente se preocupam. 846 00:43:39,850 --> 00:43:41,820 >> E como um aparte também há ainda uma outra ameaça com 847 00:43:41,820 --> 00:43:43,410 CONTA seqüestro de sessão. 848 00:43:43,410 --> 00:43:47,440 Muitas vezes, quando você visita um site como facebook.com, a menos que o 849 00:43:47,440 --> 00:43:51,050 servidor foi configurado para dizer que esse selo lado, colocar em você 850 00:43:51,050 --> 00:43:56,140 ontem deve ser proteger a si mesmo, seu navegador pode muito bem, em cima 851 00:43:56,140 --> 00:44:00,620 coisas como visitar facebook.com google.com, twitter.com, o seu browser 852 00:44:00,620 --> 00:44:04,280 pode apresentar apenas esse selo mão para ser golpeado para baixo e disse: não. 853 00:44:04,280 --> 00:44:05,660 Use SSL. 854 00:44:05,660 --> 00:44:07,030 >> Mas é tarde demais nesse ponto. 855 00:44:07,030 --> 00:44:10,940 Se você já enviou a sua mão selo, o seu cookie, em claro com 856 00:44:10,940 --> 00:44:15,180 não SSL, você tem uma fração de segundo vulnerabilidade em que alguém cheirando 857 00:44:15,180 --> 00:44:19,530 o seu tráfego, se companheiro de quarto ou NSA, pode, então, usar esse mesmo cookie e 858 00:44:19,530 --> 00:44:23,860 com um pouco de conhecimento técnico, apresentá-lo como o seu próprio. 859 00:44:23,860 --> 00:44:25,930 >> Outro ataque você pode não tenham pensado. 860 00:44:25,930 --> 00:44:30,120 Este é realmente em você, se você estragar isso por escrito algum site que 861 00:44:30,120 --> 00:44:31,580 de alguma forma utiliza SQL. 862 00:44:31,580 --> 00:44:34,610 Então, aqui, por exemplo, é uma tela tiro de logon de Harvard. 863 00:44:34,610 --> 00:44:36,380 E é um exemplo geral de algo com um 864 00:44:36,380 --> 00:44:37,480 nome de usuário e senha. 865 00:44:37,480 --> 00:44:38,440 Super comum. 866 00:44:38,440 --> 00:44:41,310 Então vamos supor que existe e SSL não há homem no meio ou 867 00:44:41,310 --> 00:44:41,920 qualquer coisa assim. 868 00:44:41,920 --> 00:44:45,660 Agora estamos nos concentrando no servidor de código que você pode escrever. 869 00:44:45,660 --> 00:44:49,830 >> Bem, quando eu digitar um nome de usuário e senha, suponha que o serviço PIN 870 00:44:49,830 --> 00:44:51,740 é implementado em PHP. 871 00:44:51,740 --> 00:44:53,990 E você pode ter um código no servidor assim. 872 00:44:53,990 --> 00:44:57,740 Obter o nome do usuário a partir do posto de super global e obter a senha e, em seguida, 873 00:44:57,740 --> 00:45:01,130 se estiver usando algum pset7 como código há uma função de consulta 874 00:45:01,130 --> 00:45:01,820 que pode fazer isso. 875 00:45:01,820 --> 00:45:06,320 Selecione Estrela de usuários onde nome de usuário é igual ao que é igual e senha. 876 00:45:06,320 --> 00:45:08,120 >> Isso parece, à primeira vista, totalmente razoável. 877 00:45:08,120 --> 00:45:11,090 Este é sintaticamente código PHP válido. 878 00:45:11,090 --> 00:45:13,160 Logicamente não há nada errado com isso. 879 00:45:13,160 --> 00:45:15,710 Presumivelmente, há mais algumas linhas que realmente fazer alguma coisa com a 880 00:45:15,710 --> 00:45:18,150 resultado que volta a partir da base de dados. 881 00:45:18,150 --> 00:45:20,580 Mas isso é vulnerável para pelas razões a seguir. 882 00:45:20,580 --> 00:45:23,760 >> Observe que, como um bom cidadão, Eu coloquei entre aspas, single 883 00:45:23,760 --> 00:45:25,380 citações, o nome de usuário. 884 00:45:25,380 --> 00:45:26,980 E eu coloquei entre aspas simples a senha. 885 00:45:26,980 --> 00:45:28,830 E isso é uma coisa boa, porque eles são não deveria ser números. 886 00:45:28,830 --> 00:45:30,660 Normalmente eles estão indo para ser um texto. 887 00:45:30,660 --> 00:45:32,290 Então, eu estou citando-os como strings. 888 00:45:32,290 --> 00:45:37,470 >> E se eu agora avançar ainda mais e se - e eu já tirou as balas do 889 00:45:37,470 --> 00:45:38,870 PIN serviço temporariamente - 890 00:45:38,870 --> 00:45:41,650 o que se eu tentar logar como Presidente [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 mas eu afirmo que minha senha está 12345 'OR '1' = '1, e aviso 892 00:45:52,540 --> 00:45:53,830 o que eu não fiz. 893 00:45:53,830 --> 00:45:56,140 Eu não fechar o outro apóstrofo. 894 00:45:56,140 --> 00:45:58,500 Porque eu sou muito afiada aqui como o cara mau. 895 00:45:58,500 --> 00:46:01,870 E eu estou supondo que eles são que você é não é muito bom com o seu 896 00:46:01,870 --> 00:46:03,450 PHP e MySQL de código. 897 00:46:03,450 --> 00:46:06,740 Eu estou supondo que você não está verificando para a presença de aspas. 898 00:46:06,740 --> 00:46:11,190 >> Então, o que aconteceu é que, quando o seu usuário digitou em que string, 899 00:46:11,190 --> 00:46:15,060 a consulta que você está prestes a criar parecido com este. 900 00:46:15,060 --> 00:46:18,180 E longa história curta, se você e algo juntos ou você ou algo assim 901 00:46:18,180 --> 00:46:21,740 juntos isso vai voltar uma linha do banco de dados. 902 00:46:21,740 --> 00:46:26,570 Porque é sempre o caso em que um é igual a 1. 903 00:46:26,570 --> 00:46:30,400 >> E só porque você não antecipar que seus usuários, boas ou más, podem 904 00:46:30,400 --> 00:46:35,340 tem um apóstrofo em seu nome criaram uma consulta SQL que ainda é 905 00:46:35,340 --> 00:46:39,040 válido, e vai voltar agora mais resultados que você poderia ter previsto. 906 00:46:39,040 --> 00:46:42,340 E assim, este bandido agora tem potencialmente conectado ao seu servidor 907 00:46:42,340 --> 00:46:47,060 porque seu banco de dados está retornando uma linha mesmo se ele ou ela não tem idéia do que 908 00:46:47,060 --> 00:46:49,410 [? ?] Senha real do Scroob é. 909 00:46:49,410 --> 00:46:50,640 >> Oh, eu percebi um erro de digitação aqui. 910 00:46:50,640 --> 00:46:53,260 Eu deveria ter dito a senha é igual a 12345 como o anterior 911 00:46:53,260 --> 00:46:54,990 exemplo 1 ou igual a 1. 912 00:46:54,990 --> 00:46:56,400 Eu vou consertar isso online. 913 00:46:56,400 --> 00:46:59,960 >> Então, por que nós temos você usando a consulta função com pontos de interrogação? 914 00:46:59,960 --> 00:47:04,000 Uma das coisas que a função de consulta que para você é que faz-se de que 915 00:47:04,000 --> 00:47:07,660 quando você passar argumentos após o vírgulas aqui assim que a consulta 916 00:47:07,660 --> 00:47:10,330 que é realmente enviado para o banco de dados parecido com este. 917 00:47:10,330 --> 00:47:13,830 Muita mais feio de se ver, mas de volta barras foram automaticamente 918 00:47:13,830 --> 00:47:19,030 inserido, para evitar que precisamente ataque de injeção que eu mostrei um 919 00:47:19,030 --> 00:47:20,270 momento atrás. 920 00:47:20,270 --> 00:47:24,930 >> Agora a diversão XKCD que eu pensei que eu ia puxar aqui que espero que agora deve ser uma 921 00:47:24,930 --> 00:47:28,546 pouco mais compreensível é este aqui. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> Um pouco? 924 00:47:40,265 --> 00:47:42,370 Talvez precisemos de um pouco mais discussão sobre isso. 925 00:47:42,370 --> 00:47:47,810 Portanto, este é aludindo a uma criança chamado Bobby, que, de alguma forma levado 926 00:47:47,810 --> 00:47:52,250 vantagem de um site que é apenas confiando que o que o usuário digitou 927 00:47:52,250 --> 00:47:55,100 nos não é, de fato, o código SQL, mas é na verdade uma string. 928 00:47:55,100 --> 00:47:56,830 >> Agora você deve se lembrar que a queda - 929 00:47:56,830 --> 00:48:00,190 você pode ter visto isso - significa queda excluir uma tabela, excluir um banco de dados. 930 00:48:00,190 --> 00:48:02,235 Então, se você essencialmente afirmam que seu 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 você pode muito bem enganar o banco de dados não só para verificar que você é 934 00:48:09,370 --> 00:48:13,530 na verdade Robert, mas também ponto e vírgula continuar a cair da mesa. 935 00:48:13,530 --> 00:48:17,560 >> E assim, ataques de injeção de SQL pode na verdade, ser tão ameaçador como esta 936 00:48:17,560 --> 00:48:20,740 através do qual você pode apagar os dados de alguém, você pode selecionar mais datas do que 937 00:48:20,740 --> 00:48:23,440 pretendido, você pode inserir ou atualização de dados. 938 00:48:23,440 --> 00:48:26,520 E você pode realmente ver este sobre a exercícios em casa, não para mal-intencionado 939 00:48:26,520 --> 00:48:29,730 propósitos, mas apenas para instrução, é qualquer momento você será solicitado a fazer logon 940 00:48:29,730 --> 00:48:35,180 no site, especialmente algum tipo de não, site muito popular muito público, 941 00:48:35,180 --> 00:48:38,630 tente efetuar login como John O'Reilly ou alguém com uma 942 00:48:38,630 --> 00:48:39,740 apóstrofo em seu nome. 943 00:48:39,740 --> 00:48:42,990 Ou, literalmente, basta digitar apóstrofe, pressione Enter, e ver o que acontece. 944 00:48:42,990 --> 00:48:47,990 >> E muitas vezes, tragicamente, pessoas não higienizado seus insumos e 945 00:48:47,990 --> 00:48:51,690 a certeza de que coisas como citações ou ponto e vírgula escapamos. 946 00:48:51,690 --> 00:48:54,430 É por isso que em pset7 damos Você esta função consulta. 947 00:48:54,430 --> 00:48:59,510 Mas não sob apreciar exatamente o que está fazendo para você. 948 00:48:59,510 --> 00:49:01,800 >> Assim, com o que disse, gosta de usar a web esta semana. 949 00:49:01,800 --> 00:49:04,660 E vamos vê-lo na segunda-feira. 950 00:49:04,660 --> 00:49:06,180 >> Na próxima CD50. 951 00:49:06,180 --> 00:49:18,614 >> [MUSIC]