[MUSIC] DAVID J. MALAN: Alles klar. Das ist also CS50 und dies ist das Ende der 10. Woche. So einige von euch vielleicht gesehen haben bereits, ist aber in der letzten Zeit in Umlauf ist ein Artikel, dass ich dachte, ich hätte gelesen ein Auszug aus und dann zeigen Sie ein 3 Minuten Video, das malt das gleiche Bild. Es war wirklich eine rührende Geschichte, ich dachte, dieser Schnittpunkt der reale Welt mit wirklich überzeugenden nutzt der Technik. So wurde der Artikel mit dem Titel "Ein Junge verschläft am Zug, nutzt Google Maps Familie 25 Jahre später zu finden. "Und die ersten paar Absätze waren, "Wenn Saroo fünf Jahre alt war ging er mit seinem älteren Bruder für schnorren ändern auf einem Personenzug in einer Stadt, etwa zwei Stunden aus seiner kleinen Heimatstadt. Saroo müde wurde und hüpfte auf ein Nähe Bahnhof, wo er dachte, seine Bruder war, dann schlief ein. Als er aufwachte, war er in Kalkutta, fast 900 Meilen entfernt. Saroo versucht, seinen Weg zu finden zurück, aber er wusste nicht, der Name seiner Heimatstadt. Und als kleiner Junge Analphabeten in einem riesigen Stadt voller vergessenen Kinder hatte er praktisch keine Chance, nach Hause. Er war ein Straßenkind für eine Weile, bis eine lokale Adoptionsvermittlungsstelle süchtig ihn mit einem australischen Paar die brachte ihn nach leben in Hobart, Tasmanien. Saroo bewegt dort gelernt Englisch, und wuchs. Aber er hörte nie auf der Suche nach seine Familie und seine Heimatstadt. Jahrzehnte später entdeckte er Google Erde und folgte Schienen. Und indem er sich einen vorgeschriebenen Radius je nachdem, wie lange er dachte, er sei Einschlafen und wie schnell er dachte, der Zug ging, wusste er, er hatte aufgewachsen in einem warmen Klima, wusste er, er sprach Hindi als Kind, und er hatte gesagt, , dass er sah, wie er war von East India. Endlich, nach Jahren der Scheuer die Satelliten-Fotos, er erkannte ein paar Sehenswürdigkeiten. Und nachdem im Chat mit einem Administrator- von einem nahe gelegenen Stadt Facebook-Seite, erkannte er, er würde nach Hause gefunden. " So, hier ist dann das Video erzählen diese Geschichte aus seiner Perspektive. [VIDEO PLAYBACK] -Es war vor 26 Jahren, und ich war nur um zu drehen fünf. Wir kamen zum Bahnhof und bestiegen wir einen Zug zusammen. Mein Bruder sagte nur: Ich bleibe hier und ich werde wiederkommen. Und ich dachte nur, na ja, wissen Sie, ich Genauso gut könnte nur schlafen gehen und dann wird er nur mich aufwecken. Und wenn ich aufwache, am nächsten Tag, die ganze Wagen war auf einem außer Kontrolle geratenen leer Zug, eine Geisterbahn unter mir, ich weiß nicht, wo. Ich wurde nach Australien verabschiedet einer australischen Familie. Und Mom hatte mein Zimmer dekoriert mit die Karte von Indien, die sie setzen neben meinem Bett. Ich wachte jeden Morgen zu sehen, dass Karte, und damit es irgendwie hielt die Erinnerungen lebendig. Die Leute würden sagen, du bist zu versuchen finden Sie eine Nadel im Heuhaufen. Saroo, wirst du nie finden. Ich hätte blinkt der Orte, die Früher habe ich zu gehen, die Blitze von meiner Familie Gesichter. Es war das Bild meiner Mutter sitzt sich mit gekreuzten Beinen nur gerade ihren Schrei. Das Leben ist nur so schwer. Das war mein Schatz. Und ich war in Google Map suchen und klar, es ist Google Earth als gut. In einer Welt, wo man in I vergrößern begann, all diese Gedanken zu haben und welche Möglichkeiten die könnte dies für mich tun. Ich sagte mir, na ja, Sie wissen, Sie haben alle die fotografische Erinnerungen und Sehenswürdigkeiten, wo du bist aus, und Sie wissen, was die Stadt aussieht. Dies könnte eine Anwendung sein, dass Sie verwenden können, um Ihren Weg zurück zu finden. Ich dachte, na ja, ich werde einen Punkt setzen auf Calcutta Bahnhof in einem Radius Linie, dass Sie sollten suchen in dieser Gegend. Ich stieß auf diesen Gleisen. Und ich begann nach und ich kam zu ein Bahnhof, der das reflektierte gleiche Bild, die in meiner Erinnerung war. Alles abgestimmt. Ich dachte nur, yep. Ich weiß, wohin ich gehe. Ich werde einfach die Karte lassen, dass ich habe in meinem Kopf zu mir führen und mich Zurück zu meiner Heimatstadt. Ich kam zu der Haustür des Hauses dass ich geboren wurde, und ging um etwa fünfzehn Meter um die Ecke. Es wurde drei Damen draußen benachbart zueinander. Und die mittlere trat vor. Und ich dachte, das ist deine Mutter. Sie kam nach vorne, umarmte sie mich, und wir waren dort für etwa fünf Minuten. Sie packte meine Hand und nahm sie mich an das Haus und bekam am Telefon und sie klingelte meine Schwester und meinen Bruder zu sagen dass dein Bruder hat gerade alle die Plötzlich erschien wie ein Gespenst. Und dann war die Familie wieder vereint. Alles ist gut. Ich helfe meiner Mutter aus. Sie muss nicht entfernt werden schuften. Sie kann dazu führen, den Rest ihr Leben in Frieden. Es war eine Nadel im Heuhaufen, aber die Nadel war da. Alles ist da. Alles, was wir in der Welt haben ist der Hahn eines Knopfes. Aber du musst den Willen haben und die Entschlossenheit, es zu wollen. [END VIDEO PLAYBACK] Also eine wirklich süße Geschichte. Und es tatsächlich erinnert mich an eine ganz Thema, das immer ist schon ein bisschen der Aufmerksamkeit spät in The Crimson, mehr national im Allgemeinen. Zumal MOOCs nehmen das Stadium der spät. MOOCs wobei diese massive und offen Online-Kurse, von denen CS50 ist eins. Und die Leute darüber reden, wie zum So sind die Geisteswissenschaften nicht wirklich Nachholbedarf oder sind nicht annähernd so in der Mode, wie sie einmal waren. Und ich möchte Sie ermutigen, Jungs, viel wie Jonathan hat am Montag, zu denken, über, wie Sie Ausfahrt 50, und wir wissen, bereits etwa 50% von euch nicht weiter auf einen anderen Computer zu übernehmen Wissenschaft natürlich, und das ist völlig fein und erwartet. Denn eines der übergeordneten Ziele einer Klasse wie dieser ist wirklich Sie befähigen Jungs mit nur ein Verständnis davon, wie all dieses Zeug funktioniert und wie diese Welt von Technologie funktioniert. So dass, wenn Sie sich wieder in Ihrem eigenen Welten, ob es sich pre-med oder ob es sich um die Geisteswissenschaften oder die Sozialwissenschaften oder einem anderen Bereich insgesamt, dass euch bringen einige technische Kenntnisse an den Tisch und helfen, kluge Entscheidungen zu treffen, wenn es kommt auf die Verwendung von und Einführung der Technologie in die Welt. Zum Beispiel war ich in der letzten Zeit erinnert Auch zwei der Bachelor- Klassen, die ich vor zwei Jahren, das waren solche einfachen Einsatz von Technologien aber immer so überzeugend. Erste Nächte mit Professor Tom Kelly wenn du die Klasse gemacht. Es ist eine Klasse für klassische Musik diese Phase hier, wo Sie lernen ein wenig etwas über Musik. Es ist eigentlich Erste Nights dass CS50 lieh die Idee der Titel für die weniger komfortabel zwischen und komfortabler. In meiner Zeit hatten sie verschiedene Strecken für Kinder mit absolut keine Musik erleben wie ich, und dann Kinder, die worden waren, da sie die Durchführung fünf Jahre sind. Und die Klasse, zum Beispiel, hatte gerade eine Website wie die meisten anderen, aber es war eine Website, die Sie erlaubt erforschen Musik drauf und wiedergeben musikalische Clips aus der Klasse, aus dem Web, und verwenden Sie nur Technologie in einem sehr nahtlose Weise. Eine andere Klasse, dass ich Jahre später geprüft, im wesentlichen, grad school, Anthro 1010, Einleitung zu Archäologie hier. Es war erstaunlich. Und eines der spannendsten dennoch super offensichtlich im Nachhinein, verwendet der Software war, dass die Professoren in Diese Klasse verwendet Google Earth. Wir waren auf der anderen Straßenseite sitzt in einigen Hörsaal. Und man konnte nicht reisen, zum Beispiel, in den Nahen Osten in den dig, dass man der Professoren hatte gerade wieder kommen, aber wir konnten, dass praktisch tun, indem herumfliegen in Google Earth und Mit Blick auf eine Vogelperspektive auf die Ausgrabungsstätte er gerade zurückgekehrt war von vor einer Woche. Also ich möchte Sie ermutigen, Jungs, vor allem in den Geisteswissenschaften, zu gehen zurück zu den Abteilungen nach diesem Klasse bringen Sie Ihre letzten Projekte mit Ihnen oder eigene Ideen, und sehen genau das, was Sie tun können, um Ihre einflößen eigenen Feldern in geistes-oder jenseits mit ein wenig von dieser Art von Sache, die wir erforscht hier in CS50. Also mit diesem Bild gemalt, dachte wir würden versuchen, zwei Dinge anzugehen heute. One, versuchen, Ihnen ein Gefühl der wo Sie sich nach 50 gehen. Und vor allem, wenn Sie sich für befasst sich mit einem Web-basierten Projekt wie unglaublich weit verbreitet, wie man gehen kann über Ausziehen alle CS50 die Stützräder und gehen draußen auf Ihre eigene und nicht mehr auf eine verlassen PDF oder eine Spezifikation eines pset? Nicht mit auf eine CS50 verlassen Gerät nicht mehr. Aber kann wirklich ziehen sich von Ihrem Schopf aus dem Sumpf. Mit dieser sagte, C-Basis endgültige Projekte sind willkommen. Dinge, die den Ständer verwenden für ein tragbares Bibliothek Grafiken sind willkommen. Wir wissen nur, dass statistisch eine Menge Menschen abbeißen Projekte in PHP und Python und Ruby und MySQL und andere Umgebungen, so dass wir einige der Bias unsere Ausführungen zu, dass. Aber ein kurzer Blick zurück. Also nahmen wir in der pset7 gewährt Tatsache, dass $ _SESSION existierte. Das war ein super global, ein globales, assoziatives Array. Und was bedeutet das können Sie tun? Funktionell, was ist das verfügen das gibt uns? Ja? Um die ID des Benutzers zu verfolgen. Und warum ist das nützlich? Um der Lage sein, innerhalb dieses Super speichern globalen JHarvard oder [? Scroobs?] Malan oder die Benutzer-ID, wenn er oder sie eine Website besucht. Genau. So müssen Sie sich nicht anmelden in wieder und wieder. Es wäre eine wirklich lahme World Wide Web sein wenn jedes Mal, wenn Sie auf einen Link klickt auf einer Website wie Facebook oder jedes Mal Sie klickte auf einer E-Mail in Gmail Sie musste erneut authentifizieren zu beweisen, dass es ist immer noch Sie und nicht Ihre Mitbewohner wer könnte bis zu Ihrem gegangen sind Computer in Ihrer Abwesenheit. So verwenden wir nur SESSION daran erinnern, wer Sie sind. Und wie wird dies umgesetzt unter der Haube? Wie funktioniert eine Website, die verwendet, die Protokoll, dass Web-Browsern und Servern sprechen, wie funktioniert HTTP, die eine ist Staatenlose Protokoll, sagen wir. Und Staatenlose Ich meine, wenn Sie Verbindung zu einer Website, laden einige HTMLs, einige JavaScript, einige CSS, Ihre Browser-Symbol aufhört zu drehen. Sie haben noch eine ständige Verbindung der Server in der Regel. Das war's. Es gibt keinen Zustand gehalten ständig. Also, wie ist SESSION so umgesetzt eine Möglichkeit, dass jedes Mal, wenn Sie einen Besuch neue Seite, erinnert sich die Website wer du bist? Was ist die zugrunde liegende Implementierung Detail? Shout it out. Es ist ein Wort. Cookies. In Ordnung. So Cookies. Nun, wie werden Cookies verwendet? Wir erinnern daran, dass ein Cookie Allgemeinen nur ein Stück von Informationen. Und es ist oft eine große zufällige Anzahl, aber nicht immer. Und ein Cookie auf Ihrer Festplatte gepflanzt Laufwerk oder in den Arbeitsspeicher des Computers so dass jedes Mal, wenn Sie erneut die gleiche Website, erinnert Ihrem Browser die Server, ich bin user 1234567. Ich bin Benutzer 1234567. Und so lange der Server Erinnerung dass Benutzer ist 1234567 JHarvard, wird die Website einfach davon ausgehen, dass Sie, wer Sie sagen, Sie sind. Und daran erinnern, dass wir diese Cookies präsentieren Art in Form eines virtuelle Hand stehen. Es ist in den HTTP-Header gesendet, nur um erinnern Sie den Server, die es gibt denkt, dass Sie sind. Natürlich, es gibt eine Bedrohung. Welche Bedrohung geht diese öffnen uns für, wenn wir im Wesentlichen über eine Art Club oder ein Vergnügungspark Mechanismus für das Erinnern, wer wir sind? Wenn Sie kopieren jemand Cookie und die Entführung ihre Sitzung, so zu sprechen, Sie können vorgeben, jemand anderes zu sein und die Website wahrscheinlich ist gerade dabei, glauben. So kommen wir darauf zurück. Weil die andere Thema für heute über Empowerment ist auch im Gespräch über die sehr beängstigend Welt in der wir leben und wie viel von dem, was Sie tun, auf die Bahn, wie viel von dem, was Sie tun, auch auf Ihre Handys heute sein kann von niemandem wirklich zwischen aufgespürt Sie und Punkt B. Und Ajax, erinnern. Wir sahen uns nur kurz auf diese, obwohl Sie schon mit ihm indirekt in pset8 weil Sie sind Google Maps und weil du mithilfe von Google Earth. Google Maps und Google Earth nicht laden Sie die ganze Welt, um Ihre Desktop, natürlich, die Moment, Sie laden pset8. Es lädt nur einen Platz der Welt oder ein größerer Platz der Erde. Und dann jedes Mal, wenn eine Art steuern außerhalb des Bereichs werden Sie vielleicht feststellen - vor allem, wenn über eine langsame Verbindung - Sie vielleicht etwas grau für einen Moment zu sehen oder ein bisschen von Fuzzy-Bilder als die Computer downloads mehr wie Fliesen, mehr solche Bilder aus der Welt oder die Erde. Und Ajax ist in der Regel der Technik durch welche Websites sind zu tun. Wenn Sie mehr von der Karte, Ihre Browser wird Ajax, das ist zu verwenden nicht selbst eine Sprache oder Technologie, es ist nur eine Technik. Es ist die Verwendung von JavaScript zu holen Mehr Informationen von einem Server, ermöglicht Ihrem Browser zu holen, was zu im Osten oder was im Westen von Was ist sonst noch wobei in dieser Karte dargestellt. Also das ist ein Thema, dass viele von Ihnen wird entweder direkt oder begegnen indirekt über Abschlussarbeiten, wenn Sie wählen, um etwas, das ist zu machen ähnlich dynamisch, dass das Abrufen von Daten von dritter Seite. Also wir haben eine wirklich spannende am kommenden Mittwoch vor. Quiz ein, die Informationen für die ist auf CS50.net bereits. Wissen, dass es dann ein Review-Sitzung sein am kommenden Montag um 5:30. Das Datum und die Uhrzeit wird bereits gebucht auf CS50.net, dass Über Blatt. Und lassen Sie uns wissen Sie Fragen haben. Pset8 mittlerweile bereits in Ihren Händen. Und lassen Sie mich nur eine Adresse FAQ zu speichern Leute etwas Stress. In den meisten Fällen ein Großteil der Chatter sehen wir bei der Bürozeiten und viel die Fehler, die wir auf Discuss gemeldet sehe sind Bugs in der Tat eines Schülers Code. Aber wenn Sie etwas gestoßen wie die Google Earth-Plug-in abstürzt oder gar nicht arbeiten, und Sie sind zuversichtlich, es ist nicht wahr, es ist nicht ein [? chamad?] Frage, ist es nicht ein Fehler, den Sie eingeführt in die Verteilung Code. Erkenne nur FYI - Dies ist eine Art von Plan Z - dass wir das letzte Mal verwendet, um dieses Problem gesetzt und wir rannten in ähnliche Probleme gibt es eine Zeile Code in service.js Wesentlichen ist, das sagt, schalten Gebäude auf. Und sie arbeiten rund um die wir das letzte Mal tat dies in wieder Ecke Fällen, in denen Studenten konnte einfach nicht das verflixte Sache zu arbeiten ist true in false ändern daß eine Codezeile. Und finden Sie es, wenn Sie suchen durch service.js. Ich empfehle das nicht, weil Sie erstellen Sie die karge Landschaft Cambridge, Massachusetts. Dies wird buchstäblich platt Ihre Welt so dass alles, was Sie sehen, sind die Lehr- Stipendiaten und natürlich Assistenten auf der Horizont und keine Gebäude. Aber aus irgendeinem Grund erkennen, die Google Earth-Plug-in scheint immer noch zu sein, Buggy ein Jahr später, so dass diese Eventuell ist Ihre Fail Save. Also eher als Erholungsort zu Tränen, im Ferienort zu drehen Gebäude aus, wenn Sie wissen, es ist das Plug-in, die nicht kooperierenden ist auf Ihrem Mac oder PC. Aber dies ist wieder last resort, wenn Sie sind sicher, es ist nicht eine Wanze. Also die Hackathon. Ein paar Teaser nur Sie begeistern. Wir hatten ein paar Absagen. Und nur um ein Bild zu malen, was erwartet, dachte ich, ich würde Ihnen ein paar Sekunden erinnern dieser Bildsprache vom letzten Jahr. [MUSIC] DAVID J. MALAN: Warten, oh. Wir haben sogar unsere wörtlichen CS50 Shuttles. [MUSIC] DAVID J. MALAN: Also das ist, was sie erwartet Sie im Hinblick auf die Hackathon. Und das wird eine Gelegenheit sein, klar sein, nicht zu Ihrem endgültigen starten Projekte, sondern weiter arbeiten Ihre letzten Projekte neben Klassenkameraden und Personal und viel Essen. Und wieder, wenn du wach bist, um 5:00 Uhr nehmen wir Sie auf dem Weg zur IHOP. Der CS50 fair, mittlerweile ist der Höhepunkt für die gesamte Klasse, wo Sie bringen Ihre Laptops und Freunde, vielleicht sogar Familie in einem Zimmer auf dem Campus auf der Straße zu zeigen Ihre Projekte auf Laptops, auf hohen Tischen wie diese mit viel Essen und Freunde und Musik im Hintergrund, sowie unsere Freunde aus der Industrie. Firmen wie Facebook und Microsoft und Google und Amazon und Bündeln von andere, so dass, wenn interessiert nur Anhörung über die reale Welt oder Chat mit Leuten über reale Welt Praktikum oder Vollzeit Möglichkeiten, wissen, dass einige unserer Freunde aus der Industrie wird da sein. Und ein paar Bilder, die wir können Lack sind hier wie folgt. [MUSIC] DAVID J. MALAN: Alles klar. Also das ist dann die CS50 fair. So lasst uns nun daran gehen, eine Geschichte zu erzählen die wirklich helfen wir Ihnen hoffentlich für Dinge wie Abschlussarbeiten. So eine der wenigen Kleinigkeiten Samen Ihre Geist, entweder für Abschlussarbeiten oder einfach nur allgemein für Projekte, die Sie können entscheiden, ob nach dem Angriff der Kurs, werden diese alle dokumentiert auf manual.cs50.net wo die CS50 Handbuch, wo wir viele haben Techniken dokumentiert. Und dies ist nur Kurzschrift für sagen, dass es existiert in der Welt Dinge genannt SMS an E-Mail Gateways, die eine andere Art von ist sagen, es gibt Servern in der ganzen Welt die wissen, wie man E-Mails zu konvertieren Textnachrichten. Also, wenn für Ihre Abschlussarbeit Sie wollen um irgendeine Art von mobilen Themen erstellen Dienstleistung, die Sie an Freunde Benachrichtigung ermöglicht oder Benutzer, an Veranstaltungen auf dem Campus oder was gerade in der D-Halle serviert in dieser Nacht oder eine solche Warnfunktion, wissen, dass es einfach wie das Versenden ist ein E-Mail, die Sie mit PHPMailer könnte für pset7 verwendet haben oder wir sahen kurz eine Woche oder so vor, um Adressen wie diese. Und in der Tat kann man Text diese Annahme Ihr Freund hat eine unbegrenzte SMS Plan, und Sie wollen nicht zu berechnen ihnen $ 0,10. Aber wenn Sie per E-Mail an Ihren Freund Sie wer den Verizon oder AT & T mit Google Mail und nur dem Senden an ihre Telefonnummer an unabhängig von der Sub-Domain ist, merkt man, wird eine Textnachricht zu senden. Aber dies ist eines jener Dinge, vorsichtig sein. Wenn Sie troll durch letztjährigen CS50 Videos, die ich glaube, es war eine schreckliche, schrecklichen, schrecklichen Fehler, den ich in Code geschrieben endete das Senden über 20.000 SMS Botschaften zu leben, unsere Schüler in der Klasse. Und nur weil jemand bemerkt, dass sie waren immer mehrere Text Nachrichten von mir hatte ich das nötige Kleingeld, um Kontrolle C schnell getroffen und stoppen diesen Prozess. Control-C, Sie sich erinnern, ist dein Freund in Fällen von Endlosschleife. Also Vorsicht die Macht, die wir gerade gegeben haben Sie eher unverantwortlich, die meisten wahrscheinlicher ist, auf meinen eigenen Erfahrungen basiert. Aber das ist im Web und hat dort für einige Zeit gewesen. In Ordnung. So textmarks.com. Also das ist eine Website. Und es gibt Trauben von anderen da draußen wie gut, dass wir tatsächlich verwendet Als eine Klasse für Jahre in der Lage sein zum Empfangen von Textnachrichten. Leider ist das Senden von Kurzmitteilungen einfach wie E-Mails so. Empfangen ist ein wenig härter, vor allem wenn Sie wollen, um eine haben diese sexy Kurzwahlen das ist nur fünf oder sechs Ziffern lang sein. So zum Beispiel, für die Jahre, die Sie waren in der Lage, eine Textnachricht zu senden - und Sie Dies kann auch versuchen - bis 41411. Und das ist die Rufnummer für Dieses spezielle Start. Und wenn Sie eine Nachricht an 41411 - Ich werde einfach schreiben Sie es hier oben, so 41411 - und dann schicken sie eine Nachricht mag SBOY für Shuttle Boy. Und dann in etwas geben wie mather Quad. So senden Sie diese SMS-Nachricht zu dieser Rufnummer. Innerhalb von ein paar Sekunden sollten Sie zurück eine Antwort von dem CS50 Shuttle Boy-Service, der das Shuttle Scheduling-Software, die wir hatten aus draußen auf dem Netz für einige Zeit. Und es wird zu reagieren Sie per SMS. Denn was haben wir als Klasse getan, als ein Programmierer ist, Software zu schreiben, konfiguriert unseren kostenlosen Account mit Text Noten für Textnachrichten gesendet hören bei dieser Zahl SBOY. Und was sie tun, ist vorne die Text Nachrichten an unsere PHP-basierte Website als HTTP-Parameter sagen, hier. Dieser Benutzer mit dieser Nummer Sie erhalten diese Textnachricht. Mach damit, was du willst. So schrieben wir eine Software, die auf Empfangen einer Zeichenfolge wie SBOY mather Quad, analysieren wir es. Wir herauszufinden, wo die Räume sind zwischen den Wörtern. Und wir als Klasse entscheiden wie man darauf reagieren. Und wenn Sie das jetzt versuchen, zum Beispiel, Sie sollten sehen, über eine Antwort innerhalb einige Sekunden, gehen die nächsten Shuttles von mather dem Quad wenn überhaupt. Und es gibt andere Haltestellen. Sie können in Boylston oder andere geben stoppt auf dem Campus, und es sollte erkennen diese Worte. So parse.com. Dies ist ein weiterer Service, den wir waren zeigt einige Studenten für Abschlussarbeiten das ist wunderbar in, dass es kostenlos für ein angemessenen Höhe der Nutzung. Und wenn ich parse.com gehen du wirst sehen, dass dies ist eine Alternative zu tatsächlich mit so etwas wie Ihren eigenen MySQL-Datenbank. Und ehrlich gesagt, es ist nur Art faszinierend. Dies ist, was drin ist der trüben auch an einem bewölkten Tag. So parse.com ermöglicht es Ihnen, eine zu tun Haufen interessante Dinge. Und es gibt andere Alternativen dazu gibt. Zum Beispiel, können Sie sie als Back-End-Datenbank. So brauchen Sie nicht zu haben ein Web-Hosting-Unternehmen. Sie brauchen nicht zu haben, eine MySQL-Datenbank. Sie können stattdessen ihre Back-End. Wenn du tust ein mobiles Projekt für Android oder iOS oder dergleichen, wissen, dass gibt es Dinge wie Push-Dienste so können Sie Benachrichtigungen an Ihre Freunde drücken oder Ihrer Nutzer Bildschirmen zu Hause. Und dann ein paar andere Funktionen. Also, wenn Sie Interesse haben, lesen Sie diese Websites und Websites wie sie zu sehen, wie viele andere Völker ' Schultern Sie stehen auf, um wirklich coole Software der eigenen. Jetzt in Bezug auf Authentifizierung, eine FAQ, ist, wie Sie tatsächlich garantieren dass Ihre Anwender sind Menschen auf dem Campus, Harvard-Studenten oder Dozenten oder Mitarbeiter? So CS50 verfügt über eine eigene Authentifizierung Dienst namens CS50 ID. Gehen Sie zu dieser URL und Sie können Ihre beschränken Website zu jedermann mit einem Harvard ID, zum Beispiel. So wissen, dass wir damit umgehen. Ihr solltet nicht im Geschäft sein zu sagen, was ist Ihre Harvard ID? Was ist Ihr Harvard PIN? Lassen Sie mich nun etwas zu tun mit ihm. Wir tun alles. Und was wir leiten Sie zurück zu geben ist jemand den Namen und die E-Mail-Adresse, aber nichts empfindlich. Eine App auf einem mobilen Gerät, kann es sein, , um auf einem mobilen Gerät zu arbeiten, aber Es ist nicht ganz dafür konzipiert. So werden Sie die Ausgaben bis Ende eine nicht triviale Höhe der Zeit zu tun. Also ich würde entmutigen diesen Weg jetzt. Das ist wirklich für gedacht Web-basierte Anwendungen. So Web-Hosting. Also, wenn Sie nicht auf zu sehen Homepage des Kurses - und hier, wo wir eine Geschichte beginnen werde - Web-Hosting ist alles über die Zahlung für in der Regel ein Service, Host einen Server im Besitz von jemand anderem im Internet, die eine hat IP-Adresse, und Sie dann legen Sie Ihre Website auf sie. Und sie in der Regel geben Sie E-Mail- Konten und Datenbanken und andere Funktionen. Wisse, dass, wenn Sie nicht möchten, dass tatsächlich zahlen für solche, zu dieser URL gehen dort und CS50 hat tatsächlich eine Non-Profit- Konto, das Sie verwenden können eigentlich nicht http://projekt Innere des Gerätes für Ihre Abschlussarbeit. Wenn Sie tatsächlich wollen, dass es etwas sein wie, isawyouharvard.com, Sie können kaufen, dass Domain-Namen - obwohl nicht, dass insbesondere ein - und dann können Sie über Hosting auf eine gehen öffentlichen Web-Server wie können wir euch hier durch. Und in der Tat, wenn nicht vertraut, wenn Sie noch nie gewesen isawyouharvard.com, ein, dorthin zu gehen. Aber zwei, weiß, dass das ein jung war Frauennamen von Tej To Too zwei Toor Jahren, vor drei Jahren, wer ein CS50 Alumni, die ein oder zwei Tage passiert vor dem CS50 Messe schickte eine E-Mail zu ihrem Haus Mailingliste und voila. Zwei Tage später von der CS50 fair, hatte sie Hunderte von Anwendern kriechend auf einander auf ihrer Website und zu sagen, wie sie gesehen hatten sie oder ihn auf dem Campus. Also das ist eine der Lieblings-CS50 Erfolgsgeschichten aus CS50 ein Abschlussprojekt. So wie Sie darum, eine Website zu gehen mag, dass im Internet? Nun, es gibt ein paar solcher Zutaten hier. So einen haben Sie einen Domain-Namen zu kaufen. Es gibt Orte in Bündeln von die Welt, von denen Sie kaufen Sie einen Domain-Namen. Und zum Beispiel eine, die wir empfehlen nur, weil es populär ist und es ist billig heißt namecheap.com. Aber man kann godaddy.com gehen und Dutzende andere da draußen. Hier können Sie sich auf Bewertungen. Aber zum größten Teil ist es nicht egal, von wem Sie kaufen Sie einen Domain-Namen. Und sie unterscheiden sich in Preis und sie variieren in Suffix. Die Endungen wie. Com,. Net, . Org,. Io,. Tv, diejenigen tatsächlich variieren im Preis. Aber wenn wir wollten etwas tun cats.com können wir auf diese Website gehen, klicken Sie auf Suchen. Vermutlich ist dies eine wird angenommen. Aber anscheinend catsagainst.com ist. pluscats.com verfügbar ist. Lovecats, catscorner, dampcats.net. All diese hoffentlich pseudo zufällig erzeugt. Wenn Sie möchten, cats.pw, $ 1500 nur, Das ist ein bisschen verrückt. So jemand hat wirklich alle geschnappt die Katze ähnliche Domain-Namen hier für unterschiedlichen Preisen. Nebenbei, mal sehen. Wer hat cats.com? Wisst, dass ihr Jungs an haben Verfügung ziemlich anspruchsvolle Befehle jetzt. Wie kann ich buchstäblich geben wer ist cats.com? Und wegen der Art, das Internet ist strukturiert man kann tatsächlich sehen, wer registriert hat diese. Offenbar ist diese Person [unverständlich] Verwendung eines Proxy-Dienst. Wer also besitzt cats.com will nicht die Welt zu wissen, wer sie sind. Also haben sie registriert werden, wenn durch einige zufällige Privacy Service. Aber manchmal muss man eigentlich bekommen tatsächlichen Eigentümer. Und das ist zu sagen, vor allem wenn Sie verfolgt eine Inbetriebnahme und Sie wirklich wollen einige Domain-Namen und du bist bereit, jemand anderes bezahlen Damit können Sie herausfinden, Kontakt Informationen auf diese Weise. Aber auch interessant ist. Lassen Sie mich scrollen bis zu diesem Teil. Also das ist, dass gleiche Leistung. Und dies ist nur klebrig. So scheinbar cats.com kann Ihnen für den richtigen Preis. Aber was ist interessant hier ist, dass die Name-Server - Das ist die totale Missbrauch von was für ein Name Server sein soll - Ihren Namen Server soll nicht sein thisdomainforsale.com. Wenn wir tatsächlich so etwas wie wählen - wählen wir etwas mehr legitim wie, wer ist google.com, und blättern Sie hier. Also hier - was ist da passiert? Interessante. Darüber hinaus ist die - wir halten es low key. Wer ist mit.edu? OK. Dies ist hilfreich. Also das ist, was ich mir erhofft hatte. Legitime Verwendung des DNS-Dienstes. Nameserver hier zeigen der folgende. Dies ist MIT Art zu sagen, wenn jemand in der Welt, wo sie sind, Typen in mit.edu und Hits Enter Ihren Laptop, ob Mac oder PC, werden irgendwie schließlich herauszufinden, dass die Menschen in der Welt, was die wissen IP-Adresse ist für mit.edu oder einen der Sub-Domains bei mit.edu oder irgendwelche diese Server hier - und es tatsächlich sieht aus wie MITs Infrastruktur ist ziemlich robust wie man es erwarten würde. Sie haben mehrere Namen Servern Das ist gut für die Redundanz. Und in der Tat, sie scheinen global sein verteilt auf der ganzen Welt. Ein Bündel von denen scheint in den USA sein, ein paar in Asien, eine in Europa, zwei in woanders. Aber der Punkt hier ist, dass die DNS dass haben wir für selbstverständlich genommen und allgemein als eine große Excel-Tabelle beschrieben das hat IP-Adressen und Domain- Namen ist eigentlich ziemlich anspruchsvoll hierarchischen Service, so dass in der Welt gibt es tatsächlich eine endliche Anzahl von Servern, die im Wesentlichen wissen, wo alle. Coms sind oder alle die. Netze sind, die alle die . Orgs sind, und so weiter. Also, wenn Sie voran gehen und kaufen eine Domain Namen von einem Ort wie Name Günstige oder Go Daddy oder jede andere Website, einer der die wichtigsten Schritte, die Sie tun müssen, Sie, wenn Sie dies tun, auch für die endgültige Projekt ist zu sagen den Registrar von wem Sie kaufen die Domain Namen, wer weiß, in der Welt Ihre Website die IP-Adressen, die Ihre Nameserver sind. Also, wenn Sie zum Beispiel die CS50 Hosting-Account - wir passieren zu müssen dieses Konto durch dreamhost.com die eine populären Web-Hosting-Unternehmen - sie werden Ihnen sagen, dass Sie kaufen sollten Ihre Domain und der Welt sagen, dass Ihrer Domain Name Server ns1.dreamhost.com, ns2.dreamhost.com, und ns3.dreamhost.com. Aber das ist es. Der Kauf einer Domain Name bedeutet ihnen das Geld und immer Eigentum des Domäne, aber es ist mehr wie Ein Mietobjekt though. Man bekommt sie für ein Jahr und dann bill Sie wiederkehrend für den Rest der Ihr Leben, bis Sie kündigen der Domain-Name. Und dann sagen Sie ihnen, die Name-Server sind. Aber dann bist du mit getan Ihr Registrar. Und von dort werden Sie nur die Interaktion mit Ihre Web-Hosting-Unternehmen, das in CS50 Fall wird DreamHost sein. Aber noch einmal, mehr Dokumentation sein bereitgestellt, um Sie, wenn Sie sich entscheiden zu gehen diesen Weg. Also, wenn Sie dies tun, nach dem Kurs der Ende, einfach googeln Web-Hosting Unternehmen wird wiederum Tausende von Optionen. Und ich würde generell empfehlen Ihnen, fragen Sie Freunde, die einen benutzt haben könnte Unternehmen vor, wenn sie empfehlen sie und hatte eine gute Erfahrung. Da gibt es eine Menge von fly by night Web-Hosting-Unternehmen, wie ein Kerl in seinem Keller mit einem Server das hat eine IP-Adresse. Er hat etwas mehr RAM und Festplatte Raum und nur verkauft Webhosting Konten, auch wenn es keine Möglichkeit gibt, dass Server umgehen konnte Hunderte von Benutzer oder Tausende von Benutzern. So erkennen Sie erhalten was man bezahlt. Für eine ganze Weile für meine persönliche Hause Seite - und das war völlig akzeptabel weil ich hatte dabei zwei Besucher pro Monat - Ich zahlte, wie, $ 2,95 pro Monat. Und ich bin mir ziemlich sicher, es war in einem Keller. Aber noch einmal, müssen Sie nicht unbedingt bekommen keine Garantien oder uptime Skalierbarkeit. Also noch einmal, sind Sie in der Regel auf der Suche auf etwas mehr als das.. Nun, was ist SSL? Also, was ist SSL verwendet? Lassen Sie uns jetzt beginnen, in der Lenk Richtungen der Sicherheit und Dinge, die kann uns schaden. Zumal Sie wagen auf eigene Faust. Was ist SSL, oder was SSL verwendet? Sicherheit, OK. So ist es für die Sicherheit verwendet. Was bedeutet das? So steht für Secure Sockets Layer. Und es wird durch eine URL angegeben Das beginnt mit https://. Viele von uns haben wahrscheinlich noch nie getippt https://, aber du wirst oft feststellen, dass Ihr Browser wird von HTTP umgeleitet HTTPS, so dass alles, was da ist nach verschlüsselt. FYI, unter Verwendung von SSL erfordert in der Regel, dass Sie haben eine eindeutige IP-Adresse. Und in der Regel, um eine eindeutige IP-Adresse Sie brauchen, um einen Web-Hosting zahlen Unternehmen ein paar Dollar mehr pro Monat. So weiß, das ist sehr leicht umgesetzt in diesen Tagen durch den Kauf einer IP Adresse und durch Kauf, was ist rief ein SSL-Zertifikat. Aber klar, dass es kommen wird irgendwann zusätzliche Kosten. Und, wie wir versuchen, in nur erschrecken bit, es ist nicht einmal unbedingt 100% Schutz von was auch immer es ist Sie versuchen, zu schützen. Also für Sicherheit, ich dachte, ich würde tun Art von einem zufälligen segue hier. Wie Sie vielleicht aus CS50 Vortrag wissen Videos, hat unser Produktionsteam ein Fan wie ich von der Einnahme wirklich schön Fotografie von Campus und Antenne photography zuletzt. Wenn Sie schon einmal nach oben und Sie sehen etwas fliegen mit einer kleinen Kamera, es kann tatsächlich sein CS50. Und ich dachte, ich würde Minute teilen einige der Aufnahmen hat das Team gesammelt, vor allem, da wir uns auf die das Sommersemester und im nächsten Herbst. Wenn einer von euch haben ein Händchen für Fotografie, Videografie, würden wir lieben, erhalten Sie beteiligt hinter den Kulissen. Aber mehr auf diese Details in einer Woche. [MUSIC] DAVID J. MALAN: Stellt sich heraus, es gibt eine Minigolfanlage auf der Oberseite das Stadion, dass wir nie wussten. [MUSIC] DAVID J. MALAN: Sie können die skizzieren der Drohne gibt. [MUSIC] DAVID J. MALAN: Der beste Teil hier ist, beobachten Sie die Jogger auf der linken Seite. [MUSIC] DAVID J. MALAN: Ein weiteres Beispiel dafür, was Sie können mit der Technologie zu tun, das ist nur tangential, ehrlich gesagt, in Bezug auf Sicherheit. Aber ich dachte, das wäre eine mehr sein unterhaltsame Art und Weise nur zu sagen, Sicherheit. Also lasst uns sehen, ob wir nicht erschrecken euch jetzt nicht nur mit ein bisschen wie ein paar Bedrohungen, sondern auch eine darunter liegende Verständnis von dem, was diese Bedrohungen werden, so dass Sie kann vorwärts entscheiden, wie und ob zu verteidigen sich gegen diese Dinge und zumindest darauf achten, ihnen, wie Sie Entscheidungen darüber, ob oder nicht, senden Sie diese E-Mail, ob Sie in diese Website, ob oder nicht zu verwenden, dass Cyber-Café Wi-Fi-Zugang Punkt, so dass Sie wissen, was die Drohungen sind in der Tat um Sie herum. So Jonathan nach etwas mag dies am Montag. Er hatte ein Fenster Screenshot. Dieser ist von einem Mac. Wie viele von euch schon einmal installiert Software auf Ihrem Mac oder PC? Offensichtlich jedermann. Wie viele von euch haben viel darüber nachgedacht bis Sie Ihr Passwort eingeben wenn Sie dazu aufgefordert werden? Ich meine, selbst ich nicht, ehrlich gesagt. So ein paar von uns sind gut bei paranoid. Aber bedenken Sie, was Sie tatsächlich tun hier. An einem typischen Mac oder PC haben Sie ein Administrator-Konto. Und in der Regel sind Sie der einzige, der mit ein Laptop zumindest in diesen Tagen. So Ihr Konto, Malan oder JHarvard oder was auch immer es ist, ist die Administrator-Konto. Und was das bedeutet ist, haben Sie Root-Zugriff auf Ihren Computer. Sie installieren können, was Sie wollen, alles löschen, was Sie wollen. Und in der Regel in diesen Tagen, da der datierten Design-Entscheidungen von Jahren, wie die meisten Software installiert wird ist als Administrator an. Und selbst wenn Ihr Mac oder PC hat mindestens intelligent genug, über das hinbekommen Jahren mit den neuesten Inkarnationen Mac OS und Windows nicht laufen Ihre Benutzername standardmäßig als die Administrator, wenn Sie einige downloaden neues Programm aus dem Internet und versuchen, installieren Sie es, du bist wahrscheinlich nach Ihrem Passwort gefragt. Aber der Haken ist an diesem Punkt, du bist buchstäblich die Schlüsselübergabe Ihres Computer über den unabhängig von zufälligen Programm, das Sie gerade heruntergeladen und wodurch es zu installieren was sie will. Und Jonathan angedeutet, realisieren dass es vielleicht sagen, dass es will Installation der Software, die Sie interessieren über, Spotify oder iTunes oder was auch immer ist man versucht zu installieren. Aber du bist buchstäblich vertrauen den Autor oder Autoren der Software an nur das tun, was das Programm tun soll. Aber es gibt absolut nichts Stoppen die meisten Programme auf den meisten Betriebssysteme von Löschen von Dateien, Upload von bis zu einem gewissen Unternehmens Website von Trolling herum, zum Verschlüsseln Dinge. Und wieder haben wir eine Art gebaut eine ganze Infrastruktur auf die Jahre auf Vertrauen. Und so erkennen, dass Sie habe gerade Vertrauen zufällige Personen und zufällige Unternehmen für den größten Teil. Und Jonathan angespielt zu, manchmal die Unternehmen selbst sind eine Art wissentlich bösartig, alles in Ordnung? Sony gefangen viel Flack ein paar Jahren vor für die Installation, was genannt wurde ein Rootkit-Kit auf den Computern ohne deren Wissen. Und das Wesentliche war, dass, wenn Sie kaufte eine CD zum Beispiel, dass sie nicht wollen, dass Sie in der Lage sein zu kopieren oder rippen die Musik aus der, würde die CD installieren, ohne Ihr Wissen, ein Rootkit auf Ihrem Computer. Rootkit nur bedeutet, die Software läuft als Administrator, dass möglicherweise tut schlechte Dinge. Aber unter den Dingen, dieses Ding tat, war es verbarg sich. So einige von euch vielleicht ziemlich versierte mit Ihrem Computer und wissen, gut, ich können nur öffnen Sie den Task-Manager oder das Activity Monitor und ich kann überhaupt aussehen der arcanely namens Programme die ausgeführt werden. Und wenn etwas verdächtig aussieht Ich werde einfach töten oder zu löschen. Aber das ist, was das Rootkit tat. Im Wesentlichen sagte, wenn laufende Aufgabe Manager nicht selbst zeigen. Also die Software dort war. Und nur, wenn Sie wirklich, wirklich sah harte könnten Sie finden es sogar. Und dies wurde im Namen getan von Kopierschutz. Aber nur vorstellen, was wurden anderweitig erledigt. Jetzt in Bezug auf sich selbst zu schützen. Eine Vielzahl von Websites sind wunderbar gnädig, indem sie setzen diese Vorhängeschloss-Icons auf ihrer Homepage die bedeutet, dass die Website sicher ist. Dies ist aus bankofamerica.com an diesem Morgen. Also, was bedeutet, dass kleine Schloss-Symbol es bedeutet neben der Schaltfläche Anmelden? Absolut nichts. Es bedeutet, dass jemand weiß, wie man verwenden Photoshop, um ein Bild von einem Vorhängeschloss-Symbol. Wie wahrsten Sinne des Wortes, die Tatsache, dass es Es soll eine positive sein an die Benutzerschnittstellen, wie, ooh, sichere Website. Ich vertraue dieser Website und jetzt Geben Sie in meinem Benutzernamen und Passwort. Und dies war für herkömmliche Jahren, so vor kurzem wie heute Morgen. Aber bedenken Sie, dass die Gewohnheiten das ist immer in uns. Betrachten Sie die implizite Botschaft, dass alle dieser Banken in diesem Fall gewesen Senden Sie uns seit Jahren. Wenn Sie Vorhängeschloss sehen, dann sichern. Alles klar? So wie können Sie dieses System missbrauchen Vertrauen, wenn Sie der Bösewicht bist? Setzen Sie ein Vorhängeschloss auf Ihrer Website, und logisch, haben die Nutzer gewesen konditioniert seit Jahren davon ausgehen, Vorhängeschloss bedeutet sicher. Und es könnte tatsächlich sicher sein. Vielleicht haben Sie eine wunderbar sichere SSL HTTPS-Verbindung zu einem gefälschte Website. com. Und niemand sonst auf der Welt sehen kann Sie sind im Begriff, ihm oder ihr die Hand Ihren Benutzernamen und Ihr Passwort ein auf Ihr Konto. Dies obwohl, vielleicht, ist ein wenig mehr beruhigend. Also das ist ein Screenshot von der Spitze von meinem Browser heute Morgen um bankofamerica.com. Und hier bemerken wir auch haben ein Vorhängeschloss-Symbol. Was bedeutet es in diesem Zusammenhang bedeuten in Chrome mindestens? Also das ist jetzt mit SSL. Also das ist eigentlich eine bessere Sache. Und die Tatsache, dass Chrome macht es grün soll unsere Aufmerksamkeit der Tatsache, dass es sich nicht nur über SSL. Dies ist ein Unternehmen, dass jemand aus Es wurde der Nachweis erbracht ist eigentlich bankofamerica.com. Und das bedeutet, dass die Bank of America, beim Kauf ihrer sogenannten SSL Zertifikat, im Wesentlichen große zufällige, etwas Zufallszahlen, die Umsetzung Sicherheit für sie, haben sie bestätigt von einigen unabhängigen Partei, die sagt, yep. Das ist eigentlich der CEO der Bank of Amerika versucht, um das Zertifikat zu kaufen. Chrome wird daher darauf vertrauen, dass Zertifizierungsstelle und sagen grün, ist dies bankofamerica.com. Und die Bank of America zahlt nur ein paar hundert Dollar für dieses oder ein paar Tausend im Gegensatz zu einer paar Dutzend Dollar. Aber auch hier, wie viele von euch haben jemals anders verhalten, weil die URL in Ihren Browser grün statt schwarz? Right? So ein paar von uns. Und das ist gut, paranoid zu sein. Aber selbst dann, diejenigen von euch, die noch bemerken diese Dinge tun, die Sie tatsächlich beenden Sie die Protokollierung in einer ansonsten sicheren Website, wenn die URL nicht grün? Alles klar, also wahrscheinlich nicht, oder? Zumindest die meisten von uns, wenn es ist nicht grün, wahrscheinlich sind Sie gerade dabei zu sein, wie auch immer. Mag, möchte ich in dieser Website anmelden. Das ist, warum ich hier bin. Ich werde Sie sich dennoch. Als beiseite, ist Chrome ein wenig besser darüber. Aber es gibt eine Menge von Browsern wie Firefox beispielsweise zumindest für einiger Zeit, wo das Schloss-Symbol ist, können Sie tatsächlich legte jede Symbol der eigenen. Lassen Sie mich sehen, was die neueste Version Firefox aussieht. Also, wenn wir CS50.net gehen. OK, so haben sie besser geworden als gut. Was die verwendeten Browsern zu tun ist, wie, Hier ist zum Beispiel [? SAAS ist?] erklimmen hier oben. Das ist die so genannte Favoriten Symbol für eine Website. Vor Jahren - eigentlich gar nicht so lange her -, dass wenig Schild wäre richtig gewesen hier neben der URL. Da einige Genie entschieden, dass es würde nur hübsch aussehen nobel zu haben Ihre grafische Logo rechts neben Ihrer URL. Und Design weise, dass tatsächlich ist ziemlich überzeugend. So was hat bad guy tun beginnen? Sie begannen ihre Lieblings-Wechsel Symbole oder ihre Standard-Icon für eine Homepage nicht ein Wappen sein aber ein Vorhängeschloss, das hatte absolut keine Bedeutung. Anders als ihre Lieblings-icon wurde ein Vorhängeschloss es hatte keine Hinweise auf Sicherheit. Also hier sind die Lehren ein paar, denke ich. Einer ist, dass es tatsächlich einige gut gemeint Mechanismen für lehrt uns Nutzern über Sicherheit auch wenn Sie waren nicht einmal bewusst, was grün bedeutete oder was auch HTTPS gemeint. Aber wenn diese Mechanismen kommen uns in die schlechte Angewohnheit, vertrauensvolle Webseiten wenn wir diese positive Signale zu sehen, sie sind sehr leicht missbraucht wie wir sahen eben noch mit etwas dumm wie dieses. So Session Hijacking kommt spielen, wie wir schon sagten, mit Cookies zum Beispiel. Und was bedeutet das eigentlich? Nun mit Session-Hijacking, das ist alles zu stehlen jemand Cookies. Also, wenn ich hier eröffnen Chrome, für B. und ich öffne die Inspector hier unten und ich gehe zu der Registerkarte Netzwerk - und wir haben das schon mal gemacht - und ich gehe zu so etwas wie http://facebook.com Enter, eine ganze Haufen Zeug geht über den Bildschirm wegen all den Bildern und CSS und JavaScript-Dateien. Aber wenn ich an diese hier aussehen bemerken dass Facebook ist in der Tat eine Pflanzung oder mehrere Cookies auf meinem Browser finden Sie hier. Das sind also im Wesentlichen die Hand Briefmarken, die mich vertreten. Und jetzt hoffentlich meine Browser präsentieren diese immer und immer wieder, wenn Neubetrachtung dieser Website. Aber das ist sicher nur, sagten wir ein Vor einigen Wochen, wenn Sie mit SSL. Aber auch SSL selbst kann werden beeinträchtigt. Betrachten wir nach den ganzen Weg SSL funktioniert. Wenn Ihr Browser eine Verbindung zu einem Remote- Server über https://, lange Rede kurzer Sinn, Kryptographie ist beteiligt. Es ist nicht so einfach wie Caesar oder Visionaire oder sogar DES, DES von einem Weile zurück in pset2. Es ist komplizierter als die. Es heißt Public Key-Kryptographie. Aber wirklich groß und wirklich zufällig Zahlen werden verwendet, um Gerangel Informationen zwischen Punkt A, Sie, und Punkt B, wie facebook.com. Aber das Problem ist, wie viele von uns wieder je Art in https:// beginnen unsere Website-Verbindung in diesem sicheren Modus? Ich meine, wie viele von Ihnen auch Typ http://facebook.com? Na gut, wenn Sie das tun, wie, hallo. Sie brauchen nicht zu tun mehr, nicht wahr? Der Browser wird es herausfinden. Aber die meisten von uns tun, in der Tat geben Sie einfach facebook.com. Denn wenn wir mit einem Browser, der Browser haben intelligent genug von bekommen 2013 übernehmen, wenn Sie eine gerade Browser, geben Sie in einer Adresse, Sie wahrscheinlich wollen, um darauf zuzugreifen nicht per E-Mail oder Instant Message. Du meinst, HTTP und Port 80. Diese Konventionen verabschiedet worden. Aber wie funktioniert die Umleitung funktioniert? Nun, bemerken, was hier passiert. Wenn ich zurück zu Chrome - und lasst uns dies tun in incognito Modus, so dass alle meine Cookies werden weggeworfen. Und lassen Sie mich hier zu gehen, wieder, facebook.com. Und lassen Sie uns sehen, was passiert. Daran erinnern, dass die erste Anfrage war in der Tat nur für facebook.com. Aber was war die Antwort, die ich bekam? Es war nicht ein 200 OK. Es war 300 oder 301, die eine Umleitung mir um zu gehen http://www.facebook.com, das ist Facebook, wo ich hin will. Aber dann, wenn wir uns bei der nächsten Anfrage, und wir haben noch nie gesehen, bemerken, was ihre zweite Antwort ist. Insbesondere, dass sie wollen, dass ich jetzt zu gehen, um die SSL-Version von Facebook. Also hier ist eine Chance. Dies ist ein wunderbar nützliches Feature nur im Web und HTTP. Wenn der Endbenutzer wie Facebook will mich um auf der sicheren Version ihres bleiben Website, groß. Sie werden mich für mich selbst umleiten. Und so habe ich nicht, auch darüber nachdenken. Aber was, wenn zwischen Punkt A und B, zwischen Ihnen und Facebook, es gibt einige Bösewicht, gibt es einige System Administrator in Harvard, die neugierig ist um zu sehen, wer deine Freunde sind. Oder gibt es einige - Jahren verwendet dies verrückt klingen - aber es gibt einige staatliche Unternehmen wie die NSA, die tatsächlich interessiert ist in die du auf Facebook stossen. Wo ist die Gelegenheit da? Nun, so lange, wie jemand hat genug technische Kenntnisse und sie haben Zugang Ihren tatsächlichen Netzwerk über Wi-Fi oder einige körperliche Draht, was konnten sie tun? Nun, wenn sie sind auf dem gleichen Netzwerk wie Sie und sie wissen etwas über TCP / IP und IP-Adressen und DNS und wie all das funktioniert, was ist, wenn die Mann in der Mitte, was, wenn die nationalen Security Agency, was es mag sein, aber was ist, wenn diese Einrichtung einfach reagiert schneller als Facebook Ihre HTTP-Anfrage und sagt: oh, ich bin Facebook. Go ahead, und hier ist der HTML für facebook.com. Computer sind verdammt schnell. So könnte man ein Programm schreiben, die auf ein Server wie nsa.gov dass, wenn es hört eine Anfrage von Ihnen für facebook.com, sehr schnell hinter die Szenen bekommt die reale facebook.com Herstellung ein perfekt [? esque?] sichere SSL-Verbindung zwischen NSA und zwischen Facebook, immer, dass HTML sehr sicher für die Login-Seite, und dann die NSA-Server reagiert nur auf Sie mit einer Login-Seite für facebook.com. Nun, wie viele von euch würden sogar feststellen, dass Sie mit Facebook über HTTP noch an diesem Punkt, weil Sie haben versehentlich nsa.gov verbunden und nicht Facebook? Die URLs nicht ändern. All dies wird getan, hinter den Kulissen. Aber die meisten von uns, mich eingeschlossen, Wahrscheinlich würde es nicht bemerken wie eine Kleinigkeit. So haben Sie vielleicht eine perfekt funktionierende Verbindung zwischen Ihnen und was Sie denken, ist Facebook, aber es gibt eine sogenannte Mann in der Mitte. Und das ist ein allgemeiner Begriff für den Menschen in durch die Mitte, wo Sie einige Einheit zwischen Ihnen und Punkt B ist das irgendwie zu manipulieren, zu stehlen, oder beobachten Sie Ihre Daten. Also auch SSL ist nicht todsichere, insbesondere wenn du in ausgetrickst nicht einschalten zu müssen, weil, wie diese zugrunde liegenden Mechanismen tatsächlich funktionieren. So eine Lektion heute, dann ist auch, wenn Sie wirklich wollen, paranoid zu sein - und auch hier gibt es Bedrohungen - Sie sollten wirklich anfangen, in die Gewohnheit der Typisierung in https://www unabhängig von Domainnamen tatsächlich interessieren. Und nebenbei gibt es auch noch eine weitere Bedrohung mit betrachten, um Session-Hijacking. Sehr oft, wenn Sie beim ersten Besuch eine Website wie facebook.com, es sei denn, die Server so konfiguriert wurde, zu sagen, dass dass Handstempels es auf Sie setzen gestern sollte sicher selbst, Ihre Browser könnte sehr gut auf Besuch Dinge wie facebook.com google.com, twitter.com, Ihrem Browser vielleicht präsentiert diese Hand nur Stempel nach unten geschlagen werden und sagte, nein. SSL verwenden. Aber es ist zu spät an diesem Punkt. Wenn Sie bereits Ihre Hand geschickt Stempel, Ihre Cookie, in der klar mit kein SSL, haben Sie einen Bruchteil einer Sekunde Schwachstelle, wo jemand schnüffeln Ihren Traffic, ob Mitbewohner oder NSA, Anschließend können Sie das gleiche Cookie, und mit ein wenig technische Kenntnisse, präsentieren sie als seine eigenen. Ein weiterer Angriff könnten Sie nicht darüber nachgedacht. Dieses ist wirklich auf Sie, wenn Sie schrauben dies schriftlich und einige Website, dass irgendwie verwendet SQL. Also hier, zum Beispiel, ist ein Bildschirm Schuss von der Harvard-Login. Und das ist ein allgemeines Beispiel von etwas mit einem Benutzernamen und Passwort. Super-üblich. Nehmen wir also an, dass SSL und existiert es gibt keinen Mann in der Mitte oder so etwas. Jetzt sind wir auf dem Server die Fokussierung Code, den Sie schreiben könnte. Nun, als ich geben Sie einen Benutzernamen und vergessen, anzunehmen, dass die PIN-Service ist in PHP implementiert. Und haben Sie vielleicht einige Code auf diesem Server wie diese. Holen Sie sich den Benutzernamen aus dem Beitrag Super globale und bekommen das Passwort, und dann wenn sie mit etwas wie pset7 Code gibt es eine Abfrage-Funktion das könnte das tun. Wählen Stern von den Benutzern wobei Benutzername gleich, dass und Passwort gleich, dass. Das sieht auf den ersten Blick, völlig vernünftig. Dies ist syntaktisch gültigen PHP-Code. Logischerweise gibt es nichts falsch mit diesem. Vermutlich gibt es einige weitere Zeilen, die tatsächlich etwas mit dem Ergebnis kommt zurück aus der Datenbank. Aber das ist anfällig für das aus folgendem Grund. Beachten Sie, dass, wie ein guter Bürger, Ich habe in Anführungszeichen setzen, Single Zitate, die Benutzernamen. Und ich habe in einfache Anführungszeichen das Passwort. Und das ist eine gute Sache, weil sie eigentlich nicht Zahlen. Typischerweise sie gehen, um Text sein. Also ich zitiere sie wie Saiten. Und wenn ich jetzt weiter, was wenn voranzubringen - und ich habe die Kugeln aus der entfernt PIN Dienst vorübergehend - was ist, wenn ich versuche, für die Anmeldung Präsident [? Scroob?] aber ich behaupten, dass mein Passwort ist 12345 'OR '1' = '1, und beachten was ich nicht getan habe. Ich habe nicht in der Nähe der anderen Apostroph. Denn ich bin ziemlich scharf hier als Bösewicht. Und ich nehme an, dass sie, dann bist Du nicht sehr gut mit Ihren PHP und MySQL-Code. Ich vermute, dass Sie nicht die Überprüfung für das Vorhandensein von Anführungszeichen. Also, was gerade passiert ist, dass, wenn Ihr Benutzer hat in dieser Zeichenfolge eingegeben haben, die Abfrage Sie sind dabei, erstellen sieht wie folgt aus. Und lange Rede kurzer Sinn, wenn Sie und gemeinsam etwas oder Sie oder etwas zusammen, das wird zurückkehren eine Zeile aus der Datenbank. Denn es ist immer Fall, dass 1 1 entspricht. Und nur weil du nicht vorhergesehen dass die Benutzer, gut oder schlecht, könnte haben einen Apostroph in ihrem Namen erstellt eine SQL-Abfrage, die immer noch haben gültig ist, wird und kehren nun weitere Ergebnisse als Sie vielleicht gedacht haben. Und so schlechter Kerl hat jetzt potenziell eingeloggt sein, um Ihrem Server weil Ihre Datenbank ist wieder eine Zeile selbst wenn er oder sie hat keine Ahnung, was [? Scroob das?] Eigentliche Passwort ist. Oh, merkte ich, ein Tippfehler hier. Ich habe gesagt, gleich vergessen 12345 wie die vorherige Beispiel 1 oder gleich 1 ist. Ich werde zu beheben, dass online. Also, warum haben wir Sie über die Abfrage Funktion mit Fragezeichen? Eines der Dinge, die Abfrage-Funktion hat für Sie ist es sorgt dafür, dass wenn Sie passieren in Argumente, die nach der Komma hier so, dass die Abfrage Das ist eigentlich die gesendet Datenbank sieht wie folgt aus. Eine Menge hässlicher, zu betrachten, sondern zurück Schrägstriche haben automatisch gewesen eingeführt, um genau das zu vermeiden Injection-Angriff zeigte, dass ich ein Moment vor. Nun wird ein Spaß XKCD, dass ich dachte, ich würde ziehen hier, dass sollte nun hoffentlich ein sein wenig verständlicher ist diese hier. Ein bisschen? Vielleicht brauchen wir ein wenig mehr Diskussion darüber. Also das ist ein kleines Kind Anspielung namens Bobby, die irgendwie getroffen hat Vorteil einer Website, die gerade Vertrauen darauf, dass das, was der Benutzer eingegeben hat in ist in der Tat nicht, SQL-Code, jedoch ist in der Tat eine Zeichenfolge. Jetzt können Sie sich daran erinnern, dass drop - Sie könnte dies gesehen haben - drop Mittel eine Tabelle löschen, löschen Sie eine Datenbank. Also, wenn Sie behaupten, dass im Wesentlichen Ihr Name ist Robert "; droptabl estudentsomething,] Sie könnte sehr wohl täuschen die Datenbank nicht nur in Überprüfung, dass Sie Robert Tat, aber auch Semikolon gehen, um den Tisch fallen zu lassen. Und so können SQL-Injection-Angriffe tatsächlich so bedrohlich wie diese wobei Sie löschen jemand Daten, Sie können mehr Daten als bestimmt sind, können Sie einfügen oder Aktualisieren von Daten. Und man kann tatsächlich sehen, diese auf bei zu Hause ausüben, nicht für böswillige Zwecke, sondern nur für den Unterricht, ist jedes Mal, wenn Sie aufgefordert werden, sich gerade in Website, insbesondere eine Art von Nicht sehr öffentlichen, sehr beliebte Website, versuchen Sie sich als John O'Reilly oder jemand mit einem Apostroph in ihrem Namen. Oder geben Sie einfach buchstäblich Apostroph, drücken Sie die Eingabetaste, und sehen, was passiert. Und allzu oft tragisch, Menschen haben ihre Eingänge und desinfiziert sorgte dafür, dass Dinge wie Zitate oder Semikolon sind entkommen. Welches ist, warum geben wir in pset7 Sie diese Abfrage-Funktion. Aber nicht unter schätzen genau was es für Sie tun. Also mit diesem sagte, viel Spaß mit die Bahn in dieser Woche. Und wir werden uns am Montag. An der nächsten CD50. [MUSIC]