>> [MUSIQUE]
>> DAVID J. Malan: Très bien.
Donc, c'est CS50 et cette c'est la fin de la semaine 10.
Ainsi, certains d'entre vous ont vu cette déjà, mais distribuée de la fin
est un article que j'ai pensé que je lirais un extrait, puis vous montrer une
trois minutes de vidéo qui peint la même image.
C'était vraiment une histoire touchante, je pensée, de cette intersection de la
monde réel avec véritablement convaincante utilisations de la technologie.
>> Donc, l'article était intitulé «Un garçon dort trop longtemps sur le train, utilise Google Maps
trouver la famille 25 ans plus tard. "Et l' deux premiers paragraphes étaient,
«Quand Saroo avait cinq ans il est allé avec son frère aîné à grappiller pour
changer sur un train de passagers dans une ville d'environ deux heures
de sa petite ville natale.
Saroo est devenu fatigué et a sauté sur une proximité gare où il pensait que son
frère, puis s'endormit.
Quand il se réveilla, il était à Calcutta, près de 900 miles de distance.
Saroo a essayé de trouver son chemin dos, mais il ne savait pas
le nom de sa ville natale.
Et comme un petit garçon analphabète dans un vaste ville pleine d'enfants oubliés qu'il avait
pratiquement aucune chance de rentrer à la maison.
>> Il était un enfant de la rue pendant un certain temps jusqu'à ce que une agence d'adoption locale accroché
lui avec un couple australien qui l'a amené à
vivre à Hobart, en Tasmanie.
Saroo s'y installe, a appris Anglais, et a grandi.
Mais il n'a jamais cessé de chercher du sa famille et sa ville natale.
>> Des décennies plus tard, il a découvert Google Terre et voies ferrées suivies.
Et en se donnant un rayon prescrit basé sur combien de temps il pensait qu'il était
endormi et à quelle vitesse il a pensé le train qui se passait, il savait qu'il avait grandi
dans un climat chaud, il savait qu'il parlait Hindi comme un enfant, et lui avait dit
qu'il semblait qu'il était de East India.
>> Enfin, après des années de récurer les photos satellites, il
reconnu quelques points de repère.
Et après avoir discuté avec un administrateur d'une ville voisine de
Page Facebook, il a réalisé il avait trouvé la maison ".
>> Alors, voici donc la vidéo racontant cette histoire de son point de vue.
>> [LECTURE VIDEO]
>> -C'était il ya 26 ans et j'ai été sur le point de tourner cinq.
Nous sommes arrivés à la gare et nous avons pris le train ensemble.
Mon frère a juste dit que je vais rester ici et je reviendrai.
Et je pensais, eh bien, vous savez, je pourrait tout aussi bien aller dormir et
puis il va juste me réveiller.
Et quand je me réveille le lendemain, le tout le wagon était vide sur un emballement
train, un train fantôme prenant moi, je ne sais pas où.
>> J'ai été adopté pour l'Australie à une famille australienne.
Et maman avait décoré ma chambre avec la carte de l'Inde, où elle
mettre à côté de mon lit.
Je me suis réveillé chaque matin de voir cette carte, et, par conséquent, il sorte de garder le
souvenirs vivants.
>> Les gens disaient, vous essayez de trouver une aiguille dans une botte de foin.
Saroo, vous ne le trouverez jamais.
J'avais des bouffées des endroits qui J'avais l'habitude d'aller, les flashs
des visages de ma famille.
Il y avait l'image de ma mère assise vers le bas avec les jambes croisées
juste regarder pleurer.
La vie est tellement difficile.
C'était mon trésor.
>> Et je cherchais dans Google Map et réalisé il ya Google Earth ainsi.
Dans un monde où vous pouvez zoomer sur I commencé à avoir toutes ces pensées et
quelles sont les possibilités que cela pourrait faire pour moi.
Je me suis dit, eh bien, vous savez, vous avez tout le photographique
souvenirs et sites où vous êtes à partir et vous savez quoi
la ville ressemble.
Cela pourrait être une application qui vous peuvent utiliser pour retrouver votre chemin.
>> J'ai pensé, eh bien, je vais mettre un point sur La gare de Calcutta dans un rayon
ligne que vous devriez être à la recherche autour de cette zone.
Je suis tombé sur ces voies ferrées.
Et j'ai commencé à suivre et je suis venu à une gare qui reflète l'
même image qui était dans mes souvenirs.
>> Tout égalé.
J'ai juste pensé, oui.
Je sais où je vais.
Je vais laisser la carte que je avoir dans ma tête pour me conduire et me prendre
dans ma ville natale.
>> Je suis venu à la porte de la maison que je suis né et j'ai fait le tour
une quinzaine de mètres autour du coin.
Il y avait trois dames debout à l'extérieur adjacents les uns aux autres.
Et celui du milieu s'avança.
Et je pensais, ce Voici ta mère.
Elle s'avança, elle m'a embrassé, et nous étaient là pendant environ cinq minutes.
>> Elle a attrapé ma main et elle me prit la maison et eu au téléphone et elle
sonné, ma sœur et mon frère à-dire que ton frère a juste tout le
soudain apparu comme un fantôme.
>> Et puis la famille était nouveau réunis.
Tout va bien.
J'aide ma mère sortir.
Elle n'a pas besoin d'être trimer.
Elle peut entraîner le reste du sa vie en paix.
>> C'était une aiguille dans une botte de foin, mais l'aiguille était là.
Tout est là.
Tout ce que nous avons dans le monde est le robinet d'un bouton.
Mais vous devez avoir la volonté et la détermination à vouloir.
>> [FIN LECTURE VIDÉO]
>> Donc, une histoire vraiment doux.
Et cela me rappelle vraiment de tout un sujet qui a été faire un peu
d'attention ces derniers temps dans The Crimson, plus au niveau national en général.
D'autant plus que MOOCs prennent la scène de la fin.
MOOCs étant ceux massive et ouverte cours en ligne dont CS50 est un.
>> Et les gens parler de la façon, pour Ainsi, les sciences humaines ne sont pas vraiment
rattrapage ou ne sont pas aussi en vogue comme ils l'étaient autrefois.
Et je voudrais vous encourager les gars, beaucoup comme Jonathan a fait le lundi, de penser
sur que vous sortez de 50 ans, et nous savons déjà environ 50% d'entre vous ne sera pas
continuer à prendre un autre ordinateur cours de sciences, et c'est tout à fait
fine et attendu.
Parce que l'un des objectifs primordiaux d'une classe de ce genre est vraiment
responsabiliser les gars avec juste un comprendre comment tous ces trucs
fonctionne et comment ce monde de fonctionnement de la technologie.
>> De sorte que lorsque vous êtes de retour dans votre propre mondes, que ce soit en pré-médecine ou
que ce soit les sciences humaines ou les sciences sociales ou autre domaine
tout à fait, que vous les gars apportent certains savoir-faire technique à la table et
aidant à prendre des décisions éclairées lorsque il s'agit de l'utilisation et
introduction de la technologie dans votre monde.
>> Par exemple, je me suis souvenu de la fin trop de deux de premier cycle
les classes que j'ai pris il ya deux ans, qui étaient ces utilisations simples de la technologie
mais jamais de manière convaincante.
Premières nuits avec le professeur Tom Kelly si vous avez pris la classe.
C'est une classe de musique classique ce stade là où vous en apprendrez
petit quelque chose sur la musique.
Il s'agit en fait Premières nuits qui CS50 emprunté l'idée de pistes pour ceux
moins à l'aise entre et plus confortable.
>> À mon époque, ils avaient différentes pistes pour les enfants avec absolument aucune musique
expérience comme moi, et puis les enfants qui avaient été performants depuis qu'ils étaient
de cinq ans.
Et cette classe, par exemple, vient d'avoir un site web comme la plupart des autres, mais il
est un site qui vous a permis de explorer la musique sur elle et lire
clips musicaux de classe, sur le Web, et il suffit d'utiliser la technologie dans un très
façon transparente.
>> Encore ans de classe plus tard que j'ai vérifié, essentiellement, à l'école de diplômé,
Anthro 1010, Présentation à l'archéologie ici.
C'était incroyable.
Et l'un des plus convaincants pour l'instant Super évident, avec le recul, les utilisations de
logiciel était que les professeurs cette classe utilisé Google Earth.
Nous étions assis dans la rue dans certains salle de conférence.
Et vous ne pouvez pas voyager, par exemple, au Moyen-Orient à la fouille que l'on
des professeurs venaient de revenir sur, mais nous pourrions le faire virtuellement par
voler autour dans Google Earth et en regardant la vue de l'oeil d'un oiseau à l'
creuser place qu'il venait de rentrer d'il ya une semaine.
>> J'encourage donc les gars, en particulier dans les sciences humaines, pour aller
revenir à ces services après cette classe apportant vos projets finaux
avec vous ou vos propres idées, et voir tout ce que vous pouvez faire pour infuser votre
propres champs en sciences humaines ou au-delà avec un peu de ce genre de
chose que nous avons exploré ici en CS50.
>> Donc, avec ce tableau peint, pensait nous pourrions essayer de s'attaquer à deux choses aujourd'hui.
Premièrement, essayer de vous donner une idée de où vous pouvez aller après 50 ans.
Et en particulier, si vous choisissez d' s'attaquer à un projet basé sur le Web comme c'est
incroyablement commun, comment vous pouvez aller de prendre la totalité de CS50 de
roues de formation et d'aller là-bas sur votre propre et ne pas avoir à compter sur une
PDF ou une spécification d'un ensemble de processeurs?
Ne pas avoir à compter sur une CS50 plus appareil.
Mais peut vraiment tirer vous-même par les lacets.
>> Cela dit, C-fondé finale projets sont les bienvenus.
Choses qui utilisent le stand pour une bibliothèque portable dans
graphiques sont les bienvenus.
Nous savons juste que statistiquement beaucoup d' les gens mordent projets en PHP et
Python et Ruby et MySQL et d'autres environnements, donc nous allons biais d'
nos remarques en ce sens.
>> Mais un rapide retour.
Donc nous avons pris pour acquis dans le pset7 fait que $ _SESSION existé.
Ce fut une superbe global, une approche globale, tableau associatif.
Et qu'est-ce que vous laisser faire?
Fonctionnellement, ce qui est le disposent cela nous donne?
Ouais?
Pour suivre l'ID de l'utilisateur.
Et pourquoi est-ce utile?
Pour être en mesure de stocker à l'intérieur de ce super JHarvard mondiale ou [? Scroobs?]
ou l'ID utilisateur de Malan quand il ou elle visite un site.
>> Exactement.
Donc, vous n'avez pas à vous identifier en encore et encore.
Ce serait un monde vraiment boiteux wide web si à chaque fois que vous avez cliqué sur un lien
sur un site comme Facebook ou chaque fois vous avez cliqué sur un courriel dans Gmail vous
a dû ré-authentifier pour prouver que c'est encore vous et pas votre colocataire
qui aurait pu marcher jusqu'à votre ordinateur en votre absence.
>> Nous utilisons donc à juste SESSION rappeler qui vous êtes.
Et comment est-ce en œuvre sous le capot?
Comment un site Web qui utilise l' protocole que les navigateurs Web et les serveurs
parler, comment fait HTTP, qui est un protocole sans état, disons.
>> Et par apatride Je veux dire, une fois que vous se connecter à un site Web, télécharger des
HTMLs, un peu de JavaScript, un peu de CSS, votre l'icône du navigateur s'arrête de tourner.
Vous n'avez pas une connexion permanente au serveur typiquement.
C'est tout.
Il n'y a pas état maintenu constamment.
Alors, comment est SESSION transposée dans l' d'une manière que chaque fois que vous visitez un
nouvelle page, le site se souvient qui vous êtes?
Quelle est la mise en œuvre sous-jacente détail?
Shout it out.
C'est un mot.
>> Cookies.
Très bien.
Donc cookies.
Eh bien, comment sont utilisés les cookies?
Nous rappelons qu'un cookie est généralement juste un morceau de l'information.
Et c'est souvent un grand hasard nombre, mais pas toujours.
Et un cookie est planté sur votre disque dur ou dans la mémoire vive de votre ordinateur afin
que chaque fois que vous revenez sur cette même site, votre navigateur rappelle le
serveur, je suis utilisateur 1234567.
Je suis utilisateur 1234567.
>> Et tant que le serveur s'est souvenu que l'utilisateur est 1234567
JHarvard, le site sera simplement supposer que vous êtes qui vous dites que vous êtes.
Et rappelons que nous présentons ces cookies sorte de sous la forme d'une
Support de main virtuelle.
Il est envoyé dans les en-têtes HTTP seulement rappeler le serveur que vous êtes qui il
pense que vous êtes.
>> Bien sûr, il ya une menace.
Quelle menace que cela nous ouvrir à si nous sommes essentiellement en utilisant une sorte de club de
ou un mécanisme de parc d'attractions pour se rappeler qui nous sommes?
>> Si vous copiez le cookie de quelqu'un et de détourner leur session, pour ainsi dire, vous
peut faire semblant d'être quelqu'un d'autre et l' site web le plus probable va juste
vous croire.
Donc, nous allons revenir là-dessus.
Parce que l'autre thème d'aujourd'hui au-delà autonomisation parle aussi
sur le monde très effrayant dans lequel nous vivons et combien de ce que vous faites sur
le web, combien de ce que vous faites encore sur vos téléphones cellulaires d'aujourd'hui peut être
suivis par quiconque vraiment entre vous et le point B.
>> Et Ajax, rappel.
Nous avons examiné brièvement à cela, même si vous avez utilisé le
indirectement dans pset8 parce que vous utilisez Google Maps et parce que vous êtes
en utilisant Google Earth.
Google Maps et Google Earth ne sont pas télécharger le monde entier à votre
bureau, évidemment, le Dès que vous chargez pset8.
Il ne télécharge un carré du monde ou un plus grand carré de la terre.
Et puis à chaque fois que vous sorte de diriger hors de portée vous remarquerez peut-être -
surtout si sur une connexion lente - vous pourrait voir un peu de gris pour un moment
ou un peu des images floues comme le téléchargement sur ordinateur plus de ces tuiles,
plus de telles images à partir de la monde ou la terre.
>> Et Ajax est généralement la technique par quels sites le font.
Une fois que vous avez besoin de plus de la carte, votre navigateur va utiliser Ajax, qui est
pas lui-même un langage ou de la technologie, c'est juste une technique.
C'est l'utilisation de JavaScript pour aller chercher Plus d'informations à partir d'un serveur
permet à votre navigateur d'aller chercher ce qu'il ya à l'est ou ce qui est à l'ouest du
ce qui est contraire actuellement étant représenté par le fait que la carte.
Donc, c'est un sujet que beaucoup d'entre vous rencontreront directement ou
indirectement par l'intermédiaire de projets de fin si vous choisir de faire quelque chose qui est
Les données tirant de même dynamique que à partir de certains sites Web de tiers.
>> Donc, nous avons une très excitant mercredi prochain à venir.
Une quiz, les informations pour lesquelles est en CS50.net déjà.
Sachez qu'il y aura une session d'examen ce lundi à 5h30.
La date et l'heure sont déjà affichés sur CS50.net à propos de cette feuille.
Et ne laissez-nous vous savons avez des questions.
Pset8 quant à lui est déjà dans vos mains.
>> Et permettez-moi de m'adresser une FAQ pour sauver les gens un peu de stress.
Pour la plupart, beaucoup de bavardage nous voyons aux heures de bureau et beaucoup d'
les bugs que nous voyons sur rapportions discussion sont en effet bugs dans le code d'un étudiant.
Mais quand vous avez rencontré quelque chose comme le Google Earth plug-in s'écraser
ou même pas de travail et que vous êtes confiant ce n'est pas toi, ce n'est pas un
[? chamad] question?, ce n'est pas une bug vous introduit dans l'
code de répartition.
>> Sachez juste FYI -
c'est une sorte de plan de Z -
que la dernière fois que nous avons utilisé ce problème fixons et nous avons couru dans similaire
questions, il ya une ligne de code dans service.js C'est essentiellement ce,
qui dit, tourner sur les bâtiments.
Et ils travaillent autour de la dernière fois que nous a fait dans, encore, des cas de coin où
les étudiants ne pouvaient tout simplement pas obtenir la reprise chose à travailler est de changer true à false
en ce qu 'une ligne de code.
Et vous verrez si vous recherchez par service.js.
>> Je ne recommanderais pas ce que vous voulez créer le paysage plus aride
de Cambridge, Massachusetts.
Ce sera littéralement aplatir votre monde de sorte que vous ne voyez que l'enseignement
boursiers et des assistants de cours sur l'horizon et pas de bâtiments.
Mais réaliser pour une raison quelconque l' Google Earth plug-in semble toujours être
Buggy un an plus tard, cette pourrait être votre coup sûr sauver.
Ainsi, plutôt que d'avoir recours aux larmes, station à transformer les bâtiments au loin si vous savez
c'est le plug-in qui n'est pas coopérant sur votre Mac ou PC.
Mais, c'est encore dernier recours si vous êtes sûr que ce n'est pas un bug.
>> Ainsi, le Hackathon.
A quelques teasers juste pour vous excité.
Nous avons eu pas mal de RSVP.
Et juste pour brosser un tableau de ce que attend, j'ai pensé vous donner quelques
secondes rappellent de cette imagerie de l'année dernière.
>> [MUSIQUE]
>> DAVID J. Malan: Attendez, oh.
Nous avons même nos littérales CS50 navettes.
>> [MUSIQUE]
>> DAVID J. Malan: Voilà ce qui attend vous en termes de Hackathon.
Et ce sera l'occasion, pour être clair, ne pas commencer votre finale
projets, mais de continuer à travailler sur vos projets définitifs aux côtés
camarades de classe et le personnel et beaucoup de nourriture.
Et encore une fois, si vous êtes réveillé à 5h00 nous allons vous emmener sur le chemin de IHOP.
>> La juste CS50, quant à lui, est le point culminant pour l'ensemble de la classe où
vous allez apporter vos ordinateurs portables et les amis, peut-être même famille dans une chambre sur le campus
dans la rue pour exposer vos projets sur les ordinateurs portables, sur des tables hautes
comme cela avec beaucoup de nourriture et amis et de la musique en arrière-plan,
ainsi que nos amis de l'industrie.
Des sociétés comme Facebook et Microsoft et Google et Amazon et grappes de
les autres de sorte que si vous êtes intéressé à juste entendu parler du monde réel ou
bavarder avec les gens au sujet du monde réel stage ou à plein les possibilités de temps,
savoir que certains de nos amis de l'industrie sera là.
Et quelques photos que nous pouvons peindre ici sont comme suit.
>> [MUSIQUE]
>> DAVID J. Malan: Très bien.
Alors, qui est alors la juste CS50.
Donc, nous allons maintenant procéder à raconter une histoire qui va vraiment vous donner les moyens espérons
pour des choses comme les projets définitifs.
Donc l'une des quelques petites choses à ensemencer votre esprit, que ce soit pour des projets finaux
ou tout simplement plus généralement pour les projets qui vous pourriez décider de s'attaquer après
cours, ce sont toutes documentées sur manual.cs50.net où le CS50
manuel où nous avons beaucoup d' techniques documentées.
>> Et ce n'est qu'un notation abrégée pour dire qu'il existe dans le
choses du monde ont appelé SMS à envoyer passerelles, ce qui est une façon élégante de
dire, il ya des serveurs dans le monde qui savent comment convertir des courriels à
des messages texte.
Donc, si votre projet final que vous voulez pour créer une sorte de thème mobiles
service qui vous permet d'alerter amis ou les utilisateurs à des événements sur le campus
ou ce qui est servi dans la salle D cette nuit-là ou une telle fonction d'alerte,
savent que c'est simple que d'envoyer un e-mail avec laquelle vous PHPMailer
aurait utilisé pour pset7 ou nous avons vu brièvement une semaine ou si il ya, à
des adresses comme ceci.
>> Et en fait, vous pouvez Texte cette hypothèse votre ami possède un SMS illimités
plan et vous ne voulez pas de les charger 0,10 $.
Mais si vous envoyez un courriel à votre ami qui vous savez pour avoir Verizon ou
AT & T en utilisant Gmail et juste de l'envoyer à leur numéro de téléphone à tout le
sous-domaine existe, vous vous rendez compte enverra un message texte.
>> Mais c'est une de ces choses faire attention.
Si vous pêchez à travers le CS50 de l'année dernière vidéos que je crois, un horribles,
horrible, horrible bug que j'ai écrit dans le code fini par envoyer environ 20.000 texte
messages en direct à nos élèves en classe.
Et seulement parce que quelqu'un a remarqué que ils obtenaient texte multiple
messages de moi je n'ai eu l' moyens de faire Control C rapidement
et d'arrêter ce processus.
Contrôle C, vous vous en souvenez, est votre ami en cas de boucle infinie.
Alors méfiez-vous du pouvoir que nous venons de donner vous plutôt irresponsable, plus
probable, basé sur ma propre expérience.
Mais c'est sur le web et a là depuis un certain temps.
>> Très bien.
Alors textmarks.com.
Il s'agit donc d'un site web.
Et il ya d'autres grappes de là-bas ainsi que nous avons réellement utilisé
comme une classe depuis des années de pouvoir à recevoir des messages texte.
Malheureusement, l'envoi de SMS est facile que l'envoi de courriels de ce genre.
Recevoir est un peu plus difficile, en particulier si vous voulez avoir un
ces petits codes sexy que c'est seulement cinq ou six chiffres.
>> Ainsi, par exemple, pendant des années vous avez été capable d'envoyer un message texte - et vous
peut essayer aussi -
à 41411.
Et c'est le numéro de téléphone cette mise en service particulier.
Et si vous envoyez un message à 41411 -
Je vais l'écrire ici, donc 41411 -
et puis les envoyer un message comme SBOY pour Shuttle Boy.
Et puis taper dans quelque chose comme Mather quad.
Alors que vous envoyez un message texte à ce numéro de téléphone.
En quelques secondes, vous devriez revenir une réponse de la navette CS50
service de sang, qui est la navette logiciel de planification que nous avons eu sur
là sur le web depuis un certain temps.
Et il répondra aux vous par message texte.
>> Parce que ce que nous avons fait en tant que classe, comme un programmeur, est d'écrire un logiciel,
configuré notre compte gratuit avec le texte marques pour écouter les messages texte envoyés
à SBOY à ce numéro.
Et qu'est-ce qu'ils font, c'est avant ceux texte messages de notre site Web basé sur PHP comme
Paramètres HTTP dire, ici.
Cet utilisateur avec ce numéro de téléphone vous envoyé ce message.
Faites-en ce que vous voulez.
>> Nous avons donc écrit un logiciel qui sur réception d'une chaîne comme SBOY Mather
quad, nous analyser.
Nous avons de savoir où les espaces sont compris entre les mots.
Et nous en tant que classe décidons comment répondre à cette question.
Et si vous essayez que maintenant, par exemple, vous devriez voir, par la suite dans un
quelques secondes, les prochaines navettes aller de Mather pour le quad le cas échéant.
Et il ya d'autres arrêts.
Vous pouvez taper Boylston ou autre s'arrête sur le campus, et il devrait
reconnaître les mots.
>> Alors parse.com.
Il s'agit d'un autre service que nous avons été pointant certains élèves à des
projets finaux c'est merveilleux en ce sens qu'il est gratuit pour un
montant raisonnable de l'utilisation.
Et si je vais à parse.com vous verrez qu'il s'agit d'une alternative à l'
avoir fait quelque chose comme votre propre base de données MySQL.
Et franchement, c'est juste sorte de fascinant.
C'est ce qui est à l'intérieur de l' obscurcir même par temps nuageux.
>> Alors parse.com vous permet de faire un tas de choses intéressantes.
Et il ya d'autres alternatives à ce là-bas.
Par exemple, vous pouvez utiliser comme base de données back-end.
Donc, vous n'avez pas besoin d'avoir une société d'hébergement Web.
Vous n'avez pas besoin d'avoir une base de données MySQL.
Vous pouvez plutôt utiliser leur extrémité arrière.
>> Si vous faites un projet mobile Android ou iOS ou autre, savent que
il existe des choses comme les services poussoirs de sorte que vous pouvez pousser alertes à vos amis
ou les écrans d'accueil de vos utilisateurs.
Et puis un tas d'autres caractéristiques ainsi.
>> Donc, si vous avez l'intérêt, vérifier ces sites Web et des sites Web comme eux
à juste voir combien d'autres peuples » épaules Vous pouvez vous tenir à faire
logiciel vraiment cool de votre choix.
>> Maintenant, en termes d'authentification, une FAQ, est de savoir comment vous avez réellement garantissez
que les utilisateurs sont les personnes sur le campus, Étudiants de Harvard ou enseignants ou d'employés?
Alors CS50 a son propre système d'authentification service appelé CS50 ID.
Aller à cette URL et vous pouvez restreindre votre site Web à quiconque avec une Harvard
Identification, par exemple.
Savons donc que nous pouvons gérer cela.
Les gars, vous ne devriez pas être dans l'entreprise de dire, quel est votre ID Harvard?
Quel est votre code PIN Harvard?
Permettez-moi de faire maintenant quelque chose avec elle.
Nous ferons tout cela.
Et ce que nous allons vous donner est de retour le nom de quelqu'un et l'adresse de courriel, mais
rien sensible.
>> Une application sur un appareil mobile, il peut être fait de travailler sur un appareil mobile, mais
Ce n'est pas vraiment conçu pour cela.
Donc, vous finirez par passer non trivial temps de le faire.
Je voudrais donc décourager cette voie pour l'instant.
Ceci est vraiment destiné à applications basées sur le Web.
>> Ainsi, l'hébergement web.
Donc, si vous n'avez pas vu le page d'accueil du cours -
et voici où nous allons commencer une histoire -
hébergement web est tout au sujet du paiement habituellement un service, héberger un serveur appartenant
par quelqu'un d'autre sur le web qui a une Adresse IP, puis que vous mettez votre
site sur elle.
Et ils te donnent habituellement email comptes et bases de données
et d'autres fonctions.
>> Sachez que si vous ne voulez pas en fait payer pour tel, aller à cette URL
il CS50 et a fait un sans but lucratif compte du fait que vous pouvez utiliser pour
en fait n'ont pas http://projet à l'intérieur de l'appareil,
pour votre projet final.
Si vous voulez vraiment que ce soit quelque chose comme, isawyouharvard.com,
vous pouvez acheter ce nom de domaine - bien que pas un particulier - et
alors vous pouvez aller sur l'héberger sur un serveur Web public, comme nous pouvons offrir
vous les gars par ici.
>> Et en fait, si familier, Si vous n'avez jamais été à
isawyouharvard.com, un, allez-y.
Mais deux, savent que c'était un jeune Le nom de la femme par Tej Pour Toor Trop deux
il ya des années, il ya trois ans, qui était un CS50 anciens qui se sont produits un jour ou deux
avant la foire CS50 envoyé un e-mail à sa liste de diffusion de la maison et le tour est joué.
Deux jours plus tard par la juste CS50, elle avait des centaines d'utilisateurs tout rampant sur
l'autre sur son site Web et dire comment ils avaient vu
elle ou lui sur le campus.
C'est donc l'un des favoris du CS50 histoires de réussite
un projet final CS50.
>> Alors, comment allez-vous mettre un site Web comme ça sur internet?
Eh bien, il ya un peu de ces ingrédients ici.
Donc un, vous devez acheter un nom de domaine.
Il ya des grappes de places dans le monde à partir de laquelle vous pouvez
acheter un nom de domaine.
Et par exemple, que nous recommandons seulement parce que c'est populaire
et c'est pas cher est appelé namecheap.com.
Mais vous pouvez aller godaddy.com et des dizaines d'autres là-bas.
Vous pouvez lire sur avis.
>> Mais pour la plupart, il ne importe de qui vous
acheter un nom de domaine.
Et ils varient en prix et ils varient en suffixe.
Les suffixes comme. Com,. Net, . Org,. Io,. Tv, ceux
fait varier dans le prix.
Mais si nous voulions faire quelque chose comme cats.com nous pouvons aller sur ce site,
cliquez sur Rechercher.
On peut supposer que celui-ci ne soit prise.
Mais apparemment, catsagainst.com est disponible.
pluscats.com est disponible.
Lovecats, catscorner, dampcats.net.
Tout cela je l'espère pseudo généré de façon aléatoire.
Si vous voulez cats.pw, 1500 $ seulement, ce qui est un peu fou.
Donc, quelqu'un a vraiment happé tout les noms de domaine liés à des chats ici pour
des prix variables.
>> Soit dit en passant, nous allons voir.
Qui a cats.com?
Sachez que vous les gars ont à votre disposition assez
commandes sophistiquées maintenant.
Comme je peux taper littéralement qui est cats.com?
Et à cause de la façon dont l'Internet est structuré vous pouvez réellement voir qui
a enregistré ce produit.
Apparemment, cette personne est [inaudible] en utilisant un service de proxy.
Donc, quiconque possède cats.com ne veut pas que le monde sache qui ils sont.
Alors, ils ont enregistré si, par un service de confidentialité aléatoire.
Mais parfois, vous avez réellement obtenir actuels propriétaires.
>> Et c'est-à-dire, surtout si vous êtes poursuivre certaines démarrage et vous
voulez vraiment un nom de domaine et que vous êtes prêts à payer quelqu'un d'autre pour
, vous pouvez imaginer le contact l'information de cette façon.
>> Mais aussi intéressant, c'est cela.
Permettez-moi de remonter jusqu'à cette partie.
Donc, c'est la même sortie.
Et ce n'est qu'un collant.
Donc apparemment cats.com peut être vôtre pour le bon prix.
Mais ce qui est intéressant ici est que le nom des serveurs -
c'est un abus total de ce qu'est un nom serveur est censé être - votre nom
serveur n'est pas censé être thisdomainforsale.com.
Si nous choisissons effectivement quelque chose comme -
Choisissons quelque chose d'un peu plus comme légitime, qui est google.com,
et faites-vous ici.
Donc, ici -
ce qu'il s'est passé?
Intéressant.
Au-delà de qui est -
gardons plus discret.
>> Qui est mit.edu?
OK.
Ceci est utile.
Donc, c'est ce que j'espérais.
Utilisation légitime du service DNS.
Les serveurs de noms ici indiquent ce qui suit.
C'est la façon de dire du MIT, chaque fois que quelqu'un dans le monde, partout où ils
sont, types de mit.edu et frappe Entrez, votre ordinateur portable, que ce soit Mac ou PC, allez
en quelque sorte finalement comprendre que l' personnes dans le monde qui savent ce que le
Adresse IP est pour mit.edu ou tout du sous-domaines à mit.edu ou l'un des
ces serveurs ici - et elle a effectivement ressemble à une infrastructure de MIT est
assez robuste que vous attendez.
Ils ont de multiples serveurs de noms ce qui est bon pour la redondance.
Et en fait, ils semblent être globalement distribués à travers le monde.
Un groupe de personnes semblent être aux États-Unis, un couple en Asie, un en Europe, deux
dans un autre endroit.
>> Mais l'important ici est que les DNS nous avons tenant pour acquis et
généralement décrit comme un grand tableau Excel qui a des adresses IP et domaines
nom est en fait assez sophistiqué Service hiérarchique de sorte que dans l'
monde, il ya effectivement un nombre fini des serveurs qui connaissent essentiellement où
tous les coms. sont ou tous les filets. sont, tous les
. Org sont, et ainsi de suite.
>> Ainsi, lorsque vous allez de l'avant et d'acheter un domaine nom d'un endroit comme Cheap ou
Go Daddy ou tout autre site Web, l'un des les étapes clés que vous aurez à faire
vous, si vous faites cela, même pour votre finale projet, est de dire le registraire
de qui vous achetez le domaine nom, qui dans le monde connaît votre
les adresses IP de sites Web, qui vos serveurs de noms sont.
>> Donc, si vous utilisez, par exemple CS50 de compte d'hébergement - nous arrive d'avoir
ce compte par dreamhost.com qui est un
hébergement populaire Web de la société -
ils vous diront que vous devriez acheter votre domaine et dire au monde que
le serveur de noms de votre domaine est ns1.dreamhost.com, ns2.dreamhost.com,
et ns3.dreamhost.com.
>> Mais c'est tout.
L'achat d'un nom de domaine signifie leur donner la propriété de l'argent et obtenir de l'
domaine, mais c'est plus comme une location bien.
Vous obtenez pendant un an et puis ils facture vous cycliquement pour le reste de
votre vie jusqu'à ce que vous annulez le nom de domaine.
Et puis vous leur dites qui les serveurs de noms sont.
Mais alors, vous avez terminé avec votre registrar.
Et à partir de là, vous interagissez avec seulement votre société d'hébergement Web, qui
dans le cas de CS50 sera DreamHost.
Mais encore une fois, plus de documentation sera fourni à vous si vous décidez d'aller
cette voie.
>> Donc, si vous faites cela après le cours de fin, web simplement googler hébergement
société se retrouvera milliers d'options.
Et je voudrais vous généralement à encourager demandez à vos amis qui pourraient avoir utilisé un
entreprise avant si ils recommandent eux et a eu une bonne expérience.
>> Parce qu'il ya beaucoup de fly by night Les sociétés d'hébergement Web, comme un gars dans
son sous-sol avec un serveur qui a une adresse IP.
Il a un peu de RAM supplémentaire et disque dur espace et vend de tout le Web hosting
comptes, même si il n'ya aucun moyen que serveur peut gérer des centaines de
des utilisateurs ou des milliers d'utilisateurs.
Alors réalisez que vous obtiendrez ce que vous payez.
>> Depuis un certain temps pour ma maison personnelle la page - et c'était tout à fait acceptable
parce que j'avais, comme, deux visiteurs par mois -
Je payais, comme, 2,95 $ par mois.
Et je suis sûr que c'était dans la cave de quelqu'un.
Mais encore une fois, vous n'avez pas nécessairement aucune garantie de disponibilité ou
évolutivité.
Encore une fois, vous êtes généralement à la recherche à quelque chose de plus que cela.
>> Eh bien, que dire de SSL?
Alors, qu'est-ce qui SSL utilisé?
Nous allons maintenant commencer à orienter dans la directions de la sécurité et des choses qui
peut nous faire du mal.
Surtout que vous vous aventurez sur votre propre.
>> Quoi de SSL, ou qu'est-ce qui SSL utilisé?
Sécurité, OK.
Donc, il est utilisé pour la sécurité.
Qu'est-ce que ça veut dire?
Donc, il va de Secure Sockets Layer.
Et il est indiqué par une adresse URL qui commence par https://.
Beaucoup d'entre nous n'ont probablement jamais tapé https://, mais vous trouverez souvent que
votre navigateur est redirigé à partir de HTTP HTTPS afin que tout y est
après crypté.
>> Pour info, l'utilisation de SSL nécessite généralement que vous disposez d'une adresse IP unique.
Et généralement d'obtenir une adresse IP unique vous devez payer un hébergement web
entreprise quelques dollars de plus par mois.
Donc réaliser ce qui est très facilement mis en place ces jours-ci par l'achat d'une IP
adresse et en achetant ce qui est appelé un certificat SSL.
Mais se rendre compte qu'il ne vient à un coût supplémentaire.
Et, comme nous allons essayer de faire peur à tout un bit, il n'est même pas forcément 100%
protecteur de quoi que ce soit vous essayez de protéger.
>> Donc, pour la sécurité, je pensais que je faire une sorte de Segue aléatoire ici.
Comme vous le savez peut-être à partir de la conférence de CS50 vidéos, notre équipe de production a été un
fan que j'ai de prendre vraiment sympa photographie de campus et aérienne
photographie plus récemment.
Si jamais vous levez les yeux et vous voyez quelque chose de voler avec une petite caméra,
il peut effectivement être CS50.
Et j'ai juste pensé que je partagerais minute une partie de la séquence de l'équipe a
a réuni, en particulier que nous cherchons à le semestre de printemps et à l'automne prochain.
Si quelqu'un d'entre vous avez un talent pour photographie, vidéographie, nous serions
l'amour pour vous impliquer dans les coulisses.
Mais plus sur ces détails dans une semaine.
>> [MUSIQUE]
>> DAVID J. Malan: s'avère qu'il ya une parcours de golf miniature sur le dessus de
le stade que nous ne connaissions.
>> [MUSIQUE]
>> DAVID J. Malan: Vous pouvez voir l' aperçu du drone là.
>> [MUSIQUE]
>> DAVID J. Malan: La meilleure partie ici est, regarder le jogger sur la gauche.
>> [MUSIQUE]
>> DAVID J. Malan: Un autre exemple de ce que vous pouvez le faire avec une technologie qui est
qu'accessoirement, franchement, liés à la sécurité.
Mais je pensais que ce serait un plus façon amusante de dire simplement, la sécurité.
Donc, nous allons voir si nous ne pouvons pas vous effrayer gars maintenant avec non seulement un peu de quelques-uns
menaces, mais aussi un sous-jacents compréhension de ce que ces menaces
êtes donc que le déplacement vers l'avant, vous pouvez décider si et comment les défendre
vous contre ces choses et à moins d'être conscient d'eux comme vous
prendre des décisions quant à savoir si ou non envoyer cet e-mail, si oui ou non à se connecter
dans ce site, s'il faut ou non utiliser que le Wi-Fi de l'accès des cyber cafe
point de sorte que vous savez ce que le menaces sont en effet autour de vous.
>> Alors Jonathan référence à quelque chose aimer ce lundi.
Il avait une capture d'écran de la fenêtre.
Celui-ci est d'un Mac.
Combien d'entre vous ont déjà installé logiciel sur votre Mac ou PC?
Evidemment tout le monde.
Combien d'entre vous ont beaucoup réfléchi à taper votre mot de passe
lorsque vous êtes invité?
Je veux dire, même si je ne sais pas, franchement.
Alors, certains d'entre nous sont bonnes à être paranoïaque.
Mais considérez ce que vous êtes en train de faire ici.
>> Sur un Mac ou un PC typique vous avez un compte administrateur.
Et généralement, vous êtes le seul à utiliser un ordinateur portable à moins de nos jours.
Donc votre compte, Malan ou JHarvard ou quoi que ce soit, est l'
compte administrateur.
Et qu'est-ce que ça veut dire vous est dû l'accès root sur votre ordinateur.
Vous pouvez installer ce que vous voulez, supprimer ce que vous voulez.
>> Et typiquement ces jours-ci, en raison de les décisions de conception datés d'il ya années,
la façon dont la plupart des logiciels est installé est en tant qu'administrateur.
Et même si votre Mac ou votre PC possède au moins eu assez intelligent sur le
années avec les dernières incarnations de Mac OS et Windows de ne pas exécuter votre
Nom d'utilisateur par défaut comme administrateur, lorsque vous téléchargez quelque
nouveau programme de l'internet et essayer d' installer, vous allez probablement
être invité à saisir votre mot de passe.
Mais le hic, c'est à ce moment-là, vous êtes remise littéralement les clés de votre
ordinateur vers n'importe quel aléatoire programme que vous venez de télécharger et
ce qui lui permet d'installer ce qu'il veut.
>> Et comme Jonathan a fait allusion, réaliser qu'il pourrait dire qu'il veut
installer le logiciel que vous vous souciez environ, Spotify ou iTunes ou autre
c'est que vous essayez d'installer.
Mais vous êtes littéralement faire confiance à l'auteur ou les auteurs du logiciel à
seulement faire ce que le programme est censé faire.
>> Mais il n'y a absolument rien arrêt de la plupart des programmes sur la plupart
les systèmes d'exploitation à partir de la suppression de fichiers, de les transférer à une compagnie de
site Web, à partir de pêche à la traîne autour, pour chiffrer les choses.
Et encore une fois, nous avons en quelque sorte construit toute une infrastructure plus
des années sur la confiance.
Et réalisez que vous venez d'être faire confiance aux gens et Random
entreprises pour la plupart.
>> Et Jonathan a fait allusion à de trop, parfois ces entreprises elles-mêmes sont en quelque sorte
sciemment malveillante, d'accord?
Sony a attiré beaucoup de Flack quelques années Il ya pour l'installation de ce qu'on a appelé une
kit de rootkit sur les ordinateurs des gens à leur insu.
Et l'essentiel était que lorsque vous acheté un CD par exemple qu'ils
ne voulait pas que vous soyez en mesure de copier ou extraire de la musique hors de, le CD serait
installer, à votre insu, un rootkit sur votre ordinateur.
Rootkit logiciel juste dire qui fonctionne en tant qu'administrateur que potentiellement
fait de mauvaises choses.
>> Mais parmi les choses de cette chose n'a été elle se cachait.
Ainsi, certains d'entre vous pourraient être assez avertis avec votre ordinateur et de savoir, eh bien, je
il suffit d'ouvrir le gestionnaire de tâches ou le Moniteur d'activité et je peux regarder tous
des programmes désignés arcanely qui exécutent.
Et si quelque chose vous semble suspect Je vais le tuer ou de le supprimer.
Mais c'est ce que le rootkit a fait.
Il dit en substance, si l'exécution Task Gestionnaire, ne vous montrer.
>> Ainsi, le logiciel était là.
Et seulement si vous avez vraiment, vraiment regardé dur pourriez-vous même le trouver.
Et cela a été fait au nom de protection contre la copie.
Mais imaginez ce qui pourrait aurait pu être fait autrement.
>> Maintenant, en termes de protection de soi-même.
Beaucoup de sites sont merveilleusement grâce à qui ils ont mis ces
icônes de cadenas sur leur page d'accueil qui signifie que le site est sécurisé.
C'est à partir de bankofamerica.com ce matin.
Alors qu'est-ce que petite icône de cadenas il signifie à côté du bouton Ouvrir une session?
>> Absolument rien.
Cela signifie que quelqu'un sait comment l'utiliser Photoshop pour faire une photo d'un
icône de cadenas.
Comme littéralement, le fait que c'est il est censé être positif
signaler à l'utilisateur comme, ooh, site Web sécurisé.
Je dois faire confiance à ce site et maintenant taper mon nom d'utilisateur et mot de passe.
Et cela a été conventionnel ans plus tard que ce matin.
>> Mais considérer les habitudes qui cela nous s'embarquait.
Considérons le message implicite que tous les de ces banques dans cette affaire ont été
nous envoyant pendant des années.
Si vous voyez un cadenas, puis fixez.
Tout va bien?
>> Alors, comment pouvez-vous abuser de ce système de confiance, si vous êtes le méchant?
Mettre un cadenas sur votre site, et Logiquement, les utilisateurs ont été
conditionnés pour les années à assumer des moyens cadenas sécurisé.
Et il pourrait en fait être sécurisé.
Vous pourriez avoir un merveilleusement sécurisé Connexion SSL HTTPS à un
faux site. com.
Et personne d'autre au monde ne peut voir que vous êtes sur le point de lui remettre
votre nom d'utilisateur et mot de passe à votre compte.
>> Ce bien est peut-être un peu plus rassurant.
Donc, c'est une capture d'écran du haut de mon navigateur, ce matin, à
bankofamerica.com.
Et remarquons ici aussi nous une icône de cadenas.
Qu'est-ce que cela signifie dans ce contexte dans Chrome au moins?
>> Donc, cela est maintenant utilise SSL.
Donc, c'est vraiment quelque chose de mieux.
Et le fait que Chrome fait qu'il est vert vise à attirer notre attention
le fait qu'il s'agit d' non seulement via SSL.
Il s'agit d'une société que quelqu'un il a vérifié est en fait
bankofamerica.com.
Et cela signifie que Bank of America, lors de l'achat de leur soi-disant SSL
certificat, essentiellement grand aléatoire, numéros un peu aléatoires qui mettent en œuvre
sécurité pour eux, ils ont été vérifié par une tierce indépendante
parti qui dit, oui.
C'est en fait le chef de la direction de la Banque de Amérique essayer d'acheter le certificat.
Chrome sera donc croire que autorité de certification et de dire dans
vert, c'est bankofamerica.com.
Et Bank of America paie juste un peu centaines de dollars pour ce ou quelques
mille par opposition à une quelques dizaines de dollars.
>> Mais là aussi, combien d'entre vous ont jamais agi différemment parce que
l'URL dans votre navigateur doit vert au lieu de noir?
Droite?
Alors, certains d'entre nous.
Et c'est une bonne chose d'être paranoïaque.
Mais même alors, ceux d'entre vous qui, même remarquer ces choses, avez-vous réellement
arrêter l'enregistrement dans un autre sécurisé site Web si l'URL n'est pas vert?
D'accord, donc probablement pas, non?
Au moins la plupart d'entre nous, si ce n'est pas vert, plus probable que vous allez juste
être comme, peu importe.
Comme, je tiens à vous connecter à ce site.
C'est pourquoi je suis ici.
Je vais néanmoins vous identifier.
>> En aparté, Chrome est un peu mieux à ce sujet.
Mais il ya beaucoup de navigateurs comme Firefox par exemple, au moins pour
un certain temps, où que l'icône du cadenas est, vous pouvez effectivement mettre tout
icône de votre choix.
Laissez-moi voir ce que la dernière version de Firefox ressemble.
Donc, si nous allons à CS50.net.
>> OK, alors qu'ils ont obtenu mieux ainsi.
Ce que les navigateurs utilisés pour faire, c'est comme, voici par exemple [? SAAS c'est?]
de crête jusqu'à ici.
C'est ce qu'on appelle le favori icône d'un site web.
Il ya des années -
en fait pas si longtemps - que peu bouclier aurait eu raison
ici à côté de l'URL.
Parce que quelque génie a décidé qu'il serait il suffit de regarder assez chic d'avoir
votre logo graphique à droite à côté de votre URL.
Et la conception rationnelle, qui fait est assez convaincante.
>> Alors qu'est-ce mauvais début de gars faire?
Ils ont commencé à changer leur favori icônes, ou leur icône par défaut d'un
Page d'accueil de ne pas être une crête mais un cadenas, qui a
absolument aucun sens.
Autre que leur icône de favori a été un cadenas qu'elle n'avait pas
des indications de sécurité.
>> Ainsi, les leçons sont ici un couple que je pense.
La première est qu'il ya effectivement une certaine mécanismes bien intentionnés pour
nous enseignant les utilisateurs quant à la sécurité même si vous n'étiez même pas au courant de ce vert
signifie ou ce même protocole HTTPS voulait dire.
Mais si ces mécanismes nous obtenir en la mauvaise habitude de sites de confiance
quand nous voyons ces signaux positifs, ils sont très facilement abusés comme nous l'avons vu
Il ya juste un moment avec quelque chose stupide comme ça.
>> Donc, le détournement de session entre en jouer, comme nous le disions précédemment,
avec des biscuits par exemple.
Et qu'est-ce que cela signifie réellement?
Eh bien avec le détournement de session c'est tout de voler les cookies de quelqu'un.
Donc, si j'ouvre Chrome ici, pour Ainsi, et j'ouvre l'inspecteur
ici-bas et je vais à L'onglet Réseau -
et nous avons fait cela avant -
et je vais à quelque chose comme http://facebook.com Enter, un ensemble
tas de trucs traverse l'écran parce que de toutes les images et CSS et
Fichiers JavaScript.
>> Mais si je regarde celui-là remarquerez que Facebook est en effet la plantation d'un
ou plusieurs cookies sur mon navigateur ici.
Ce sont donc essentiellement la main timbres qui me représenter.
Et maintenant, j'espère que mon navigateur présenter à nouveau et à nouveau lorsque cette
revisiter ce site.
Mais cela ne est sécurisé, nous avons dit un Il ya quelques semaines, si vous utilisez SSL.
>> Mais même SSL lui-même peut être compromis.
Considérez après tout la façon dont fonctionne SSL.
Lorsque votre navigateur se connecte à une télécommande serveur via https://, longue histoire courte,
cryptographie est impliqué.
Ce n'est pas aussi simple que César ou Visionaire voire DES, DES, dans un
Alors qu'en PSet2.
C'est plus complexe que cela.
C'est ce qu'on appelle la cryptographie à clé publique.
Mais vraiment grande et vraiment aléatoire numéros sont utilisés pour brouiller
d'informations entre le point A, vous, et le point B, comme facebook.com.
>> Mais le problème est, combien d'entre nous à nouveau soit le type de https:// pour commencer
notre connexion au site Web dans ce mode sécurisé?
Je veux dire, combien d'entre vous même Type http://facebook.com?
Bon, si vous le faites, comme, bonjour.
Vous n'avez pas besoin de le faire plus, non?
Le navigateur comprendre.
>> Mais la plupart d'entre nous le font bien il suffit de taper facebook.com.
Parce que si nous utilisons un navigateur, l' les navigateurs ont eu assez intelligent par
2013 suppose que si vous utilisez un navigateur, vous tapez une adresse, vous
voudrez probablement pas y accéder par courrier électronique ou un message instantané.
Vous voulez dire que HTTP et le port 80.
Ces conventions ont été adoptées.
>> Mais comment fonctionne la redirection?
Eh bien, remarquez ce qui se passe ici.
Si je reviens à Chrome -
et nous allons faire cela dans incognito Mode de sorte que l'ensemble de mon
les cookies sont jetés.
Et laissez-moi aller ici pour, encore une fois, facebook.com.
Et nous allons voir ce qui se passe.
>> Rappelons que la première demande a été en effet juste pour facebook.com.
Mais quelle a été la réponse que j'ai reçu?
Ce n'était pas un 200 OK.
Il était de 300, ou 301, qui est un rediriger me disant d'aller à
http://www.facebook.com, qui est où Facebook veut que j'aille.
Mais alors, si nous regardons la requête suivante, et nous avons vu cela avant,
remarquez ce que leur deuxième réponse est.
Plus précisément qui ils veulent me maintenant aller à la version SSL de Facebook.
>> Voici donc une opportunité.
C'est une fonctionnalité merveilleusement utile de seulement la bande et HTTP.
Si l'utilisateur final comme Facebook veut de moi de rester sur la version sécurisée de leur
site, très bien.
Ils me réorienter pour moi.
Et donc je n'ai pas à même penser.
>> Mais que faire si entre le point A et B, entre vous et Facebook, il ya quelques
méchant, il ya un système administrateur à Harvard qui est curieux
pour voir qui sont vos amis.
Ou il ya certains -
il ya des années, cette utilisé pour paraître fou -
mais il ya quelque entité gouvernementale comme la NSA qui est réellement intéressé
à qui vous piquer sur Facebook.
Où est l'occasion là-bas?
Eh bien, aussi longtemps que quelqu'un a assez techniques avisés et ils ont accès
à votre réseau réel via le Wi-Fi ou un fil physique,
que pouvaient-ils faire?
>> Eh bien, s'ils sont sur le même réseau que vous et ils savent quelque chose
/ Adresses DNS et IP et TCP IP et comment tout cela fonctionne, si ce
man in the middle, que si ce ressortissant Agence de sécurité, quel qu'il
peut-être, mais si cette entité simplement répond plus rapidement que Facebook à
votre requête HTTP et dit: oh, je suis Facebook.
Allez-y, et voici le HTML pour facebook.com.
>> Les ordinateurs sont sacrément rapide.
Ainsi, vous pouvez écrire un programme s'exécutant sur un serveur comme nsa.gov que quand il
entend une demande de votre part pour facebook.com, très rapidement derrière l'
scènes obtient la prise de facebook.com réel une parfaite [? esque?] sécurisé
Connexion SSL entre NSA et entre Facebook, obtenir que HTML très
en toute sécurité pour la page de connexion, puis le serveur NSA répond juste pour vous
avec une page de connexion pour facebook.com.
>> Maintenant, combien d'entre vous remarqueront même que vous utilisez Facebook sur HTTP
encore à ce moment-là parce que vous avez accidentellement connectée à nsa.gov et
pas Facebook?
Les URL ne change pas.
Tout cela est fait dans les coulisses.
Mais la plupart d'entre nous, moi y compris, ne serait probablement pas remarquer
un tel détail mineur.
>> Donc, vous pourriez avoir un parfaitement réalisable connexion entre vous et ce que vous
Penser, c'est Facebook, mais il ya une ce qu'on appelle l'homme au milieu.
Et cela est un terme général pour l'homme dans l'attaque du milieu où vous avez une certaine
entité entre vous et le point B qui est en quelque sorte la manipulation, le vol, ou
regarder vos données.
Donc, même SSL n'est pas infaillible, surtout si vous avez été trompé en
pas l'allumer à cause de la façon dont ces mécanismes sous-jacents fonctionnent réellement.
>> Ainsi, une leçon d'aujourd'hui est alors trop si vous vraiment envie d'être paranoïaque -
et même ici, il ya des menaces -
vous devriez vraiment commencer à entrer dans l'habitude de taper dans https://www
n'importe quel nom de domaine réellement se soucier.
>> Et en passant, il ya trop encore une autre menace à
ce qui concerne le détournement de session.
Très souvent, lorsque vous visitez un premier site comme facebook.com, à moins que le
serveur a été configuré à-dire que ce timbre à la main, il a mis sur vous
hier doit être sécurisé lui-même, votre navigateur pourrait très bien, à
choses qui visitent comme facebook.com google.com, twitter.com, votre navigateur
pourrait être la présentation de ce timbre à la main seulement être giflé en bas et dit non.
Utiliser SSL.
>> Mais il est trop tard à ce moment-là.
Si vous avez déjà envoyé votre main timbre, votre cookie, en clair avec
pas de SSL, vous avez une fraction de seconde vulnérabilité où quelqu'un renifler
votre trafic, si colocataire ou NSA, peut ensuite utiliser ce même cookie, et
avec un peu de savoir-faire technique, présenter comme son propre.
>> Une autre attaque pourrait vous ne pas avoir pensé.
Celui-ci est vraiment sur vous si vous vissez cela dans l'écriture un certain site Web qui
en quelque sorte utilise SQL.
Donc, ici, par exemple, est un écran coup de login de Harvard.
Et ceci est un exemple général de quelque chose avec un
nom d'utilisateur et mot de passe.
Super commun.
Supposons donc que SSL existe et il n'y a pas d'homme dans le milieu ou
quelque chose comme ça.
Maintenant, nous nous concentrons sur le serveur de code que vous pouvez écrire.
>> Eh bien, quand je tape un nom d'utilisateur et mot de passe, supposons que le service PIN
est mis en œuvre en PHP.
Et vous pourriez avoir un peu de code sur ce serveur comme ça.
Obtenez le nom d'utilisateur du poste super- mondiale et obtenir le mot de passe, puis
si ils utilisent certains pset7 comme Code il ya une fonction de recherche
qui peut le faire.
Sélectionnez étoile des utilisateurs où username égaux et que le mot de passe est égale à celle.
>> Cela semble, à première vue, tout à fait raisonnable.
C'est syntaxiquement code PHP valide.
Logiquement, il n'y a rien mal à cela.
Vraisemblablement, il ya encore quelques lignes qui réellement faire quelque chose avec le
résultat qui revient à partir de la base de données.
Mais ce n'est vulnérables pour la raison suivante.
>> Notez que, comme un bon citoyen, J'ai mis entre guillemets, seul
citations, le nom d'utilisateur.
Et je mets des guillemets simples le mot de passe.
Et c'est une bonne chose parce qu'ils sont pas censés être des nombres.
Typiquement, ils vont être moins.
Donc je les cite comme des cordes.
>> Et si je maintenant avancer que si - et j'ai enlevé les balles de l'
PIN service temporairement -
Que faire si j'essaie de me connecter en tant que Président [? Scroob?]
mais je prétends que mon mot de passe est 12345 'ou '1' = '1 et avis
ce que je n'ai pas fait.
Je n'ai pas fermé l'autre apostrophe.
Parce que je suis assez forte ici comme le méchant.
Et je suppose qu'ils sont vous êtes pas très bien avec votre
Code PHP et MySQL.
Je devine que vous n'êtes pas le contrôle la présence de guillemets.
>> Alors que vient de se passer, c'est que lorsque votre utilisateur a tapé dans cette chaîne,
la requête que vous êtes sur le point de créer ressemble à ceci.
Et longue histoire courte, si vous et quelque chose ensemble ou si vous ou quelque chose
ensemble ça va revenir une ligne de la base de données.
Parce que c'est toujours l' une espèce qui est égal à 1.
>> Et juste parce que vous n'aviez pas prévu que vos utilisateurs, bons ou mauvais, pourrait
avoir une apostrophe dans leur nom ont créé une requête SQL qui est encore
valide, et sera de retour aujourd'hui plus de résultats que vous auriez voulu.
Et si ce méchant a désormais potentiellement connecté à votre serveur
parce que votre base de données est de retour suite même si il ou elle n'a aucune idée de ce que
[? ?] Mot de passe réel de Scroob est.
>> Oh, j'ai réalisé une typo ici.
Je n'ai dit mot de passe est égale 12345 comme la précédente
exemple ou 1 est égal à 1.
Je vais arranger ça en ligne.
>> Alors pourquoi n'avons nous vous avons utilisant la requête fonction des points d'interrogation?
Une des fonctions de la requête choses ne vous est-il fait en sorte que
quand vous passez des arguments après le virgules ici comme ça que la requête
qui est effectivement envoyé à l' base de données ressemble à ceci.
Beaucoup plus laid à regarder, mais de retour barres ont été automatiquement
insérée pour éviter précisément que attaque par injection que j'ai montré une
Il ya moment.
>> Maintenant, un amusement XKCD que je pensais que je tire ici, qui nous l'espérons devrait maintenant y avoir une
peu plus compréhensible c'est celui-là.
>> Un peu?
Peut-être que nous avons besoin d'un peu plus discussion sur ce point.
Donc, ce fait allusion à un petit garçon nommé Bobby qui a en quelque sorte pris
avantage d'un site web qui est juste en espérant que ce que l'utilisateur a tapé
en est pas, en fait, le code SQL, mais est en fait une chaîne.
>> Maintenant, vous souvenez peut-être que drop -
vous pourriez avoir vu cette - des moyens de chute supprimer un tableau, supprimer une base de données.
Donc, si vous demandez essentiellement que votre nom est Robert "; droptabl
estudentsomething,]
vous pourriez très bien tromper la base de données non seulement en vérifiant que vous êtes
En effet, Robert, mais aussi virgule procéder à supprimer la table.
>> Et si les attaques par injection SQL peut effectivement être aussi menaçant que cette
lequel vous pouvez supprimer les données de quelqu'un, vous pouvez sélectionner d'autres données que
destiné, vous pouvez insérer ou mettre à jour des données.
Et vous pouvez réellement voir ce sur au exercice à la maison, pas pour malveillants
fins, mais seulement pour l'enseignement, est une fois que vous êtes invité à vous connecter
dans le site Web, en particulier une sorte de très grand public, le site non très populaire,
essayez de vous connecter en tant que John O'Reilly ou quelqu'un avec une
apostrophe dans leur nom.
Ou littéralement suffit de taper apostrophe, appuyez sur Entrée, et voir ce qui se passe.
>> Et trop souvent, malheureusement, les gens n'ont pas assaini leurs entrées et
fait en sorte que des choses comme les citations ou des points-virgules sont échappés.
C'est pourquoi nous donnons à pset7 vous cette fonction d'interrogation.
Mais ne sous apprécier exactement ce qu'il fait pour vous.
>> Donc, avec cela dit, profitez de l'aide le web cette semaine.
Et nous allons vous voir lundi.
>> Lors de la prochaine CD50.
>> [MUSIQUE]