>> [MÚSICA]
>> DAVID J. MALAN: Muy bien.
Así que esto es CS50 y esto es el final de la semana 10.
Así que algunos de ustedes han visto este ya, pero se distribuye en los últimos tiempos
es un artículo que me pareció que había leído un extracto de y luego una muestra
tres minutos de vídeo que las pinturas la misma imagen.
Fue realmente una historia conmovedora, que pensamiento, de esta intersección de la
mundo real con genuinamente convincente los usos de la tecnología.
>> Así que el artículo se titulaba: "Un niño oversleeps en tren, utiliza Google Maps
encontrar a la familia 25 años después. "Y el primeros dos párrafos eran,
"Cuando Saroo tenía cinco años fue con su hermano mayor que mendigar para
cambiar a un tren de pasajeros en un pueblo cerca de dos horas
de su pequeña ciudad natal.
Saroo se cansó y se metió en un tren cercana donde él pensaba que su
hermano, se quedó dormido.
Cuando despertó estaba en Calcuta, cerca de 900 kilómetros de distancia.
Saroo trató de encontrar su camino atrás, pero que no sabía
el nombre de su ciudad natal.
Y como un pequeño muchacho analfabeto en un vasto ciudad llena de niños olvidados que tenía
prácticamente ninguna posibilidad de llegar a casa.
>> Él era un niño de la calle por un tiempo hasta una agencia de adopción a nivel local conectado
él con una pareja australiana que lo llevó a
vivir en Hobart, Tasmania.
Saroo se trasladó allí, se enteró Inglés, y creció.
Pero nunca dejó de buscar su familia y su ciudad natal.
>> Décadas más tarde, descubrió Google Tierra y siguió las vías del tren.
Y dándose un radio determinado basado en el tiempo que él pensaba que era
dormido y la rapidez con que pensaba que el tren que estaba pasando, él sabía que había crecido
en un clima cálido, sabía que hablaba Hindi como un niño, y él le habían dicho
que parecía que era de las Indias Orientales.
>> Finalmente, después de años de fregar las fotos satelitales, él
reconocido algunos hitos.
Y después de charlar con un administrador de un pueblo cercano de
Página de Facebook, se dio cuenta que había encontrado en casa ".
>> Así que aquí es, entonces, la narración de vídeo esa historia desde su perspectiva.
>> [REPRODUCCIÓN DE VÍDEO]
>> -Fue hace 26 años y yo estaba a punto de cumplir cinco años.
Llegamos a la estación de tren y abordamos un tren juntos.
Mi hermano acaba de decir me quedo aquí y voy a volver.
Y pensé, bueno, ya sabes, puede ser que también acaba de ir a dormir y
entonces él me va a despertar.
Y cuando me despierto al día siguiente, el conjunto de carro estaba vacío el fugitivo
tren, un tren fantasma toma yo no sé dónde.
>> Yo fui adoptado a Australia a una familia australiana.
Y mamá había decorado mi habitación con el mapa de la India, que se
poner al lado de mi cama.
Me despertaba cada mañana viendo ese mapa, y por lo tanto, de alguna manera mantuvo la
recuerdos vivos.
>> La gente diría, que está tratando de encontrar una aguja en un pajar.
Saroo, nunca lo encontrarás.
Tendría destellos de los lugares que Yo solía ir, los flashes
de las caras de mi familia.
Allí estaba la imagen de mi madre sentada abajo con las piernas cruzadas
sólo viendo llorar.
La vida es tan difícil.
Ese era mi tesoro.
>> Y yo estaba buscando en Google Map y dado cuenta de que hay Google Earth.
En un mundo donde se puede hacer zoom en I comenzó a tener todos estos pensamientos y
qué posibilidades de que esto podría hacer por mí.
Me dije, bueno, ya sabes, tienes toda la fotográfico
recuerdos y lugares donde usted está desde y usted sabe lo que
la ciudad se parece.
Esto podría ser una aplicación que puede utilizar para encontrar el camino de vuelta.
>> Pensé, bueno, voy a poner un punto en La estación de tren de Calcuta en un radio de
línea que debe ser la búsqueda alrededor de esta área.
Me encontré con estas vías del tren.
Y empecé a seguir y me vine a una estación de tren, lo que refleja la
misma imagen que había en mis recuerdos.
>> Todo igualado.
Sólo pensé, sí.
Yo sé a dónde voy.
Yo sólo voy a dejar el mapa que tener en mi cabeza que me guíe y me lleve
De vuelta a mi ciudad natal.
>> Llegué a la puerta de la casa que yo nací y caminé alrededor
unos quince metros vuelta de la esquina.
Había tres mujeres de pie fuera adyacentes entre sí.
Y el del medio se adelantó.
Y pensé, esto es su madre.
Ella se acercó, me abrazó, y nos Estuvimos allí por unos cinco minutos.
>> Ella me agarró la mano y me llevó a la casa y se puso al teléfono y ella
llamó a mi hermana ya mi hermano para decir que tu hermano tiene sólo toda la
repente apareció como un fantasma.
>> Y entonces la familia era reunirse de nuevo.
Todo está bien.
Ayudo a mi madre.
Ella no tiene que estar trabajando como un burro.
Ella puede llevar el resto de su vida en paz.
>> Era una aguja en un pajar, pero la aguja estaba allí.
Todo está ahí.
Todo lo que tenemos en el mundo es el toque de un botón.
Pero usted tiene que tener la voluntad y la la determinación de quererlo.
>> [VIDEO PLAYBACK FIN]
>> Así que una historia muy dulce.
Y lo que realmente me recuerda a un buen tema que ha estado recibiendo un poco
de atención en los últimos tiempos en The Crimson, más a nivel nacional en general.
Sobre todo porque MOOCs están tomando la etapa de la tarde.
MOOCs siendo estos masiva y abierta cursos en línea de los cuales CS50 es uno.
>> Y la gente habla de cómo, por ejemplo, las humanidades no son realmente
ponerse al día o no lo sean tan en boga como lo eran antes.
Y les animo chicos, mucho como Jonathan hizo el lunes para pensar
acerca al salir 50, y sabemos ya cerca del 50% de los que no lo harás
continuar hasta tomar otro equipo curso de ciencia, y eso es totalmente
fina y esperado.
Debido a que uno de los objetivos generales de una clase como esta es realmente
empoderar a ustedes con sólo una comprensión de cómo todas estas cosas
obras y cómo este mundo del funcionamiento de la tecnología.
>> Así que cuando usted está de vuelta en su propio mundos, ya sea de pre-medicina o
si se trata de las humanidades o la ciencias sociales o algún otro campo
en total, que ustedes están trayendo algunos conocimientos técnicos a la mesa y
ayudando a tomar decisiones inteligentes cuando se trata de la utilización de y
introducción de la tecnología en su mundo.
>> Por ejemplo me acordé de tarde también de dos de la licenciatura
clases que tomé hace dos años, que eran tales usos simples de tecnología
pero nunca tan convincente.
Las primeras noches con el profesor Tom Kelly si usted ha tomado la clase.
Es una clase de música clásica en esta etapa aquí, donde se aprende
algo acerca de la música.
En realidad primeras noches que CS50 prestada la idea de pistas para los
menos cómodo en entre y más cómodo.
>> En mi tiempo tenían diferentes pistas para los niños con absolutamente ninguna música
experimentar como yo, y entonces los niños que había estado llevando a cabo desde que eran
cinco años de edad.
Y esa clase, por ejemplo, sólo tenía un sitio web como la mayoría de cualquier otro, pero
era un sitio web que permite a los explorar la música en él y reproducir
clips musicales de clase, desde la web, y sólo tiene que utilizar la tecnología de una manera muy
forma perfecta.
>> Otro año de clases después que me auditado, esencialmente, en la escuela de posgrado,
Anthro 1010, Introducción a la Arqueología aquí.
Fue increíble.
Y uno de los súper más convincente hasta ahora obvio, en retrospectiva, los usos de los
software es que los profesores en esa clase utiliza Google Earth.
Estábamos sentados en la calle en alguna sala de conferencias.
Y usted no puede viajar, por ejemplo, a Oriente Medio a la excavación que uno
de los profesores sólo habían venido de nuevo, pero podríamos hacerlo prácticamente por
volando en Google Earth y busca a ver a vista de pájaro en el
excavar el sitio que acababa de regresar desde hace una semana.
>> Así que les animo chicos, especialmente en las humanidades, para ir
respaldar a los citados departamentos después de esta clase con lo que sus proyectos finales
con usted o con sus propias ideas, y ver justo lo que usted puede hacer para infundir su
propios campos de las humanidades o más allá con un poco de este tipo de
cosa que hemos explorado aquí en CS50.
>> Así que con ese cuadro pintado, pensamiento nos gustaría probar para hacer frente a dos cosas hoy.
Uno de ellos, tratar de darle un sentido de donde se puede ir después de los 50.
Y, en particular, si decide abordar un proyecto basado en la web como es
muy común, ¿cómo se puede ir en quitarse todas CS50 de
ruedas de entrenamiento e ir por ahí en su propio y no tener que depender de un
PDF o una especificación de un conjunto de procesadores?
No tener que depender de un CS50 electrodoméstico más.
Pero realmente puede tirarse por sus propios esfuerzos.
>> Con eso dicho, final basada-C proyectos son bienvenidos.
Cosas que utilizan el soporte para una biblioteca portátil en
los gráficos son bienvenidos.
Sólo sabemos que estadísticamente mucho personas muerden proyectos en PHP y
Python y Ruby y MySQL y otros ambientes, por lo que vamos sesgo algunos de
nuestras observaciones en esa dirección.
>> Pero una mirada rápida hacia atrás.
Así que tomamos por sentado en la pset7 hecho de que existía $ _SESSION.
Esta era una superpotencia mundial, a escala mundial, matriz asociativa.
¿Y qué tiene esto te deja hacer?
Funcionalmente, ¿cuál es el protagoniza esta nos da?
¿Sí?
Para realizar un seguimiento de ID del usuario.
¿Y por qué es esto útil?
Para ser capaz de almacenar en el interior de este super mundial JHarvard o [? Scroobs?]
o ID de usuario de Malan cuando o ella visita un sitio.
>> Exactamente.
Así que usted no tiene que iniciar sesión en una y otra vez.
Sería un muy escaso World Wide Web si cada vez que ha hecho clic en un enlace
en un sitio como Facebook o cada vez ha hecho clic en un correo electrónico en Gmail que
tuvo que volver a autenticarse para demostrar que aún así es usted y no su compañero de cuarto
que podría haber caminado hasta su computadora en su ausencia.
>> Así que usamos SESIÓN sólo Recuerda quién eres.
¿Y cómo se implementa debajo de la capucha?
¿Cómo funciona un sitio web que utiliza, el protocolo que los navegadores web y servidores
hablar, ¿cómo no HTTP, que es un protocolo sin estado, digamos.
>> Y por apátridas que quiero decir, una vez que conectarse a una página web, descargar algunos
HTMLs, algo de JavaScript, un poco de CSS, su el icono del navegador deja de girar.
Usted no tiene una conexión constante al servidor normalmente.
Eso es todo.
No hay estado mantenido constantemente.
Entonces, ¿cómo se aplica en tales SESIÓN de manera que cada vez que usted visita un
nueva página, el sitio recuerda quién es usted?
¿Cuál es la implementación subyacente detalle?
Grito hacia fuera.
Es una palabra.
>> Cookies.
Está bien.
Así cookies.
Bueno, ¿cómo se utilizan las cookies?
Vamos a recordar que una cookie es generalmente sólo un pedazo de información.
Y a menudo es un gran azar número, pero no siempre.
Y una cookie se planta en su disco conducir o en la memoria RAM de su computadora para
que cada vez que vuelva a visitar ese mismo sitio web, su navegador recuerda al
servidor, yo soy usuario de 1.234.567.
Soy usuario 1234567.
>> Y mientras el servidor se ha acordado ese usuario es 1234567
JHarvard, el sitio será simplemente asumir que usted es quien dice ser.
Y recordamos que presentamos estas cookies especie de en la forma de un
soporte de la mano virtual.
Se envía en los encabezados HTTP sólo para recordar al servidor que usted es quién
piensa que usted es.
>> Por supuesto, no es una amenaza.
¿Qué amenaza Qué nos abra a si esencialmente estamos usando una especie de club de
o un mecanismo de parque de atracciones para recordar lo que somos?
>> Si copia de galletas de alguien y secuestrar su sesión, por así decirlo, que
puede pretender ser otra persona y la sitio más probable es sólo va a
Puedes creer.
Así que vamos a volver a eso.
Porque el otro tema para hoy más allá de empoderamiento también está hablando
sobre el mundo mucho miedo en el que vivimos y cuánto de lo que haces en
la web, ¿cuánto de lo que haces, incluso en sus teléfonos celulares puede ser hoy
seguido realmente por nadie entre usted y el punto B.
>> Y Ajax, recuerda.
Nos miramos brevemente en este, aunque usted ha estado usando
indirectamente en pset8 porque usted está utilizando Google Maps y porque eres
utilizando Google Earth.
Google Maps y Google Earth no lo hacen descargar todo el mundo a su
escritorio, obviamente, la momento de cargar pset8.
Sólo se descarga un cuadrado del mundo o un cuadrado más grande de la tierra.
Y luego, cada vez que una especie de dirigir fuera de rango es posible que note -
especialmente si en una conexión lenta - que podría ver algo de gris por un momento
o un poco de las imágenes borrosas como el equipo descarga más este tipo de azulejos,
más esas imágenes de la mundo o la tierra.
>> Y Ajax es generalmente la técnica por que los sitios web están haciendo eso.
Una vez que necesita más del mapa, su navegador va a utilizar Ajax, que es
no es en sí un lenguaje o tecnología, es sólo una técnica.
Es el uso de JavaScript para ir a buscar más información desde un servidor que
permite a su navegador para ir a buscar lo que está por el este o lo que está por el oeste de
lo que es otra manera en la actualidad se muestra en el mapa.
Así que este es un tema que muchos de ustedes se encontrará ya sea directamente o
indirectamente a través de proyectos fin de carrera si optar por hacer algo que es
similar dinámica que está tirando de los datos de algún sitio web de terceros.
>> Así que tenemos un muy emocionante el próximo miércoles por delante.
Prueba uno, la información para la cual está en CS50.net ya.
Sepan que habrá una sesión de revisión el próximo lunes a las 5:30.
La fecha y la hora se publica en CS50.net en esa hoja About.
Y déjenos le conocen tiene alguna pregunta.
Pset8 mientras tanto ya está en sus manos.
>> Y permítanme dirigirme a un FAQ para salvar a la gente un poco de estrés.
En su mayor parte, una gran parte de la charla vemos en horas de oficina y una gran cantidad de
los insectos que vemos informó sobre Discuta son de hecho, los errores en el código de un estudiante.
Pero cuando usted ha encontrado algo al igual que el complemento de Google Earth en estrellarse
o ni siquiera trabajando y que son seguro de que no es usted, que no es un
[? chamad?] cuestión, no es un error que introduce en el
código de distribución.
>> Darse cuenta de lo digo -
esto es una especie de plan de Z -
que la última vez que se utilizó este problema establecemos y nos encontramos con similares
cuestiones, hay una línea de código en service.js que, básicamente, es la siguiente,
que dice que, a su vez en los edificios.
Y trabajan en torno a la última vez que hizo en, otra vez, casos de esquina donde
los estudiantes no podían conseguir el maldito cosa que trabajar es el cambio verdadero a falso
en que una línea de código.
Y usted encontrará que si usted busca través service.js.
>> Yo no recomiendo esto porque se quiere crear el paisaje más árido
de Cambridge, Massachusetts.
Esto, literalmente, aplanar el mundo de modo que todo lo que ves son las enseñanzas
becarios y asistentes del curso en el horizonte y no hay edificios.
Pero darse cuenta por cualquier razón el Google Earth plug-in parece todavía ser
cochecillo un año más tarde, por lo que este Podría ser tu fallan guardar.
Así que en lugar de recurrir a las lágrimas, el recurso a convertir los edificios fuera de si usted sabe
que es el complemento que no está cooperando en tu Mac o PC.
Pero, esto es otra vez el último recurso si usted puede estar seguro que no es un error.
>> Así que el hackathon.
Un par de teasers sólo que te entusiasma.
Tuvimos un buen número de confirmaciones de asistencia.
Y sólo para pintar un cuadro de lo que aguarda, pensé que te daría unos cuantos
segundo retiro de estas imágenes respecto al año pasado.
>> [MÚSICA]
>> DAVID J. MALAN: Espera, oh.
Incluso tenemos nuestras lanzaderas CS50 literales.
>> [MÚSICA]
>> DAVID J. MALAN: Así que eso es lo que le espera que en términos de la hackathon.
Y esta será una oportunidad para ser claro, no para iniciar su última
proyectos, sino para seguir trabajando en sus proyectos finales, junto
compañeros de clase y el personal y mucha comida.
Y de nuevo, si estás despierto at 5:00 AM lo llevaremos por el camino a IHOP.
>> La feria CS50, por su parte, es el clímax para toda la clase en la que
que va a traer sus ordenadores portátiles y amigos, tal vez incluso de la familia a una habitación en el campus
por la calle exponer sus proyectos en las computadoras portátiles, en las mesas de altas
así con un montón de comida y amigos y la música en el fondo,
así como a nuestros amigos de la industria.
Empresas como Facebook y Microsoft y Google y Amazon y racimos de
otros de modo que si está interesado en tan sólo escuchar sobre el mundo real o
charlando con la gente acerca del mundo real prácticas o las oportunidades a tiempo completo,
Sabemos que algunos de nuestros amigos de la industria estará allí.
Y un par de fotos que podemos pintar aquí son los siguientes.
>> [MÚSICA]
>> DAVID J. MALAN: Muy bien.
Así que a continuación es la feria CS50.
Así que ahora vamos a proceder a contar una historia que realmente le ayuden con suerte
para cosas como proyectos finales.
Así que una de las pocas cosas poco a las semillas de su mente, ya sea para proyectos fin de carrera
o simplemente de manera más general para los proyectos que es posible que decida abordar después
el curso, estos son todos documentado en manual.cs50.net donde el CS50
Manual en el que tenemos una gran cantidad de técnicas documentados.
>> Y esto es sólo la notación abreviada de diciendo que existe en el
cosas del mundo llamados SMS a correo electrónico gateways, que es una forma elegante de
diciendo, no hay servidores en el mundo que saben cómo convertir mensajes de correo electrónico a
mensajes de texto.
Así que si para su proyecto final que desea para crear algún tipo de temática móvil
servicio que le permite alertar amigos o los usuarios a los eventos en el campus
o lo que se sirve en el Salón D esa noche ni ninguna función de alerta,
sé que es simple como el envío de un correo electrónico como con PHPMailer que
podrían haber utilizado para pset7 o vimos brevemente una semana más o menos, a
direcciones como ésta.
>> Y de hecho, usted puede texto esta asumiendo tu amigo tiene un mensajes de texto ilimitados
planificar y usted no quiere cobrarles $ 0.10.
Pero si usted envía un correo electrónico a tu amigo que usted sabe que tiene Verizon o
AT & T utilizando Gmail y simplemente enviarlo a su número de teléfono en cualquiera que sea el
sub dominio existe, darse cuenta de que enviará un mensaje de texto.
>> Pero esta es una de esas cosas tener cuidado de.
Si troll a través CS50 del año pasado vídeos, creo que era, un horrible,
horrible, horrible error que escribí en el código terminó de enviar cerca de 20.000 textos
mensajes viven en nuestro estudiantes en la clase.
Y sólo porque alguien se dio cuenta de que que estaban recibiendo el texto múltiple
mensajes de mí tenía yo la medios para golpear control C rápidamente
y detener ese proceso.
Control C, usted recuerda, es tu amigo en los casos de bucle infinito.
Así que ten cuidado con el poder que acabamos de dar a usted en lugar de manera irresponsable, la mayoría
probable, basado en mi propia experiencia.
Pero eso es en la web y tiene estado allí durante algún tiempo.
>> Está bien.
Así textmarks.com.
Así que este es un sitio web.
Y hay racimos de otros por ahí así que hemos utilizado en realidad
como una clase durante años para poder recibir mensajes de texto.
Desafortunadamente, el envío de mensajes de texto es fácil como enviar mensajes de correo electrónico por el estilo.
Recibir un poco más difícil, sobre todo si usted quiere tener una de
esos códigos cortos atractivos eso es sólo cinco o seis dígitos.
>> Así, por ejemplo, para el año que ha estado capaz de enviar un mensaje de texto - y usted
puede probar esto, así -
a 41.411.
Y ese es el número de teléfono para este arranque particular.
Y si usted envía un mensaje al 41411 -
Voy a escribirlo aquí, así 41411 -
y luego enviar un mensaje como SBOY para Shuttle Boy.
Y a continuación, escriba en algo como mather quad.
Así que usted envíe ese mensaje de texto a ese número de teléfono.
En pocos segundos usted debe volver una respuesta del traslado CS50
Servicio Boy, que es el servicio de transporte software de programación que hemos tenido,
ahí en la web desde hace algún tiempo.
Y es capaz de responder a que a través de mensaje de texto.
>> Porque lo que hemos hecho como clase, como un programador, es escribir software,
configurada nuestra cuenta gratuita con el texto marcas para escuchar los mensajes de texto enviados
a SBOY en ese número.
Y lo que hacen es con interés los textos mensajes a nuestro sitio web basado en PHP como
Parámetros HTTP diciendo aquí.
Este usuario con este número de teléfono te ha enviado este mensaje de texto.
Hacer con ella lo que quieras.
>> Así que escribió algunos programas que al recibir una cadena como SBOY mather
quad, que analizarlo.
Nos damos cuenta de dónde están los espacios son entre las palabras.
Y nosotros, como clase decidamos cómo responder a eso.
Y si tratas de que ahora, por ejemplo, usted debe ver, a través de la respuesta dentro de un
pocos segundos, los próximos lanzaderas ir del mather con el quad si los hubiere.
Y hay otras paradas.
Puede escribir en Boylston u otro paradas en el campus, y que debería
reconocer aquellas palabras.
>> Así parse.com.
Este es otro servicio que hemos estado señalando algunos estudiantes por un
proyectos finales eso es maravilloso en que es gratis para un
cantidad razonable de uso.
Y si me voy a parse.com verás que se trata de una alternativa a
realmente tener algo como su propia base de datos MySQL.
Y, francamente, es sólo especie de fascinante.
Esto es lo que hay dentro de la nublar incluso en un día nublado.
>> Así parse.com le permite hacer una montón de cosas interesantes.
Y hay otras alternativas a esta por ahí.
Por ejemplo, puede utilizar los como base de datos back-end.
Así que usted no necesita tener una empresa de alojamiento web.
Usted no necesita tener una base de datos MySQL.
En su lugar, puede utilizar su extremo posterior.
>> Si usted está haciendo un proyecto móvil para Android o iOS o similar, sabemos que
existe cosas como los servicios de inserción para que pueda empujar alertas de tus amigos
o pantallas de inicio de los usuarios.
Y luego un montón de otras características también.
>> Así que si usted tiene interés, echa un vistazo a estos sitios web y sitios web como ellos
para ver cómo muchos otros pueblos "sólo hombros puede valerse por hacer
software realmente bueno de los tuyos.
>> Ahora, en términos de autenticación, un FAQ, es cómo se puede realmente garantiza
que sus usuarios son personas en el campus, Los estudiantes de Harvard o facultad o personal?
Así CS50 tiene su propia autenticación servicio de llamada ID CS50.
Ir a la URL y puede restringir su sitio web para cualquier persona con un Harvard
Identificación, por ejemplo.
Así que sabemos que podemos manejar eso.
Ustedes no deberían estar en el negocio de decir, ¿cuál es su ID de Harvard?
¿Cuál es su PIN de Harvard?
Permítanme ahora hacer algo con él.
Vamos a hacer todo eso.
Y lo que le daremos la espalda es el nombre y dirección de correo electrónico a alguien, pero
no nada delicada.
>> Una aplicación en un dispositivo móvil, puede ser hecho de trabajar en un dispositivo móvil, pero
No es exactamente diseñado para eso.
Así que va a terminar gastando un no trivial cantidad de tiempo para hacerlo.
Así que me gustaría desalentar esa ruta por ahora.
Esto es realmente diseñado para aplicaciones basadas en web.
>> Así alojamiento web.
Así que si usted no ha visto en página de inicio del curso -
y aquí es donde vamos a empezar una historia -
alojamiento web es todo sobre el pago de por lo general un servicio, anfitrión de un servidor propiedad
por otra persona en la web que tiene un Dirección IP y, a continuación, poner el
sitio web sobre el mismo.
Y por lo general le dan de correo electrónico cuentas y bases de datos
y otras características.
>> Sepa que si usted no quiere a la realidad pagar por tal, vaya a la URL
allí y CS50 en realidad tiene una sin fines de lucro cuenta que puede utilizar para
En realidad no tiene http://proyecto interior del aparato
para su proyecto final.
Si usted realmente quiere que sea algo como, isawyouharvard.com,
usted puede comprar ese nombre de dominio - aunque no esa en particular - y
entonces usted puede ir sobre lo hospeda en un servidor web público que podemos ofrecer
ustedes a través de aquí.
>> Y de hecho, si no familiar, si usted nunca ha estado en
isawyouharvard.com, uno, ir allí.
Pero dos, saben que eso era un joven El nombre de la mujer por Tej Para Toor Demasiado dos
Hace años, hace tres años, que era un Ex alumnos CS50 que pasaron uno o dos días
antes de la feria CS50 envió un correo electrónico a su casa lista de correo y voila.
Dos días más tarde por la feria CS50, tenía cientos de usuarios de todo reptil de
entre sí en su sitio web y diciendo lo que habían visto
él o ella en el campus.
Así que esa es una de las favorita de CS50 historias de éxito de
un proyecto final CS50.
>> Entonces, ¿cómo hace usted para poner un sitio web así en el Internet?
Bueno, hay unos pocos, ingredientes aquí.
Así que uno, usted tiene que comprar un nombre de dominio.
Hay montones de lugares en el mundo desde el que puede
comprar un nombre de dominio.
Y por ejemplo, uno que se recomienda sólo porque es popular
y es barato se llama namecheap.com.
Pero puedes ir godaddy.com y docenas de otros por ahí.
Usted puede leer en los comentarios.
>> Pero en su mayor parte no lo hace asunto al que le
comprar un nombre de dominio.
Y ellos varían en precio y que varían en el sufijo.
Los sufijos como. Com,. Net, . Org,. Io,. Televisión, los
de hecho variar en precio.
Pero si lo que queríamos hacer algo como cats.com podemos ir a este sitio web,
haga clic en Buscar.
Es de suponer que se toma esta.
Pero, al parecer, catsagainst.com está disponible.
pluscats.com está disponible.
Lovecats, catscorner, dampcats.net.
Todo esto es de esperar seudo generado aleatoriamente.
Si quieres cats.pw, $ 1,500 solamente, que es un poco loco.
Así que alguien realmente ha arrebatado todo los nombres de dominio relacionados con gato aquí para los
variando los precios.
>> Como acotación al margen, vamos a ver.
¿Quién tiene cats.com?
Sepan que ustedes tienen en su disposición bastante
comandos sofisticados ahora.
Como puedo escribir, literalmente, que es cats.com?
Y debido a la forma en que el Internet es estructurado en realidad se puede ver quién
ha registrado este.
Al parecer, esta persona es [inaudible] utilizando un servicio de proxy.
Así que quien posee cats.com no quiere que el mundo sepa quiénes son.
Así que han registrado si a través de algún servicio de privacidad azar.
Pero a veces en realidad que los propietarios reales.
>> Y esto quiere decir, sobre todo si eres perseguir algún arranque y usted
realmente quiere un nombre de dominio y que está dispuestos a pagar a alguien para
él, usted puede averiguar contacto información de esa manera.
>> Pero también es interesante es esto.
Permítanme desplazo hasta esta parte.
Así que este es el mismo de salida.
Y esto es sólo de mal gusto.
Así que al parecer cats.com puede haber el tuyo por el precio correcto.
Pero lo que es interesante aquí es que los servidores de nombres -
esto es un abuso total de lo que un nombre servidor se supone que es - su nombre
servidor no se supone que es thisdomainforsale.com.
Si en realidad elegimos algo así como -
vamos a elegir algo un poco más legítima como, que está google.com,
y desplácese hasta aquí.
Así que aquí -
lo que pasó allí?
Interesante.
Más allá de quién es -
vamos a mantenerlo más bajo llave.
>> Quién es mit.edu?
Aceptar.
Esto es de gran ayuda.
Así que esto es lo que yo esperaba.
Uso legítimo del servicio DNS.
Nombre servidores aquí indican el siguiente.
Esta es la manera de decir, cada vez que el MIT alguien en el mundo, dondequiera que
son, tipos de mit.edu y éxitos Enter, su computadora portátil, ya sea Mac o PC, se
de alguna manera con el tiempo darse cuenta de que la personas en el mundo que saben lo que el
La dirección IP es para mit.edu o cualquiera de los subdominios en mit.edu o cualquiera de
estos servidores aquí - y lo que realmente parece que la infraestructura es MITs
bastante robusto como es de esperar.
Tienen varios servidores de nombres lo cual es bueno para la redundancia.
Y, de hecho, que parecen ser globalmente distribuido en todo el mundo.
Un montón de los que parecen estar en los EE.UU., una pareja en Asia, uno en Europa, dos
en otro lugar.
>> Pero el punto aquí es que el DNS que hemos estado dando por sentado y
generalmente se describe como una gran mesa de Excel que tiene las direcciones IP y dominios
nombres es en realidad bastante sofisticado servicio jerárquica de manera que en el
mundo en realidad hay un número finito de servidores que esencialmente saben dónde
todos los COMS. son o todos las redes. son, todos los
. Orgs son, y así sucesivamente.
>> Así que cuando usted seguir adelante y comprar un dominio nombre de un lugar como Nombre barato o
Go Daddy o cualquier otro sitio web, una de los pasos clave que usted tendrá que hacer
usted, si usted hace esto, incluso para su definitiva proyecto, es decir al registrador
de quien va a comprar el dominio nombre, que en el mundo sabe su
las direcciones IP del sitio web, que sus servidores de nombres son.
>> Así que si usted usa, por ejemplo, de CS50 cuenta de alojamiento - que sucede que tiene
esta cuenta a través dreamhost.com que es un
empresa de alojamiento web más populares -
ellos le dirán que usted debe comprar su dominio y decirle al mundo que
servidor de nombres de dominio es ns1.dreamhost.com, ns2.dreamhost.com,
y ns3.dreamhost.com.
>> Pero eso es todo.
La compra de un nombre de dominio significa darles el dinero y obtener la propiedad de la
dominio, pero es más como un alquiler de embargo.
¿Te das cuenta por un año y luego se factura que recurrentemente para el resto de
su vida hasta que cancele el nombre de dominio.
Y luego usted les dice que los servidores de nombres son.
Pero después que haya terminado con su registrador.
Y a partir de ahí podrás interactuar sólo con su empresa de alojamiento web, que
en el caso de CS50 será DreamHost.
Pero, de nuevo, más documentación será proporcionado a usted si usted decide ir a
esa ruta.
>> Así que si usted hace esto después del curso final, simplemente buscando en Google alojamiento web
empresa a su vez a miles de opciones.
Y yo generalmente le animaría a pedir a los amigos que podrían haber utilizado un
empresa antes si recomiendan ellos y tenían una buena experiencia.
>> Porque hay un montón de mosca por la noche empresas de alojamiento web, como un hombre en
su sótano con un servidor que tiene una dirección IP.
Él tiene algo extra RAM y el disco duro espacio y sólo vende alojamiento web
las cuentas a pesar de que no hay manera de que servidor puede manejar cientos de
usuarios o miles de usuarios.
Entonces se da cuenta que usted conseguirá lo que se paga.
>> Desde hace un tiempo para mi casa personal página - y esto era totalmente aceptable
porque tenía, como, dos visitantes al mes -
Yo estaba pagando, como, $ 2.95 al mes.
Y estoy bastante seguro de que era en el sótano de alguien.
Pero, de nuevo, usted no consigue necesariamente ninguna garantía de tiempo de actividad o
escalabilidad.
Así que de nuevo, que está normalmente en busca a algo más que eso.
>> Bueno, ¿qué pasa con SSL?
Entonces, ¿qué es SSL utiliza?
Ahora vamos a empezar a dirigirlo en la instrucciones de seguridad y las cosas que
nos puede hacer daño.
Especialmente en lo que se aventura a cabo por su cuenta.
>> ¿Qué es SSL, o lo que SSL se utiliza?
Seguridad, OK.
Así que ha utilizado para la seguridad.
¿Qué significa eso?
Así que es lógico para Secure Sockets Layer.
Y se indica por una dirección URL que comienza con https://.
Muchos de nosotros probablemente nunca han escrito https://, pero a menudo se dará cuenta de que
el navegador es redirigido de HTTP a HTTPS para que todo esté allí
después de cifrado.
>> Para tu información, el uso de SSL requiere típicamente que usted tiene una dirección IP única.
Y por lo general para obtener una dirección IP única que necesita para pagar un alojamiento web
compañía de unos pocos dólares más por mes.
Entonces se da cuenta que esto es muy fácil implementado en estos días por la compra de un IP
abordar y mediante la compra de lo que es llamado un certificado SSL.
Pero se da cuenta de que no venga en algún costo adicional.
Y, como vamos a tratar de asustar en tan sólo un poco, ni siquiera es necesariamente 100%
protección de lo que sea usted está tratando de proteger.
>> Así que para la seguridad, había pensado que había hacer una especie de segue al azar aquí.
Como se puede saber a partir de la conferencia de CS50 vídeos, nuestro equipo de producción ha sido un
fan como yo de tomar realmente agradable fotografía de la escuela, y de la antena
fotografía más reciente.
Si alguna vez miras hacia arriba y ves algo volando con una pequeña cámara,
que en realidad puede ser CS50.
Y yo sólo pensé en compartir minutos de algunas de las imágenes que el equipo tiene
reunidos, sobre todo ya que buscamos el semestre de la primavera y el otoño siguiente.
Si alguno de ustedes tiene una habilidad especial para fotografía, videografía, lo haríamos
amas involucrarte detrás de las escenas.
Pero más en esos detalles en una semana.
>> [MÚSICA]
>> DAVID J. MALAN: Resulta que hay una campo de golf en miniatura en la parte superior de
el estadio que nunca supimos acerca.
>> [MÚSICA]
>> DAVID J. MALAN: Usted puede ver el contorno del drone allí.
>> [MÚSICA]
>> DAVID J. MALAN: La mejor parte aquí se, ver el basculador de la izquierda.
>> [MÚSICA]
>> DAVID J. MALAN: Otro ejemplo de lo que puede hacer con la tecnología que es
sólo tangencialmente, francamente, relacionados con la seguridad.
Pero pensé que sería una más manera divertida de decir simplemente, la seguridad.
Así que veamos si no podemos asustar ustedes Ahora, no sólo con un poco de unos pocos
amenazas, sino también un activo subyacente comprensión de lo que estas amenazas
son para que avance puede decidir cómo y si para defender
a ti mismo contra estas cosas y, al menos ser conscientes de ellos a medida que
tomar decisiones en cuanto a si o no enviar ese correo electrónico, si desea o no iniciar
en ese sitio web, si desea o no utilizar ese cyber cafés Wi-Fi
punto, así que usted sabe lo que el las amenazas son de hecho a tu alrededor.
>> Así que Jonathan se refirió a algo como este lunes.
Tenía una captura de pantalla de la ventana.
Éste es de un Mac.
¿Cuántos de ustedes han instalado software en su PC o Mac?
Obviamente todo el mundo.
¿Cuántos de ustedes han pensado mucho a escribir su contraseña
cuando se le pida?
Quiero decir, yo no, francamente.
Así que un par de nosotros son buenos a ser paranoico.
Pero piense en lo que está haciendo realmente aquí.
>> En una típica PC Mac o tiene una cuenta de administrador.
Y por lo general usted es el único que utiliza un ordenador portátil por lo menos en estos días.
Así su cuenta, Malan o JHarvard o lo que sea, es la
cuenta de administrador.
Y lo que eso significa es que tienes acceso root a la computadora.
Puede instalar cualquier cosa que desee, eliminar todo lo que quieras.
>> Y por lo general en estos días, a causa de fecha las decisiones de diseño de hace años,
la forma en que la mayoría del software se instala es como un administrador.
E incluso si tu Mac o PC tiene al menos conseguido lo suficientemente inteligente como el
año con las últimas encarnaciones de Mac OS y Windows no se ejecuten su
nombre de usuario por defecto como el administrador, al descargar algunos
nuevo programa de la Internet y tratar de instalarlo, usted está probablemente va
que se le solicite la contraseña.
Pero el problema es en ese punto, usted está entregando literalmente las llaves de su
ordenador a través de lo que sea al azar programa que acaba de descargar y
lo que le permite instalar lo que quiera.
>> Y como Jonathan aludido, se dan cuenta que podría decir que se quiere
instalar el software que usted se preocupa aproximadamente, Spotify o iTunes o lo que sea
que es lo que está tratando de instalar.
Pero estás literalmente confiando el autor o autores del software a
sólo hacer lo que el programa de se supone que debe hacer.
>> Pero no hay absolutamente nada detener la mayoría de los programas en la mayoría
sistemas operativos de eliminación de archivos, de subirlos a alguna compañía de
sitio web, desde curricán alrededor, para cifrar cosas.
Y una vez más, hemos construido una especie de toda una infraestructura en
los años en la confianza.
Y así se da cuenta que sólo has sido confiar en la gente al azar y al azar
empresas para la mayor parte.
>> Y Jonathan aludido también, a veces esas mismas empresas son una especie de
a sabiendas, maliciosa, ¿de acuerdo?
Sony capturado muchas críticas de algunos años hace para instalar lo que se llama un
kit rootkit en los ordenadores de las personas sin su conocimiento.
Y la esencia de esto es que cuando se comprado un CD, por ejemplo, que
no quiere que usted sea capaz de copiar o extraer la música fuera de, el CD haría
instalar, sin su conocimiento, un rootkit en su ordenador.
Rootkit sólo significa software que se ejecuta como administrador que potencialmente
hace cosas malas.
>> Pero entre las cosas que esta cosa hizo fue que se escondió.
Así que algunos de ustedes podrían estar bastante lista con su equipo y conocimientos, bueno,
puede simplemente abrir el Administrador de tareas o el Monitor de actividad y puedo mirar a todos
de los programas arcanely nombre que se están ejecutando.
Y si algo parece sospechoso Voy a matar a él o eliminarlo.
Pero eso es lo que hizo el rootkit.
En esencia, dijo, si se ejecuta de tareas Manager, no muestran a ti mismo.
>> Así que el software estaba allí.
Y sólo si realmente, realmente veías duro podría incluso encontrar.
Y esto se hace en nombre de protección de copia.
Pero imagínese lo que podría se han hecho lo contrario.
>> Ahora, en términos de protección de ti mismo.
Un montón de sitios web son maravillosamente cortés en la que se ponen estos
iconos de candado en su página de inicio que significa que el sitio es seguro.
Esto es de bankofamerica.com esta mañana.
Entonces, ¿qué hace ese pequeño icono de candado no quiere decir junto al botón Iniciar sesión?
>> Absolutamente nada.
Significa que alguien sepa cómo usarlo Photoshop para hacer una imagen de un
icono de candado.
Al igual que, literalmente, el hecho de que es no está destinado a ser un positivo
indicar al usuario, como, ooh, sitio web seguro.
Debo confiar en este sitio web y ahora escribir mi nombre de usuario y contraseña.
Y esto ha sido convencional para año, en fecha tan reciente como esta mañana.
>> Pero tenga en cuenta los hábitos que esto nos está metiendo.
Considere el mensaje implícito de que todo de estos bancos en este caso han sido
enviando durante años.
Si usted ve un candado, luego asegure.
¿De acuerdo?
>> Así que ¿cómo se puede abusar de ese sistema de confianza si usted es el malo de la película?
Ponga un candado en su sitio web, y lógicamente, los usuarios no han sido
condicionado por años para asumir candado significa seguro.
Y en realidad podría ser seguro.
Puede ser que tengas un maravilloso y seguro Conexión HTTPS SSL a un
sitio web falso. com.
Y nadie más en el mundo puede ver que usted está a punto de que él o ella a mano
su nombre de usuario y contraseña a su cuenta.
>> Esto, sin embargo, tal vez, es un poco más tranquilizador.
Así que esta es una captura de pantalla de la parte superior de mi navegador esta mañana en
bankofamerica.com.
Y note también aquí tener un icono de candado.
¿Qué significa en este contexto en Chrome, al menos?
>> Así que esto está utilizando SSL.
Así que esto es realmente una cosa mejor.
Y el hecho de que Chrome está haciendo verde tiene la intención de llamar nuestra atención
al hecho de que este es no sólo a través de SSL.
Esta es una empresa que alguien por no ha verificado es en realidad
bankofamerica.com.
Y eso significa que el Bank of America, en la compra de su llamada SSL
certificado, esencialmente grande al azar, números aleatorios algo que implementan
seguridad para ellos, han sido verificada por algún tercero independiente
partido que dice, sí.
Esto es en realidad el director general de Banco de Latina tratando de comprar el certificado.
Por lo tanto, Chrome confiar en que autoridad de certificación y decir en
verde, esto es bankofamerica.com.
Y Bank of America sólo paga unos pocos cientos de dólares para que o unos pocos
mil en contraposición a un pocas decenas de dólares.
>> Pero también en este caso, ¿cuántos de ustedes tienen alguna comportado de manera diferente porque
la dirección URL en su navegador es verde en lugar de negro?
¿Cierto?
Así que un par de nosotros.
Y eso es bueno para ser paranoico.
Pero incluso entonces, aquellos de ustedes que aún percibir estas cosas, ¿realmente
detener el registro en una de otra manera segura sitio web si la URL no es verde?
Muy bien, así que probablemente no, ¿verdad?
Al menos la mayoría de nosotros, si no es verde, más probable es que te vas
a ser, lo que sea.
Al igual, quiero ingresar a este sitio web.
Es por eso que estoy aquí.
Voy a iniciar la sesión, no obstante.
>> Como acotación al margen, Chrome es un poco mejor acerca de esto.
Pero hay una gran cantidad de navegadores como Firefox, por ejemplo, al menos por
algún tiempo, en ese icono del candado Es decir, en realidad se puede poner cualquier
icono de los tuyos.
Déjame ver cuál es la última versión de Firefox parece.
Así que si vamos a CS50.net.
>> Aceptar, por lo que han conseguido mejor así.
Lo que los exploradores solían hacer es como, esto es, por ejemplo, [? De SAAS?]
cresta hasta aquí.
Ese es el llamado favorita icono para un sitio web.
Hace años -
Hace realidad no es tan larga - que poco escudo habría sido justo
aquí al lado de la URL.
Debido a algún genio decidió que le basta con ver bastante con clase para tener
el logotipo de su derecho gráfica al lado de su URL.
Y el diseño inteligente, que realmente es bastante convincente.
>> Entonces, ¿qué tipo malo empezar a hacer?
Ellos empezaron a cambiar sus favoritos iconos, o su icono por defecto para una
Página principal de no ser una cresta pero un candado, que tenía
absolutamente ningún sentido.
Aparte de su icono favorito era un candado no tenía
indicaciones de seguridad.
>> Así que las lecciones aquí son una pareja que pienso.
Una de ellas es que en realidad hay algunos mecanismos bien intencionados para
enseñándonos a los usuarios acerca de la seguridad, incluso si ni siquiera eran conscientes de lo verde
significado o lo que incluso HTTPS significado.
Pero si esos mecanismos nos meten en la mala costumbre de sitios web de confianza
cuando vemos esas señales positivas, Son muy fácil abusar como vimos
hace un momento con algo tonto como esto.
>> Así que el secuestro de sesiones entra en jugar, como hemos dicho antes,
con las galletas, por ejemplo.
¿Y qué significa esto realmente?
Bien con el secuestro de sesión se trata todo sobre el robo de las cookies de alguien.
Así que si abro Chrome aquí, por ejemplo, y abro el Inspector
aquí y voy a La ficha Red -
y nosotros hemos hecho esto antes -
y me voy a algo así como http://facebook.com Enter, en su conjunto
montón de cosas va a través de la pantalla porque de todas las imágenes y CSS y
JavaScript archivos.
>> Pero si miro a este de aquí noto que Facebook está hecho plantando uno
o más cookies en mi navegador aquí.
Así que estos son esencialmente la mano sellos que me representan.
Y ahora espero que mi navegador se presentar una y otra vez cuando
revisitar ese sitio web.
Pero eso sólo es seguro, nos dijo un hace un par de semanas, si está usando SSL.
>> Pero incluso SSL en sí puede verse comprometida.
Considere la posibilidad de, después de todo el camino SSL funciona.
Cuando su navegador se conecta a una distancia servidor a través de https://, cuento largo,
criptografía está involucrado.
No es tan simple como César o Visionaire o incluso DES, DES de un
tiempo atrás en PSet2.
Es más sofisticado que eso.
Se llama la criptografía de clave pública.
Pero realmente grande y realmente aleatoria números se utilizan para scramble
información entre el punto A, usted, y el punto B, como facebook.com.
>> Pero el problema es, ¿cuántos de nosotros otra vez nunca escriba https:// para empezar
nuestra conexión con sitios Web en ese modo seguro?
Quiero decir, ¿cuántos de ustedes incluso escriba http://facebook.com?
Muy bien, si lo hace, como, hola.
Usted no necesita hacer eso nunca más, ¿verdad?
El navegador averiguarlo.
>> Pero la mayoría de nosotros de hecho sólo tienes que escribir facebook.com.
Porque si estamos usando un navegador, el los navegadores se han vuelto lo suficientemente inteligente como por
2013 para asumir, si usted está usando un navegador, se escribe en una dirección,
probablemente desee acceder a ella no a través de correo electrónico o mensaje instantáneo.
¿Te refieres a HTTP y el puerto 80.
Esos convenios han sido adoptados.
>> Pero, ¿cómo funciona la redirección?
Bueno, fíjate en lo que pasa aquí.
Si vuelvo a Chrome -
y vamos a hacer esto en incognito el modo de manera que todos los de mi
las cookies son desechados.
Y déjame ir aquí para, de nuevo, facebook.com.
Y vamos a ver qué pasa.
>> Recordemos que la primera solicitud fue de hecho sólo por facebook.com.
Pero ¿cuál fue la respuesta que me dieron?
No fue un 200 OK.
Fue 300, o 301, que es un redirigir diciéndome que vaya a
http://www.facebook.com, que es donde Facebook quiere que vaya.
Pero entonces, si nos fijamos en la siguiente solicitud, y hemos visto esto antes,
note lo que su segunda respuesta es.
Específicamente que me quieren ahora ir a la versión SSL de Facebook.
>> Así que aquí está la oportunidad.
Esta es una característica maravillosamente útil apenas del Web y HTTP.
Si el usuario final como Facebook me quiere para permanecer en la versión segura de su
página web, perfecto.
Me redirigirán por mí mismo.
Y por lo que no tengo que igualar pensar en eso.
>> Pero lo que si entre los puntos A y B, entre usted y Facebook, hay un poco de
malo de la película, hay algún sistema administrador de Harvard que es curioso
para ver quiénes son tus amigos.
¿O hay alguna -
Hace años, esto solía sonar loco -
pero hay alguna entidad gubernamental como la NSA que está realmente interesado
en quién estás metiendo en Facebook.
¿Dónde está la oportunidad allí?
Bueno, siempre y cuando alguien tiene suficiente acceso técnico inteligente y que tienen
a su propia red a través de Wi-Fi o algún cable físico,
¿qué podían hacer?
>> Bueno, si están en la misma red que usted y ellos saben algo acerca de
Direcciones TCP / IP e IP y DNS y cómo todo eso funciona, lo que si que
hombre en el medio, lo que si que Nacional Agencia de Seguridad, lo que sea
Puede ser, pero ¿qué pasa si esa entidad simplemente responde más rápidamente que Facebook para
su solicitud HTTP y dice: oh, estoy Facebook.
Adelante, y aquí está el HTML para facebook.com.
>> Las computadoras son bastante maldito rápido.
Así que se podría escribir un programa que se ejecuta en un servidor como nsa.gov que cuando se
oye una solicitud suya para facebook.com, muy rápidamente detrás de la
escenas consigue la realización facebook.com reales perfectamente [? esque?] asegurar
Conexión SSL entre NSA y entre Facebook, consiguiendo que el HTML muy
seguridad de la página de inicio de sesión, y luego el servidor NSA sólo te responde
con una página de inicio de sesión para facebook.com.
>> Ahora, ¿cuántos de ustedes se daría cuenta que está utilizando Facebook a través de HTTP
todavía en ese punto porque has conectada accidentalmente a nsa.gov y
no Facebook?
Las direcciones URL no cambia.
Todo esto se está haciendo detrás de las escenas.
Pero la mayoría de nosotros, incluido yo mismo, probablemente no se daría cuenta
un detalle tan insignificante.
>> Así que usted podría tener un perfectamente viable conexión entre usted y lo que
pensar es Facebook, pero hay una llamado hombre en el medio.
Y este es un término general para el hombre en el plan de ataque en el que tiene un poco de
entidad entre usted y el punto B que es de alguna manera manipular, robar, o
ver sus datos.
Así que incluso SSL no es segura, sobre todo si usted ha sido infectado por
no encenderlo debido a cómo éstos mecanismos subyacentes trabajan realmente.
>> Así que una lección de hoy, entonces también lo es si Realmente quiero ser paranoico -
e incluso aquí hay amenazas -
realmente debería empezar a recibir en el hábito de escribir en https://www
cualquier nombre de dominio que realmente se preocupan.
>> Y en un aparte también hay otra amenaza con
respecto al secuestro de sesión.
Muy a menudo la primera vez que visita un sitio web como facebook.com, a menos que el
servidor se ha configurado para decir que que sello en la mano se puso sobre ti
ayer se debe garantizar su propia seguridad, su navegador podría muy bien, sobre
visitan cosas como facebook.com google.com, twitter.com, su navegador
podría presentar ese sello en la mano sólo ser abofeteado abajo y dijo que no.
Usar SSL.
>> Pero es demasiado tarde en ese punto.
Si ya ha enviado la mano estampar, su cookie, en el claro con
sin SSL, usted tiene una fracción de segundo vulnerabilidad en la que alguien husmeando
su tráfico, ya sea compañero de cuarto o de la NSA, a continuación, puede utilizar esa misma cookie, y
con un poco de conocimiento técnico, presentarlo como su propio.
>> Otro ataque que podría no han pensado.
Este es realmente el que si te equivocas esto por escrito algún sitio web que
utiliza alguna manera de SQL.
Así que aquí, por ejemplo, es una pantalla disparo de inicio de sesión de Harvard.
Y este es un ejemplo general de algo con un
nombre de usuario y contraseña.
Súper común.
Así que vamos a suponer que existe y SSL no hay hombre en el medio o
nada de eso.
Ahora nos estamos enfocando en el servidor de código que puede escribir.
>> Bueno, cuando escribo en un nombre de usuario y contraseña, supongamos que el servicio de PIN
se implementa en PHP.
Y es posible que tenga algo de código en ese servidor así.
Obtener el nombre de usuario del mensaje súper global y obtener la contraseña, y luego
si están utilizando algún pset7 como código hay una función de consulta
eso podría hacer esto.
Selecciona estrella de usuarios donde nombre de usuario es igual que y la contraseña es igual que.
>> Eso parece, a primera vista, totalmente razonable.
Esto es código PHP válido sintácticamente.
Lógicamente no hay nada mal con esto.
Es de suponer que hay algunas líneas más que realmente hacer algo con la
resultado que vuelve de la base de datos.
Pero esto es vulnerable para la siguiente razón.
>> Tenga en cuenta que, al igual que un buen ciudadano, He puesto entre comillas, solo
citas, el nombre de usuario.
Y lo pongo entre comillas simples la contraseña.
Y eso es una buena cosa porque son No se supone que los números.
Por lo general van a ser texto.
Así que estoy citándolos como cuerdas.
>> Y si ahora avanzando en lo que si - y me he quitado las balas de la
Servicio de PIN temporal -
lo que si trato de iniciar la sesión como Presidente [? Scroob?]
pero afirmo que mi contraseña es 12345 'OR '1' = '1, y el aviso
lo que no he hecho.
Yo no cierro el otro comilla simple.
Porque soy bastante fuerte aquí como el malo de la película.
Y estoy asumiendo que son estás no es muy bueno con su
PHP y el código de MySQL.
Supongo que usted no está comprobando para la presencia de citas.
>> Así que lo que acaba de suceder es que cuando su usuario ha escrito en esa cadena,
la consulta que está a punto de crear un aspecto como este.
Y cuento largo, si usted y algo juntos o usted o algo
juntos esto va a volver una fila de la base de datos.
Debido a que es siempre el caso de que 1 es igual a 1.
>> Y sólo porque usted no anticipó que sus usuarios, bueno o malo, podría
tener un apóstrofo en su nombre que han creado una consulta SQL que sigue siendo
válida, y volverá ahora más resultados lo que podría haber previsto.
Y por lo que este chico malo ahora tiene potencialmente conectado a su servidor
debido a que su base de datos se vuelve una fila incluso si él o ella no tiene idea de lo que
[? De Scroob?] Contraseña real es.
>> Oh, me di cuenta de un error aquí.
Debería haber dicho contraseña es igual 12345 como el anterior
ejemplo o 1 es igual a 1.
Lo arreglaré en línea.
>> Entonces, ¿por qué nos hemos usted utilizando la consulta funcionar con signos de interrogación?
Una de las cosas la función de consulta lo hace para usted es que se asegura de que
cuando se pasa de argumentos después de la comas aquí de esta manera que la consulta
que se envía a la realidad base de datos se parece a esto.
Mucho más feo a la vista, pero de vuelta barras han sido automáticamente
insertada para evitar que precisamente ataque de inyección que mostré un
Hace momento.
>> Ahora, un XKCD divertido que pensé en tirar aquí que espero que ahora debe ser una
poco más comprensible es este de aquí.
>> ¿Un poco?
Tal vez necesitamos un poco más discusión sobre eso.
Así que esto está aludiendo a un niño pequeño llamado Bobby quien ha tomado alguna manera
ventaja de un sitio web que es sólo confiando en que lo que el usuario ha escrito
en que no es, de hecho, el código SQL, pero es de hecho una cadena.
>> Ahora usted puede recordar que la caída -
que podría haber visto esto - medios de caída eliminar una tabla, eliminar una base de datos.
Así que si usted afirma, esencialmente, que su nombre es Robert "; droptabl
estudentsomething,]
muy bien podría engañar a la base de datos no sólo en la comprobación de que estás
de hecho Robert, pero también punto y coma procederá a eliminar la tabla.
>> Y así los ataques de inyección SQL puede realmente ser tan amenazador como este
en donde se puede eliminar datos de alguien, Puede seleccionar más de datas
previsto, puede insertar o actualizar datos.
Y en realidad se puede ver esto en ella en ejercicio en el hogar, no para malicioso
propósitos, pero sólo para la instrucción, alguna vez se le pide que ingrese
en el sitio web, especialmente algún tipo de no muy público, sitio web muy popular,
intentar iniciar sesión como John O'Reilly o alguien con un
apóstrofo en su nombre.
O, literalmente, sólo tienes que escribir el apóstrofe, presione Enter, y ver qué pasa.
>> Y con demasiada frecuencia, por desgracia, la gente no han saneado sus insumos y
se aseguró de que las cosas como las cotizaciones o puntos y comas son escapados.
Es por eso que en pset7 damos que esta función de consulta.
Pero no en virtud de apreciar exactamente lo que está haciendo por usted.
>> Así que dicho esto, disfrutar de su uso la web esta semana.
Y nos vemos el lunes.
>> En la siguiente CD50.
>> [MÚSICA]