[MUZIK] DAVID J. MALAN: Baiklah. Jadi ini adalah CS50 dan ini adalah akhir minggu 10. Jadi sebahagian daripada anda mungkin telah melihat ini sudah, tetapi yang diedarkan lewat adalah satu artikel yang saya fikir saya akan membaca petikan dari dan kemudian menunjukkan video tiga minit yang cat gambar yang sama. Ia adalah benar-benar cerita yang menyentuh, saya berfikir, persimpangan ini daripada dunia sebenar dengan benar-benar menarik menggunakan teknologi. Jadi artikel itu bertajuk, "Seorang anak lelaki oversleeps kereta api, menggunakan Google Maps untuk mencari keluarga 25 tahun kemudian. "Dan Pasangan pertama perenggan adalah, "Apabila Saroo berusia lima tahun dia pergi dengan abangnya untuk mencuri untuk menukar kereta api penumpang di sebuah bandar kira-kira dua jam dari kampung halaman kecil. Saroo menjadi letih dan hopped pada kereta api berdekatan di mana beliau berpendapat beliau saudara telah, kemudian tertidur. Apabila dia bangun dia berada di Calcutta, hampir 900 km dari sini. Saroo cuba untuk mencari jalan kembali, tetapi dia tidak tahu nama kampung halamannya. Dan sebagai seorang anak kecil yang buta huruf besar bandar yang penuh dengan anak-anak lupa dia hampir tidak ada peluang untuk mendapatkan rumah. Dia adalah seorang kanak-kanak jalan untuk sementara waktu sehingga agensi penggunaan tempatan ketagih dia dengan pasangan Australia yang membawanya ke tinggal di Hobart, Tasmania. Saroo berpindah ke situ, belajar Bahasa Inggeris, dan membesar. Tetapi dia tidak pernah berhenti mencari keluarganya dan kampung halamannya. Dekad kemudian, beliau mendapati Google Bumi dan landasan keretapi diikuti. Dan memberi dirinya radius yang ditetapkan berdasarkan berapa lama dia fikir dia adalah tidur dan berapa cepat dia fikir kereta api telah pergi, dia tahu dia capai membesar dalam iklim yang panas, dia tahu dia bercakap Hindi sebagai kanak-kanak, dan dia akan diberitahu bahawa dia kelihatan seperti dia adalah dari East India. Akhirnya, selepas bertahun-tahun mengeruk gambar-gambar satelit, dia mengiktiraf tanda beberapa. Dan selepas berbual dengan pentadbir sebuah bandar yang terletak berhampiran Laman Facebook, dia sedar dia akan mendapati rumah. " Jadi di sini maka adalah video yang memberitahu bahawa kisah dari perspektif beliau. [MAIN SEMULA VIDEO] -Ia adalah 26 tahun yang lalu dan saya hanya kira-kira untuk menjadikan lima. Kami sampai ke stesen keretapi dan kami menaiki kereta api bersama-sama. Abang saya hanya berkata, saya akan tinggal di sini dan saya akan kembali. Dan saya berfikir, baik, anda tahu, saya juga mungkin hanya pergi untuk tidur dan maka dia hanya akan bangun saya. Dan apabila saya bangun hari berikutnya, keseluruhan pengangkutan adalah kosong pada pelarian kereta api, kereta api hantu mengambil saya, saya tidak tahu di mana. Saya telah diterima pakai keluar ke Australia kepada keluarga Australia. Dan Ibu telah dihiasi bilik saya dengan peta India, yang dia meletakkan sebelah kesukaan saya. Saya bangun setiap pagi melihat peta itu, dan oleh itu, ia semacam memelihara kenangan hidup. Orang akan berkata, anda cuba untuk mencari jarum dalam sisa rumput kering a. Saroo, anda tidak akan menemuinya. Saya mempunyai kilauan tempat-tempat yang Saya pernah pergi, berkelip wajah-wajah keluarga saya. Terdapat imej ibu saya duduk turun dengan kaki menyeberangi hanya menonton seruan beliau. Kehidupan adalah hanya begitu keras. Itu adalah harta saya. Dan saya telah mencari di Google Map dan menyedari ada Google Earth juga. Dalam dunia di mana anda boleh zum ke dalam saya mula mempunyai pemikiran dan apa kemungkinan yang ini boleh lakukan untuk saya. Saya berkata kepada diri saya sendiri, baik, anda tahu, anda telah mendapat semua fotografi kenangan dan mercu tanda di mana anda berada dan anda tahu apa yang bandar kelihatan seperti. Ini boleh menjadi suatu permohonan yang anda boleh gunakan untuk mencari jalan anda kembali. Saya berfikir, baik, saya akan meletakkan titik pada Stesen Keretapi Calcutta dalam lingkungan garis yang anda perlu mencari sekitar kawasan ini. Saya terserempak dengan ini trek kereta api. Dan saya mula mengikuti dan saya datang ke sebuah stesen kereta api yang mencerminkan imej yang sama yang berada di dalam diri saya sendiri. Semua dipadankan. Saya hanya berfikir, Ya. Saya tahu di mana saya akan. Saya hanya akan membiarkan peta yang saya ada dalam kepala saya untuk membawa saya dan mengambil saya kembali ke kampung halaman saya. Saya datang ke depan pintu rumah bahawa saya dilahirkan dan berjalan di sekitar kira-kira lima belas meter sekitar sudut. Terdapat tiga wanita telah berdiri di luar bersebelahan antara satu sama lain. Dan yang tengah melangkah ke hadapan. Dan saya fikir, ini adalah ibu anda. Dia datang ke hadapan, dia memeluk saya, dan kami berada di sana selama kira-kira lima minit. Beliau meraih tangan saya dan dia membawa saya ke rumah dan mendapat di telefon dan dia berbunyi kakak saya dan abang saya untuk mengatakan adik kamu hanya mempunyai semua tiba-tiba muncul seperti hantu. Dan kemudian keluarga itu bersatu semula lagi. Semuanya semua baik. Saya membantu ibu saya keluar. Dia tidak perlu slaving jauh. Dia boleh membawa seluruh hidupnya dengan aman. Ia adalah jarum dalam sisa rumput kering, tetapi jarum berada di sana. Segala-galanya di sana. Semua yang kita ada dalam dunia adalah paip butang. Tetapi anda perlu mempunyai kehendak dan keazaman untuk mahu ia. [AKHIR VIDEO MAIN SEMULA] Jadi cerita benar-benar manis. Dan ia sebenarnya mengingatkan saya agak topik yang telah mendapat cukup sedikit perhatian akhir-akhir ini dalam The Crimson, lebih nasional secara umum. Terutama sebagai MOOCs mengambil peringkat lewat. MOOCs ini menjadi besar-besaran dan terbuka kursus dalam talian yang CS50 adalah satu. Dan orang-orang bercakap tentang bagaimana, contoh, kemanusiaan tidak benar-benar menangkap atau tidak hampir yang dalam tren kerana mereka dahulu. Dan saya akan menggalakkan anda semua, banyak seperti Jonathan lakukan pada hari Isnin, untuk berfikir kira-kira sebagai anda keluar 50, dan kita tahu sudah kira-kira 50% daripada anda tidak akan meneruskan untuk mengambil komputer lain kursus sains, dan yang benar-benar halus dan dijangka. Kerana salah satu matlamat yang paling utama kelas seperti ini adalah benar-benar untuk memberi kuasa kepada anda semua dengan hanya memahami bagaimana semua barangan ini berfungsi dan bagaimana dunia ini kerja-kerja teknologi. Jadi apabila anda berada di dalam anda sendiri dunia, sama ada ia adalah pra-med atau sama ada ia adalah kemanusiaan atau sains sosial atau beberapa bidang lain sama sekali, bahawa kamu akan membawa beberapa celik teknikal ke meja dan membantu untuk membuat keputusan yang bijak apabila ia datang kepada penggunaan dan pengenalan teknologi ke dunia anda. Sebagai contoh saya teringatkan lewat terlalu dua daripada ijazah kelas saya mengambil masa dua tahun yang lalu, yang menggunakan apa-apa yang mudah teknologi tetapi pernah begitu menarik. Malam Pertama dengan Profesor Tom Kelly jika anda telah mengambil kelas. Ia adalah satu kelas pada muzik klasik di peringkat ini di sini di mana anda belajar sedikit sesuatu tentang muzik. Ini sebenarnya Malam Pertama yang CS50 dipinjam idea trek bagi mereka kurang selesa di antara dan lebih selesa. Dalam masa saya mereka mempunyai trek yang berbeza untuk kanak-kanak dengan benar-benar tidak ada muzik pengalaman seperti saya, dan kemudian kanak-kanak yang telah melaksanakan kerana mereka lima tahun. Dan kelas itu, misalnya, hanya mempunyai laman web seperti kebanyakan yang lain, tetapi ia adalah sebuah laman web yang membolehkan anda untuk meneroka muzik di atasnya dan memainkan semula klip muzik dari kelas, dari web, dan hanya menggunakan teknologi yang sangat cara yang lancar. Satu lagi kelas tahun kemudian bahawa saya diaudit, pada dasarnya, dalam grad sekolah, Anthro 1010, Pengenalan untuk Arkeologi di sini. Ia adalah menakjubkan. Dan salah satu yang paling menarik lagi super jelas, jika ditinjau kembali, penggunaan perisian ialah profesor di kelas menggunakan Google Earth. Kami sedang duduk di seberang jalan di beberapa dewan kuliah. Dan anda tidak boleh bergerak, misalnya, ke Timur Tengah untuk menggali bahawa satu daripada profesor baru sahaja kembali ke atas, tetapi kita boleh melakukan yang hampir dengan terbang di dalam Google Earth dan melihat pandangan mata burung di menggali tapak dia baru sahaja pulang dari seminggu yang lalu. Jadi, saya akan menggalakkan anda semua, terutama dalam kemanusiaan, untuk pergi kembali ke jabatan-jabatan selepas ini kelas membawa projek akhir anda dengan anda atau idea-idea anda sendiri, dan melihat hanya apa yang anda boleh lakukan untuk menyemai anda sendiri dalam bidang kemanusiaan atau di luar dengan sedikit jenis ini perkara yang kita telah diterokai di sini di CS50. Jadi dengan gambar yang dilukis, fikir kita akan cuba untuk menangani dua perkara hari ini. Satu, cuba untuk memberi anda rasa di mana anda boleh pergi selepas 50. Dan khususnya, jika anda memilih untuk menangani projek berasaskan web seperti amat biasa, bagaimana anda boleh pergi tentang mengambil kira semua ini CS50 roda latihan dan pergi di luar sana di anda sendiri dan tidak perlu bergantung kepada PDF atau spesifikasi pset a? Tidak perlu bergantung kepada CS50 perkakas lagi. Tetapi benar-benar boleh tarik diri oleh bootstraps anda. Dengan itu berkata, C-berdasarkan akhir projek adalah dialu-alukan. Perkara-perkara yang menggunakan pendirian untuk perpustakaan mudah alih di grafik adalah dialu-alukan. Kami hanya tahu bahawa statistik banyak orang menggigit projek dalam PHP dan Python dan Ruby dan MySQL dan lain-lain persekitaran, jadi kita akan berat sebelah beberapa ucapan kita ke arah itu. Tetapi kembali melihat cepat. Oleh itu, kita mengambil untuk diberikan pset7 yang hakikat bahawa $ _SESSION wujud. Ini adalah global super, global, array bersekutu. Dan apakah ini memberitahu anda lakukan? Fungsi, apa ciri ini memberikan kita? Ya? Untuk menjejaki ID pengguna. Dan mengapa ini berguna? Untuk dapat menyimpan dalam super ini JHarvard global atau [? Scroobs?] atau ID pengguna Malan apabila dia atau dia melawat tapak. Tepat sekali. Jadi anda tidak perlu untuk log masuk dalam lagi dan lagi. Ia akan menjadi benar-benar lumpuh dunia web yang luas jika setiap kali anda klik link di laman seperti Facebook atau setiap kali anda klik pada e-mel dalam Gmail anda terpaksa semula mengesahkan untuk membuktikan bahawa ia masih anda dan tidak rakan sebilik anda yang mungkin telah berjalan sehingga anda komputer tanpa kehadiran anda. Jadi kita gunakan SESI hanya ingat siapa anda. Dan bagaimana ini dilaksanakan di bawah hood? Bagaimana laman web yang menggunakan, yang protokol yang pelayar web dan pelayan bercakap, bagaimana HTTP, yang merupakan protokol bernegara, katakan. Dan dengan kerakyatan Maksud saya, apabila anda menyambung ke laman web, memuat turun beberapa HTMLs, beberapa JavaScript, beberapa CSS, anda icon penyemak berhenti berputar. Anda tidak mempunyai sambungan tetap kepada pelayan biasanya. Itu sahaja. Tiada negeri dikekalkan sentiasa. Jadi bagaimana SESI dilaksanakan dalam apa-apa cara bahawa setiap kali anda melakukan melawat laman baru, laman web ini masih ingat siapa anda? Apakah pelaksanaan asas terperinci? Menjerit ia keluar. Ia adalah salah satu perkataan. Cookies. Baiklah. Jadi cookies. Nah, bagaimana cookies digunakan? Kami akan ingat bahawa cookies umumnya hanya sekeping maklumat. Dan ia sering rawak besar nombor, tetapi tidak selalu. Dan cookie ditanam di keras anda memandu atau RAM komputer anda supaya bahawa setiap kali anda semula yang sama laman web, pelayar anda mengingatkan server, saya pengguna 1234567. Saya pengguna 1234567. Dan selagi pelayan telah dikenang pengguna yang adalah 1234567 JHarvard, laman web ini hanya akan mengambil alih bahawa anda adalah yang anda katakan anda. Dan ingat bahawa kita sekarang ini cookies jenis dalam bentuk pendirian tangan maya. Ia dihantar dalam header HTTP hanya untuk mengingatkan pelayan yang anda siapa difikirkan anda. Sudah tentu, ada ancaman. Apa ancaman adakah ini membuka kita kepada jika kita pada dasarnya menggunakan jenis kelab atau mekanisme taman hiburan untuk mengingati siapa kita? Jika anda menyalin cookie seseorang dan merampas sesi mereka, jadi untuk bercakap, anda boleh berpura-pura menjadi orang lain dan laman web yang paling mungkin hanya akan percaya anda. Oleh itu, kita akan kembali kepada itu. Kerana tema yang lain untuk hari ini di luar memperkasakan juga bercakap tentang dunia yang sangat menakutkan kita hidup dalam dan betapa banyak daripada apa yang anda lakukan pada web, berapa banyak daripada apa yang anda lakukan walaupun di telefon bimbit anda hari ini boleh menjadi dikesan oleh sesiapa benar-benar di antara anda dan titik B. Dan Ajax, ingat. Kita melihat hanya sebentar di ini, walaupun anda telah menggunakan ia tidak langsung dalam pset8 kerana anda menggunakan Peta Google dan kerana anda menggunakan Google Earth. Google Maps dan Google Earth tidak memuat turun seluruh dunia untuk anda desktop, jelas, Sebaik sahaja anda memuatkan pset8. Ia hanya memuat turun persegi dunia atau persegi yang lebih besar daripada bumi. Dan kemudian setiap kali anda jenis mengemudi daripada pelbagai anda mungkin notis - terutamanya jika pada sambungan perlahan - anda mungkin melihat beberapa kelabu seketika atau sedikit kabur imej sebagai muat turun lebih komputer jubin itu, lebih imej itu daripada dunia atau bumi. Dan Ajax biasanya teknik di mana laman web yang berbuat demikian. Sebaik sahaja anda memerlukan lebih banyak peta, anda pelayar akan menggunakan Ajax, yang merupakan tidak sendiri bahasa atau teknologi, ia hanya teknik. Ia adalah penggunaan JavaScript untuk pergi mendapatkan maklumat lanjut daripada pelayan yang membolehkan pelayar anda untuk pergi mendapatkan apa yang ke timur atau apa yang di sebelah barat apa yang sebaliknya kini yang ditunjukkan dalam peta itu. Jadi ini adalah satu topik yang ramai di antara kamu akan menghadapi sama ada secara langsung atau secara tidak langsung melalui projek akhir jika anda memilih untuk membuat sesuatu yang juga dinamik yang menarik ini data dari beberapa laman web pihak ketiga. Jadi kita telah mendapat benar-benar menarik Rabu depan di hadapan. Kuiz satu, maklumat yang baginya pada CS50.net sudah. Tahu bahawa akan ada sesi kajian Isnin ini akan datang pada 5:30. Tarikh dan masa yang telah diberikan pada CS50.net kerana Mengenai kunci. Dan jangan biarkan kami tahu anda mempunyai sebarang pertanyaan. Pset8 Sementara itu sudah di tangan anda. Dan biarlah saya menangani salah FAQ untuk menyelamatkan orang beberapa tekanan. Bagi sebahagian besar banyak perbualan kita lihat pada waktu pejabat dan banyak bug yang kita lihat dilaporkan pada Bincangkan adalah sesungguhnya bug dalam kod pelajar. Tetapi apabila anda temui sesuatu seperti Google Earth plug-in terhempas atau tidak bekerja dan anda yakin ia bukan anda, ia bukan satu [? chamad?] isu, ia bukan satu bug yang anda dimasukkan ke dalam kod pengedaran. Menyedari hakikat FYI - ini adalah jenis pelan Z - kali terakhir kita digunakan masalah ini ditetapkan dan kami berlari ke dalam yang sama isu-isu, terdapat satu baris kod dalam service.js yang pada asasnya adalah ini, yang mengatakan, menjadikan bangunan di atas. Dan mereka bekerja pada masa yang lepas, kita melakukan ini, sekali lagi, kes-kes di mana sudut pelajar hanya tidak boleh mendapatkan darn perkara yang perlu bekerja adalah menukar benar palsu dalam garis satu kod. Dan anda akan merasa jika anda mencari melalui service.js. Saya tidak mencadangkan ini kerana anda akan mewujudkan landskap yang paling tandus Cambridge, Massachusetts. Ini benar-benar akan meleperkan dunia anda supaya semua yang anda lihat adalah pengajaran rakan-rakan dan pembantu kursus ufuk dan tiada bangunan. Tetapi sedar untuk apa-apa sebab Google Earth plug-in seolah-olah masih menjadi kereta setahun kemudian, jadi ini mungkin gagal anda menyimpan. Jadi, daripada mengambil jalan keluar dengan air mata, resort untuk menjadikan bangunan di luar jika anda tahu ia adalah plug-in yang tidak bekerjasama pada Mac atau PC anda. Tetapi, ini sekali lagi jalan terakhir jika anda pasti ia bukan bug. Jadi Hackathon. Beberapa penggoda hanya untuk mendapatkan anda teruja. Kami mempunyai cukup RSVP beberapa. Dan hanya untuk melukis gambar apa menanti, saya fikir saya akan memberikan anda beberapa saat ingat imej ini dari tahun lepas. [MUZIK] DAVID J. MALAN: Tunggu, oh. Kami juga mempunyai literal kami CS50 pengangkutan. [MUZIK] DAVID J. MALAN: Jadi itulah apa yang menanti anda dari segi Hackathon. Dan ini akan menjadi satu peluang untuk jelas, bukan untuk memulakan akhir anda projek tetapi untuk terus bekerja pada projek akhir anda bersama rakan-rakan dan kakitangan dan banyak makan. Dan sekali lagi, jika anda berjaga pada 05:00 kami akan membawa anda ke jalan raya untuk Ruangan. Saksama CS50 Sementara itu, adalah kemuncak untuk seluruh kelas di mana anda akan membawa komputer riba dan rakan-rakan anda, mungkin juga keluarga ke sebuah bilik di kampus jalan untuk mempamerkan projek-projek anda pada komputer riba, di atas meja tinggi seperti ini dengan banyak makanan dan rakan-rakan dan muzik di latar belakang, serta rakan-rakan kami dari industri. Syarikat-syarikat seperti Facebook dan Microsoft dan Google dan Amazon dan tandan lain supaya jika yang berminat dalam hanya mendengar mengenai dunia sebenar atau berbual dengan orang tentang dunia sebenar latihan atau sepenuh peluang masa, tahu bahawa sebahagian daripada rakan-rakan kami daripada industri akan berada di sana. Dan beberapa gambar-gambar yang kita boleh cat di sini adalah seperti berikut. [MUZIK] DAVID J. MALAN: Baiklah. Supaya kemudian adalah adil CS50. Jadi mari kita kini terus bercerita yang benar-benar akan memberi kuasa kepada anda diharapkan untuk perkara-perkara seperti projek akhir. Jadi salah satu daripada beberapa perkara yang sedikit untuk benih anda fikiran, sama ada untuk projek akhir atau hanya lebih amnya untuk projek-projek yang anda boleh memutuskan untuk menangani selepas kursus ini, semua ini adalah didokumenkan pada manual.cs50.net mana CS50 pengguna di mana kita mempunyai banyak teknik didokumenkan. Dan ini hanyalah notasi singkatan untuk mengatakan bahawa tidak wujud dalam perkara-perkara dunia yang dikenali sebagai SMS untuk e-mel gerbang, yang merupakan cara mewah berkata, ada pelayan di dunia yang tahu bagaimana untuk menukar e-mel kepada mesej teks. Jadi jika untuk projek akhir anda, anda mahu untuk mewujudkan beberapa jenis bertemakan bimbit perkhidmatan yang membolehkan anda untuk memberi amaran kepada rakan-rakan atau pengguna untuk acara-acara di kampus atau apa yang disampaikan di Dewan D malam itu atau apa-apa ciri amaran itu, tahu bahawa ia semudah menghantar e-mel seperti yang anda PHPMailer mungkin telah digunakan untuk pset7 atau kita melihat ringkas seminggu atau lebih yang lalu, untuk alamat seperti ini. Dan sebenarnya anda boleh teks ini dengan andaian rakan anda mempunyai SMS yang tidak terhad merancang dan anda tidak mahu untuk mengenakan mereka $ 0.10. Tetapi jika anda menghantar e-mel kepada rakan anda yang anda tahu mempunyai Verizon atau AT & T menggunakan Gmail dan hanya menghantar kepada nombor telefon mereka pada apa sahaja yang domain sub ada, menyedari bahawa anda akan menghantar mesej teks. Tetapi ini adalah salah satu daripada perkara-perkara berhati-hati. Jika anda menaja melalui CS50 tahun lepas video saya fikir ia adalah, ngeri, ngeri, bug ngeri saya menulis di dalam kod akhirnya menghantar kira-kira 20,000 teks Mesej hidup untuk kita pelajar-pelajar di dalam kelas. Dan hanya kerana seseorang menyedari bahawa mereka mendapat pelbagai teks mesej dari saya adakah saya mempunyai kemampuan untuk memukul Kawalan C cepat dan menghentikan proses itu. Kawalan C, anda masih ingat, adalah rakan anda dalam keadaan gelung tak terhingga. Jadi berhati-hati kuasa kita hanya diberi kepada anda yang agak tidak bertanggungjawab, kebanyakan mungkin, berdasarkan pengalaman saya sendiri. Tetapi itu di web dan mempunyai berada di sana untuk beberapa ketika. Baiklah. Jadi textmarks.com. Jadi ini adalah sebuah laman web. Dan ada tandan lain di luar sana juga bahawa kita telah benar-benar digunakan sebagai kelas selama bertahun-tahun untuk dapat menerima mesej teks. Malangnya, menghantar mesej teks semudah menghantar e-mel seperti itu. Menerima adalah agak sukar, terutamanya jika anda mahu mempunyai salah satu daripada mereka Kod pendek seksi yang hanya lima atau enam digit. Jadi untuk contoh, selama bertahun-tahun anda telah boleh menghantar mesej teks - dan anda boleh cuba ini juga - ke 41411. Dan itulah nombor telefon bagi ini permulaan tertentu. Dan jika anda menghantar mesej kepada 41411 - Saya hanya akan menulis di sini, jadi 41411 - dan kemudian menghantar mereka mesej suka SBOY untuk Boy Shuttle. Dan kemudian menaip sesuatu seperti Mather quad. Jadi anda menghantar mesej teks dengan nombor telefon. Dalam beberapa saat anda perlu mendapatkan kembali tindak balas daripada Shuttle CS50 Perkhidmatan Boy, yang ulang-alik perisian penjadualan yang kami telah keluar terdapat di web untuk beberapa ketika. Dan ia akan bertindak balas terhadap anda melalui mesej teks. Kerana apa yang kita lakukan sebagai sebuah kelas, sebagai programmer, adalah untuk menulis perisian, mengkonfigurasikan akaun percuma kami dengan teks markah untuk mendengar mesej teks yang dihantar untuk SBOY di nombor itu. Dan apa yang mereka lakukan adalah teks ke hadapan orang-orang mesej ke laman web PHP berasaskan kami Parameter HTTP berkata, di sini. Ini pengguna dengan nombor telefon ini menghantar mesej teks ini. Kaitan dengan apa yang anda mahu. Jadi kita menulis beberapa perisian bahawa apabila menerima rentetan seperti SBOY Mather quad, kita menghurai itu. Kami memikirkan di mana ruang yang adalah antara kata-kata. Dan kita sebagai sebuah kelas membuat keputusan bagaimana untuk bertindak balas kepada itu. Dan jika anda cuba yang kini, misalnya, anda akan dapat melihat melalui tindak balas dalam beberapa saat, beberapa pengangkutan seterusnya akan dari Mather untuk quad jika ada. Dan ada perhentian lain. Anda boleh menaip di Boylston atau lain-lain seperti berhenti di kampus, dan ia perlu mengiktiraf kata-kata. Jadi parse.com. Ini merupakan satu lagi perkhidmatan yang kami telah menunjuk beberapa pelajar untuk projek akhir yang bagus kerana ia adalah percuma untuk jumlah yang munasabah penggunaan. Dan jika saya pergi ke parse.com anda akan melihat bahawa ini adalah alternatif kepada sebenarnya mempunyai sesuatu seperti pangkalan data MySQL anda sendiri. Dan terus-terang, ia hanya jenis memukau. Ini adalah apa yang di dalam satu awan walaupun pada hari mendung. Jadi parse.com membolehkan anda untuk melakukan sekumpulan perkara yang menarik. Dan ada alternatif lain ini di luar sana. Sebagai contoh, anda boleh menggunakan mereka sebagai pangkalan data akhir belakang anda. Jadi anda tidak perlu mempunyai sebuah syarikat web hosting. Anda tidak perlu mempunyai pangkalan data MySQL. Anda sebaliknya boleh menggunakan hujung belakang mereka. Jika anda sedang melakukan satu projek mudah alih untuk Android atau IOS atau sebagainya, tahu bahawa wujud perkara-perkara seperti perkhidmatan push supaya anda boleh menolak amaran kepada rakan-rakan anda atau rumah skrin pengguna anda. Dan kemudian sekumpulan lain ciri-ciri serta. Jadi jika anda mempunyai kepentingan, lihat ini laman web dan laman web seperti mereka hanya melihat berapa banyak orang lain bahu anda boleh berdiri di atas untuk membuat perisian benar-benar sejuk anda sendiri. Sekarang dari segi pengesahan, satu FAQ, adalah bagaimana anda benar-benar menjamin yang pengguna anda adalah orang-orang di kampus, Pelajar Harvard atau fakulti atau kakitangan? Jadi CS50 mempunyai pengesahan sendiri perkhidmatan yang dikenali sebagai CS50 ID. Pergi ke URL yang dan anda boleh menyekat laman web untuk sesiapa sahaja dengan Harvard ID, misalnya. Jadi tahu bahawa kita boleh mengendalikan itu. Kalian tidak perlu dalam perniagaan untuk mengatakan, apa yang Harvard ID anda? Apa PIN Harvard anda? Mari kini saya melakukan sesuatu dengannya. Kami akan melakukan semua itu. Dan apa yang kami akan memberikan anda kembali adalah nama seseorang dan alamat e-mel, tetapi tidak apa-apa yang sensitif. Satu aplikasi pada peranti mudah alih, ia boleh dibuat untuk bekerja pada peranti mudah alih, tetapi ia tidak cukup direka untuk itu. Jadi, anda akan berakhir dengan menghabiskan bukan remeh jumlah masa berbuat demikian. Jadi, saya akan menggalakkan laluan itu buat masa sekarang. Ini adalah benar-benar bertujuan untuk aplikasi berasaskan web. Jadi web hosting. Jadi, jika anda tidak pernah melihat pada laman utama kursus ini - dan di sini di mana kita akan mula cerita - web hosting adalah tentang membayar biasanya perkhidmatan, tuan rumah pelayan dimiliki oleh orang lain di laman web yang mempunyai Alamat IP, dan anda kemudian meletakkan anda laman web di atasnya. Dan mereka biasanya memberikan anda e-mel akaun dan pangkalan data dan lain-lain ciri-ciri tersebut. Tahu bahawa jika anda tidak mahu untuk benar-benar membayar apa-apa, pergi ke URL yang sana dan CS50 sebenarnya mempunyai bukan keuntungan akaun yang anda boleh gunakan untuk sebenarnya tidak mempunyai http://project dalam perkakas untuk projek akhir anda. Jika anda benar-benar mahu ia menjadi sesuatu seperti, isawyouharvard.com, anda boleh membeli nama domain - walaupun tidak bahawa satu tertentu - dan maka anda boleh pergi tentang hosting pada pelayan web awam seperti kita boleh menawarkan anda semua melalui sini. Dan sebenarnya jika tidak biasa, jika anda tidak pernah ke isawyouharvard.com, satu, pergi ke sana. Tetapi dua, tahu bahawa yang muda nama wanita oleh Tej Untuk Toor Terlalu dua tahun yang lalu, tiga tahun lalu, yang merupakan seorang CS50 alumni yang berlaku sehari atau dua sebelum pameran itu CS50 dihantar e-mel ke mailing list rumahnya dan VoilĂ . Dua hari kemudian oleh pameran itu CS50, dia beratus-ratus pengguna semua menjalar pada antara satu sama lain di laman web beliau dan mengatakan bagaimana mereka telah melihat isteri atau suami di kampus. Jadi itulah salah satu kegemaran CS50 ini cerita-cerita kejayaan dari projek akhir CS50. Jadi bagaimana anda pergi tentang meletakkan laman web seperti yang di internet? Nah, ada apa-apa beberapa bahan-bahan di sini. Jadi salah satu, anda perlu membeli nama domain. Terdapat tandan tempat di dunia dari mana anda boleh membeli nama domain. Dan bagi contoh, salah satu yang kami cadangkan hanya kerana ia adalah popular dan ia adalah murah dipanggil namecheap.com. Tetapi, anda boleh pergi dan godaddy.com berpuluh-puluh orang lain di luar sana. Anda boleh membaca di atas ulasan. Tetapi bagi sebahagian besar ia tidak kira dari siapa anda membeli nama domain. Dan mereka berbeza dari segi harga dan mereka berbeza dalam akhiran. The akhiran seperti. Com,. Bersih, . Org,. Io. Tv, orang-orang sebenarnya berbeza dalam harga. Tetapi jika kita mahu melakukan sesuatu seperti cats.com kita boleh pergi ke laman web ini, klik Search. Mungkin satu ini diambil. Tetapi nampaknya, catsagainst.com disediakan. pluscats.com disediakan. Lovecats, catscorner, dampcats.net. Semua ini diharapkan pseudo dijana secara rawak. Jika anda ingin cats.pw, $ 1,500 sahaja, yang sedikit tidak siuman. Jadi seseorang telah benar-benar disambar semua nama-nama domain yang berkaitan dengan kucing di sini untuk yang berbeza-beza harga. Sebagai mengetepikan, mari kita lihat. Siapa yang mempunyai cats.com? Tahu bahawa anda semua mempunyai sekurang- pelupusan anda agak arahan canggih sekarang. Seperti yang saya benar-benar boleh menaip yang cats.com? Dan kerana cara internet adalah berstruktur sebenarnya anda boleh melihat siapa yang telah berdaftar ini. Rupa-rupanya orang ini [didengar] menggunakan perkhidmatan proksi. Maka sesiapa yang memiliki cats.com tidak mahu dunia tahu siapa mereka. Jadi mereka telah didaftarkan jika melalui beberapa perkhidmatan privasi rawak. Tetapi kadang-kadang anda benar-benar mendapatkan pemilik sebenar. Dan ini adalah untuk mengatakan, terutamanya jika anda mengikuti beberapa permulaan dan anda benar-benar mahu beberapa nama domain dan anda sanggup membayar orang lain untuk , anda boleh memikirkan kenalan maklumat dengan cara itu. Tetapi juga menarik ialah ini. Biar saya tatal ke atas ke bahagian ini. Jadi ini adalah output yang sama. Dan ini adalah hanya lekat. Jadi nampaknya cats.com boleh milik anda untuk harga yang tepat. Tetapi apa yang menarik di sini adalah bahawa pelayan nama - ini adalah jumlah penyalahgunaan apa nama pelayan yang sepatutnya - nama anda pelayan tidak sepatutnya thisdomainforsale.com. Jika kita benar-benar memilih sesuatu seperti - mari kita memilih sesuatu yang lebih sedikit sah seperti, yang google.com, dan tatal ke atas di sini. Jadi di sini - apa yang berlaku di sana? Menarik. Selain yang - mari kita menyimpannya utama lebih rendah. Siapa mit.edu? OK. Ini adalah membantu. Jadi ini adalah apa yang saya berharap. Penggunaan yang sah perkhidmatan DNS. Pelayan nama di sini menunjukkan berikut. Ini adalah cara MIT untuk mengatakan, apabila seseorang di dunia, di mana mereka adalah, jenis dalam mit.edu dan hits Enter, komputer riba anda, sama ada Mac atau PC, akan entah bagaimana akhirnya memikirkan bahawa orang-orang di dunia yang tahu apa yang Alamat IP adalah untuk mit.edu atau mana-mana sub domain di mit.edu atau mana-mana pelayan di sini - dan ia sebenarnya kelihatan seperti infrastruktur MIT adalah cukup mantap seperti yang anda inginkan. Mereka mempunyai pelbagai nama-nama pelayan yang baik untuk lebihan. Dan sebenarnya, mereka seolah-olah seluruh dunia diedarkan di seluruh dunia. Sekumpulan daripada mereka seolah-olah di Amerika Syarikat, beberapa di Asia, satu di Eropah, dua di tempat lain. Tetapi persoalannya di sini ialah bahawa DNS kita telah mengambil untuk diberikan dan biasanya digambarkan sebagai sebuah meja besar Excel yang mempunyai alamat IP dan domain nama sebenarnya agak canggih perkhidmatan hierarki supaya dalam dunia ada sebenarnya nombor terhingga pelayan yang pada asasnya tahu di mana semua. coms adalah atau semua itu. jaring adalah, semua . Orgs berada, dan sebagainya. Oleh itu, apabila anda pergi ke hadapan dan membeli domain nama dari tempat seperti Nama Murah atau Pergi Ayah atau mana-mana laman web lain, salah satu langkah-langkah utama yang anda perlu lakukan anda, jika anda melakukan ini walaupun untuk akhir anda projek, ialah memberitahu pendaftar dari mana anda membeli domain nama, yang dalam dunia tahu anda alamat IP laman web itu, yang pelayan nama anda. Jadi, jika anda gunakan, misalnya ini CS50 akaun hosting - kita berlaku mempunyai account ini melalui dreamhost.com yang merupakan popular syarikat web hosting - mereka akan memberitahu anda bahawa anda perlu membeli domain anda dan memberitahu dunia bahawa pelayan nama domain anda adalah ns1.dreamhost.com, ns2.dreamhost.com, dan ns3.dreamhost.com. Tetapi itu sahaja. Membeli nama domain bermakna memberi mereka wang dan mendapat pemilikan domain, tetapi ia lebih seperti sewa sekalipun. Anda mendapat ia selama setahun dan kemudian mereka rang undang-undang anda recurringly untuk sepanjang hidup anda sehingga anda membatalkan nama domain. Dan kemudian anda memberitahu mereka yang pelayan nama adalah. Tetapi kemudian anda selesai dengan pendaftar anda. Dan dari sana anda akan berinteraksi hanya dengan syarikat web hosting anda, yang dalam kes CS50 akan menjadi Dreamhost. Tetapi sekali lagi, dokumentasi lebih akan diberikan kepada anda jika anda membuat keputusan untuk pergi laluan itu. Jadi, jika anda melakukan ini selepas kursus ini akhir, hanya Googling web hosting syarikat akan hadir beribu-ribu pilihan. Dan saya biasanya akan menggalakkan anda untuk meminta rakan-rakan yang mungkin telah menggunakan syarikat sebelum ini, jika mereka mencadangkan mereka dan mempunyai pengalaman yang baik. Kerana ada banyak terbang pada waktu malam syarikat web hosting, seperti seorang lelaki di bawah tanah dengan pelayan yang mempunyai alamat IP. Beliau mempunyai beberapa tambahan RAM dan cakera keras ruang dan hanya menjual web hosting akaun walaupun tidak ada cara yang server boleh mengendalikan beratus-ratus pengguna atau beribu-ribu pengguna. Jadi menyedari bahawa anda akan mendapat apa yang anda bayar. Untuk beberapa lama untuk rumah peribadi saya ms - dan ini adalah benar-benar boleh diterima kerana saya telah, seperti, dua pelawat sebulan - Saya telah membayar, seperti, $ 2,95 sebulan. Dan saya cukup pasti ia di tingkat bawah tanah seseorang. Tetapi sekali lagi, anda tidak mendapat semestinya apa-apa jaminan uptime atau skala. Jadi sekali lagi, anda biasanya mencari pada sesuatu yang lebih daripada itu. Nah, bagaimana pula SSL? Jadi apa yang SSL digunakan untuk? Mari kita kini mula untuk mengemudi dalam arahan keselamatan dan perkara-perkara yang boleh membahayakan kita. Terutama sebagai anda usaha keluar pada anda sendiri. Apa SSL, atau apa yang SSL digunakan untuk? Keselamatan, OK. Jadi ia digunakan untuk keselamatan. Apa maksudnya? Jadi ia bermaksud Lapisan Soket Selamat. Dan ia ditunjukkan oleh URL yang bermula dengan https://. Ramai di antara kita mungkin tidak pernah ditaip https://, tetapi anda sering akan mendapati bahawa pelayar anda diarahkan dari HTTP untuk HTTPS supaya segala-galanya yang ada selepas disulitkan. FYI, menggunakan SSL biasanya memerlukan bahawa anda mempunyai alamat IP yang unik. Dan biasanya untuk mendapatkan alamat IP yang unik anda perlu membayar web hosting syarikat beberapa dolar lebih sebulan. Jadi sedar ini adalah sangat mudah dilaksanakan pada hari ini dengan membeli IP alamat dan oleh belian apa dipanggil sijil SSL. Tetapi menyedari bahawa ia tidak datang di beberapa kos tambahan. Dan, seperti yang kita akan cuba untuk menakut-nakutkan dalam hanya bit, ia tidak semestinya walaupun 100% perlindungan daripada apa yang ia adalah anda cuba untuk melindungi. Jadi untuk keselamatan, saya fikir saya akan melakukan jenis Segue rawak di sini. Seperti yang anda mungkin tahu dari kuliah CS50 ini video, pasukan pengeluaran kami telah menjadi peminat kerana saya mengambil benar-benar baik fotografi kampus, dan udara fotografi yang paling baru-baru ini. Jika anda pernah melihat dan yang anda lihat sesuatu yang terbang dengan kamera kecil, ia sebenarnya boleh menjadi CS50. Dan saya fikir saya akan berkongsi minit beberapa rakaman pasukan mempunyai berkumpul, terutamanya dalam kita melihat kepada semester musim bunga dan jatuh akan datang. Jika mana-mana anda mempunyai mainan untuk fotografi, videografi, kita akan senang untuk mendapatkan anda terlibat di belakang tabir. Tetapi yang lebih kepada orang-orang butiran dalam seminggu. [MUZIK] DAVID J. MALAN: Rupa-rupanya, ada satu padang golf kecil di bahagian atas stadium yang kita tidak pernah tahu tentang. [MUZIK] DAVID J. MALAN: Anda boleh lihat menggariskan daripada berdengung di sana. [MUZIK] DAVID J. MALAN: Bahagian yang terbaik di sini adalah, menonton pelari di sebelah kiri. [MUZIK] DAVID J. MALAN: Satu lagi contoh apa yang boleh anda lakukan dengan teknologi itu hanya tangen, terus-terang, yang berkaitan dengan keselamatan. Tetapi saya fikir yang akan menjadi lebih cara yang menyeronokkan untuk hanya berkata, keselamatan. Jadi mari kita lihat jika kita tidak boleh menakut-nakutkan kamu sekarang dengan bukan sahaja sedikit beberapa ancaman, tetapi juga merupakan asas memahami apa ancaman adalah supaya bergerak ke hadapan, anda boleh menentukan bagaimana dan sama ada untuk mempertahankan diri terhadap perkara-perkara ini dan pada kurangnya untuk berhati-hati daripada mereka yang anda membuat keputusan sama ada atau tidak menghantar e-mel itu, sama ada atau tidak untuk log masuk ke dalam laman web itu, sama ada atau tidak menggunakan bahawa Wi-Fi percuma siber kafe titik supaya anda tahu apa yang ancaman memang di sekeliling anda. Jadi Jonathan dirujuk kepada sesuatu seperti ini pada hari Isnin. Dia mempunyai pukulan skrin tingkap. Yang ini adalah daripada Mac. Berapa ramai daripada anda pernah memasang perisian pada Mac atau PC anda? Jelas sekali semua orang. Berapa ramai daripada anda telah diberi banyak berfikir untuk menaip kata laluan anda apabila diminta? Maksud saya, walaupun saya tidak berbuat demikian, terus-terang. Jadi beberapa daripada kita yang baik pada yang paranoid. Tetapi menganggap apa yang anda sebenarnya melakukan di sini. Pada Mac biasa atau PC anda mempunyai akaun pentadbir. Dan biasanya anda satu-satunya menggunakan komputer riba sekurang-kurangnya hari ini. Jadi akaun anda, Malan atau JHarvard atau apa sahaja, adalah akaun pentadbir. Dan apa cara yang anda telah akar akses kepada komputer anda. Anda boleh memasang apa-apa yang anda mahu, memadam apa-apa yang anda mahu. Dan biasanya pada hari ini, kerana keputusan reka bentuk yang bertarikh dari tahun-tahun yang lalu, cara perisian yang paling mendapat dipasang adalah sebagai pentadbir. Dan walaupun Mac atau PC anda mempunyai sekurang-kurangnya mendapat bijak sejak tahun dengan jelmaan terbaru Mac OS dan Windows untuk tidak berjalan anda pengguna secara lalai sebagai pentadbir, apabila anda memuat turun beberapa program baru dari internet dan cuba untuk memasang, anda mungkin akan akan digesa untuk kata laluan anda. Tetapi tangkapan itu pada ketika itu, anda benar-benar menyerahkan kunci anda komputer kepada apa sahaja yang rawak program yang anda hanya turun dan membenarkan ia untuk memasang apa sahaja yang ia mahu. Dan seperti yang dirujuk kepada Jonathan, menyedari bahawa ia mungkin mengatakan bahawa ia mahu memasang perisian anda bahawa anda mengambil berat kira-kira, Spotify atau iTunes atau apa sahaja ia adalah anda cuba untuk memasang. Tetapi anda benar-benar mempercayai penulis atau penulis perisian untuk hanya melakukan apa yang program ini yang sepatutnya dilakukan. Tetapi ada benar-benar tiada memberhentikan program yang paling sistem operasi daripada memotong fail, daripada memuat naik mereka kepada beberapa syarikat laman web, dari Trolling sekitar, untuk menyulitkan sesuatu. Dan sekali lagi, kita telah jenis dibina infrastruktur keseluruhan lebih tahun-tahun atas amanah. Dan begitu menyedari bahawa anda baru sahaja telah mempercayai orang-orang rawak dan rawak syarikat-syarikat bagi sebahagian besar. Dan Jonathan dirujuk kepada juga, kadang-kadang syarikat-syarikat itu sendiri adalah jenis dengan sengaja berniat jahat, betul? Sony ditangkap banyak Flack beberapa tahun lalu untuk memasang apa yang dipanggil kit rootkit pada komputer rakyat tanpa pengetahuan mereka. Dan inti dari ini adalah bahawa apabila anda membeli CD untuk contoh bahawa mereka tidak mahu anda boleh menyalin atau merobek muzik kira, CD itu akan memasang, tanpa mengetahui anda, a rootkit pada komputer anda. Rootkit hanya bermakna perisian yang berjalan sebagai pentadbir yang berpotensi melakukan perkara-perkara buruk. Tetapi di kalangan perkara-perkara yang perkara ini adakah ia telah menyembunyikan dirinya. Jadi sebahagian daripada anda mungkin agak celik dengan komputer anda dan tahu, baik, saya hanya boleh membuka Task Manager atau Monitor aktiviti dan saya boleh melihat semua program arcanely dinamakan yang berjalan. Dan jika apa-apa yang kelihatan mencurigakan Saya hanya akan membunuh atau memadamnya. Tetapi itulah yang rootkit lakukan. Ia pada dasarnya berkata, jika berjalan Petugas Pengurus, tidak menunjukkan diri sendiri. Jadi perisian yang berada di sana. Dan hanya jika anda benar-benar, benar-benar kelihatan keras anda juga boleh menemuinya. Dan ini telah dilakukan di atas nama perlindungan salinan. Tetapi bayangkan apa yang boleh telah dilakukan sebaliknya. Sekarang dari segi melindungi diri anda. Banyak laman web yang hebat pertolongan dalam bahawa mereka meletakkan ini ikon mangga di laman web mereka yang bermakna bahawa laman web tersebut selamat. Ini adalah dari bankofamerica.com pagi ini. Jadi apakah yang icon mangga sedikit ada bermakna sebelah Sign In butang? Benar-benar apa-apa. Ini bermakna seseorang yang tahu bagaimana untuk menggunakan Photoshop untuk membuat gambar icon mangga. Seperti agak literal, hakikat bahawa ia adalah ada bertujuan untuk menjadi positif isyarat kepada pengguna seperti, aduh, laman web selamat. Saya perlu mempercayai laman web ini dan kini menaip nama pengguna dan kata laluan saya. Dan ini telah konvensional untuk tahun, baru-baru ini seperti pagi ini. Tetapi mempertimbangkan tabiat yang ini semakin kita ke dalam. Pertimbangkan mesej tersirat bahawa semua bank-bank dalam kes ini telah menghantar kami selama bertahun-tahun. Jika anda melihat mangga, maka selamat. Semua betul? Jadi bagaimana anda boleh menyalahgunakan sistem yang amanah jika anda seorang lelaki yang buruk? Letakkan mangga di laman web anda, dan secara logik, pengguna telah dingin selama bertahun-tahun untuk mengambil alih mangga bermakna selamat. Dan ia sebenarnya mungkin selamat. Anda mungkin mempunyai hebat selamat Sambungan SSL HTTPS kepada laman web palsu. com. Dan tidak ada orang lain di dunia boleh melihat yang anda kira-kira untuk menyerahkan dia atau dia nama pengguna dan kata laluan anda ke akaun anda. Walaupun ini, mungkin, adalah sedikit lebih meyakinkan. Jadi ini adalah satu pukulan skrin atas pelayar saya pada pagi ini di bankofamerica.com. Dan notis di sini juga kita mempunyai ikon mangga. Apakah maknanya dalam konteks ini dalam Chrome sekurang-kurangnya? Jadi ini kini menggunakan SSL. Jadi ini adalah sebenarnya satu perkara yang baik. Dan hakikat bahawa Chrome membuat ia hijau adalah bertujuan untuk menarik perhatian kami kepada hakikat bahawa ini adalah bukan sahaja melalui SSL. Ini adalah sebuah syarikat yang seseorang keluar terdapat disahkan sebenarnya bankofamerica.com. Dan itu bererti bahawa Bank of America, apabila membeli mereka SSL kononnya sijil, rawak dasarnya besar, nombor agak rawak yang melaksanakan keselamatan untuk mereka, mereka telah disahkan oleh beberapa ketiga yang bebas pihak yang berkata, Ya. Ini sebenarnya adalah Ketua Pegawai Eksekutif Bank of Amerika cuba untuk membeli sijil. Oleh itu, Chrome akan percaya bahawa pihak berkuasa pemerakuan dan berkata dalam hijau, ini adalah bankofamerica.com. Dan Bank of America hanya membayar beberapa ratus ringgit untuk itu atau beberapa ribu berbanding dengan beberapa puluhan dolar. Tetapi di sini juga, berapa ramai daripada anda pernah berkelakuan berbeza kerana apa-apa URL dalam pelayar anda hijau bukan hitam? Betul? Jadi beberapa daripada kita. Dan yang baik untuk menjadi paranoid. Tetapi kemudian, mereka yang walaupun melihat perkara-perkara ini, adakah anda benar-benar menghentikan pembalakan menjadi sebaliknya dalam URL laman web jika tidak hijau? Baiklah, jadi mungkin tidak, bukan? Sekurang-kurangnya sebahagian daripada kita, jika ia tidak hijau, kemungkinan besar anda hanya akan menjadi seperti, apa sahaja. Seperti, saya mahu log masuk ke laman web ini. Itulah sebabnya saya di sini. Saya akan log masuk tetap. Sebagai mengetepikan, Chrome adalah sedikit lebih baik tentang perkara ini. Tetapi terdapat banyak pelayar seperti Firefox misalnya, sekurang-kurangnya untuk masa, di mana icon mangga ini, anda sebenarnya boleh meletakkan apa-apa icon anda sendiri. Biar saya melihat apa yang versi terbaru Firefox kelihatan seperti. Jadi, jika kita pergi ke CS50.net. OK, jadi mereka telah mendapat yang lebih baik juga. Apa pelayar digunakan untuk lakukan adalah suka, di sini adalah contoh [? SAAS adalah?] Crest di sini. Itulah kegemaran yang dipanggil ikon untuk laman web. Tahun yang lalu - sebenarnya tidak lama dahulu - yang sedikit perisai akan menjadi hak di sini di sebelah URL. Kerana sesetengah genius memutuskan bahawa ia hanya akan kelihatan cantik bergaya untuk mempunyai logo tepat grafik anda bersebelahan dengan URL anda. Dan reka bentuk yang bijak, yang benar-benar agak menarik. Jadi apakah yang lelaki permulaan buruk buat? Mereka mula berubah kegemaran mereka ikon, atau ikon lalai mereka untuk laman web menjadi tidak puncak yang tetapi mangga, yang mempunyai benar-benar tidak bermakna. Selain daripada ikon kegemaran mereka telah mangga ia tidak mempunyai tanda-tanda keselamatan. Jadi di sini adalah pengajaran pasangan saya fikir. Satu adalah bahawa sebenarnya ada beberapa mekanisme berniat baik untuk mengajar kita tentang keselamatan pengguna juga jika anda tidak sedar apa yang hijau bermakna atau apa juga HTTPS dimaksudkan. Tetapi jika mekanisme membawa kita ke tabiat buruk laman web percaya apabila kita melihat orang-orang isyarat positif, mereka dengan mudah disalahgunakan seperti yang kita lihat hanya seketika lalu dengan sesuatu bodoh seperti ini. Jadi sesi rampasan datang ke bermain, seperti yang kita katakan sebelum ini, dengan cookies misalnya. Dan apakah ini sebenarnya bermakna? Nah dengan sesi rampasan ini semua kira-kira mencuri cookies seseorang. Jadi jika saya membuka Chrome di sini, untuk contoh, dan saya membuka Inspektor turun di sini dan saya pergi ke Tab Rangkaian - dan kami telah dilakukan sebelum ini - dan saya pergi ke sesuatu seperti http://facebook.com Enter, keseluruhannya sekumpulan barangan berlaku di skrin kerana semua imej dan CSS dan Fail JavaScript. Tetapi jika saya melihat yang satu ini di sini notis bahawa Facebook memang menanam satu atau lebih cookies pada saya pelayar di sini. Jadi ini adalah asasnya tangan setem yang mewakili saya. Dan kini diharapkan pelayar saya akan sekarang ini sekali lagi dan sekali lagi apabila kembali melawat laman web tersebut. Tetapi itu sahaja selamat, kita berkata beberapa minggu lalu, jika anda menggunakan SSL. Tetapi SSL sendiri boleh dikompromi. Pertimbangkan selepas semua cara kerja-kerja SSL. Apabila pelayar anda menyambung kepada jauh pelayan melalui https://, cerita panjang pendek, kriptografi adalah yang terlibat. Ia bukan semudah Caesar atau Visionaire atau DES, DES dari manakala belakang dalam pset2. Ia lebih canggih daripada itu. Ia dipanggil kriptografi kunci awam. Tetapi benar-benar besar dan benar-benar rawak nombor-nombor itu digunakan untuk perebutan maklumat antara titik A, anda, dan titik B, seperti facebook.com. Tetapi masalahnya ialah, berapa ramai daripada kita sekali lagi Jenis pernah dalam https:// untuk memulakan sambungan laman web kami dalam mod selamat? Maksud saya, berapa ramai daripada anda juga Jenis http://facebook.com? Baiklah, jika anda lakukan, suka, hello. Anda tidak perlu untuk berbuat demikian lagi, kan? Pelayar akan memikirkan ia keluar. Tetapi kebanyakan kita lakukan sesungguhnya hanya menaip facebook.com. Kerana jika kita menggunakan pelayar, yang pelayar telah mendapat cukup bijak dengan 2013 untuk mengambil alih jika anda menggunakan penyemak imbas, anda menaip alamat, anda mungkin mahu untuk mengakses ia tidak melalui e-mel atau mesej segera. Anda amat bermakna HTTP dan Port 80. Mereka konvensyen telah diterima pakai. Tetapi bagaimana kerja-kerja pengalihan? Well, melihat apa yang berlaku di sini. Jika saya kembali ke Chrome - dan mari kita melakukan ini dalam menyamar mod supaya semua saya cookies dibuang. Dan biarlah saya pergi di sini untuk, lagi, facebook.com. Dan mari kita lihat apa yang berlaku. Ingat bahawa permintaan yang pertama ialah sesungguhnya hanya untuk facebook.com. Tetapi apakah tindak balas yang saya dapat? Ia bukan satu 200 OK. Ia adalah 300, atau 301, yang merupakan mengarahkan memberitahu saya untuk pergi ke http://www.facebook.com, yang merupakan Facebook di mana saya mahu pergi. Tetapi jika kita melihat permintaan yang akan datang, dan kita telah melihat sebelum ini, notis apa tindak balas kedua mereka. Khusus bahawa mereka mahu saya sekarang untuk pergi ke versi SSL Facebook. Jadi di sini adalah peluang. Ini adalah ciri hebat yang berguna hanya web dan HTTP. Jika pengguna akhir seperti Facebook mahu saya untuk tinggal di dalam versi mereka laman web, yang besar. Mereka akan mengarahkan saya untuk diri sendiri. Oleh itu, saya tidak perlu walaupun berfikir tentang itu. Tetapi bagaimana jika antara titik A dan B, antara anda dan Facebook, terdapat beberapa lelaki yang tidak baik, terdapat beberapa sistem pentadbir di Harvard siapa yang ingin tahu untuk melihat siapa kawan-kawan anda. Atau ada beberapa - tahun yang lalu, ini digunakan untuk bunyi gila - tetapi ada beberapa entiti kerajaan seperti NSA siapa yang benar-benar berminat dalam yang anda poking di Facebook. Di mana peluang yang ada? Nah, selagi seseorang mempunyai cukup celik teknikal dan mereka mempunyai akses kepada rangkaian sebenar anda melalui Wi-Fi atau beberapa wayar fizikal, apa yang mereka boleh buat? Nah, jika mereka berada di rangkaian yang sama seperti anda dan mereka tahu sesuatu tentang TCP / IP dan alamat IP dan DNS dan bagaimana semua kerja-kerja, bagaimana jika yang seorang lelaki di tengah-tengah, bagaimana jika yang Negara Agensi Keselamatan, apa sahaja berkenaan, tetapi apa yang jika entiti yang hanya bertindak balas lebih cepat daripada Facebook untuk permintaan HTTP anda dan berkata, oh, saya Facebook. Teruskan, dan di sini adalah HTML untuk facebook.com. Komputer cepat cukup darn. Jadi, anda boleh menulis satu program yang dijalankan pada pelayan seperti nsa.gov bahawa apabila ia mendengar permintaan daripada anda untuk facebook.com, dengan cepat di belakang adegan mendapat membuat facebook.com sebenar sempurna [? esque?] selamat Sambungan SSL antara NSA dan antara Facebook, yang mendapat HTML sangat selamat untuk halaman login, dan kemudian server NSA hanya bertindak balas kepada anda dengan laman login untuk facebook.com. Sekarang berapa banyak anda juga akan notis bahawa anda menggunakan Facebook lebih HTTP masih berada di tempat itu kerana anda telah sengaja dihubungkan dengan nsa.gov dan tidak Facebook? URL yang tidak berubah-ubah. Semua ini sedang dilakukan di belakang tabir. Tetapi kebanyakan kita, termasuk diri saya sendiri, mungkin tidak akan notis seperti butiran kecil. Jadi anda mungkin mempunyai yang sempurna yang boleh digunakan hubungan antara anda dan apa yang anda fikir adalah Facebook, tetapi ada yang dipanggil lelaki di tengah-tengah. Dan ini adalah satu istilah umum untuk lelaki dalam serangan tengah-tengah di mana anda mempunyai beberapa entiti di antara anda dan titik B itu entah bagaimana memanipulasi, mencuri, atau menonton data anda. Jadi, walaupun SSL tidak surefire, terutamanya jika anda telah ditipu tidak menghidupkannya kerana bagaimana mekanisme asas sebenarnya bekerja. Jadi pelajaran hari itu juga jika anda benar-benar mahu menjadi paranoid - dan juga di sini terdapat ancaman - anda benar-benar harus mula mendapat ke tabiat menaip https://www apa jua nama domain anda sebenarnya mengambil berat tentang. Dan sebagai mengetepikan juga ada satu lagi ancaman dengan menganggap untuk sesi rampasan. Sering kali apabila anda pertama kali melawat laman web seperti facebook.com, melainkan jika server telah dikonfigurasikan untuk mengatakan bahawa setem yang tangan ia meletakkan pada anda hari ini perlu mendapatkan sendiri, anda pelayar mungkin sangat baik, apabila melawat perkara-perkara seperti facebook.com google.com, twitter.com, pelayar anda mungkin menyampaikan bahawa setem tangan sahaja akan menampar ke bawah dan berkata, tidak. Menggunakan SSL. Tetapi ia terlalu lewat pada ketika itu. Jika anda telah dihantar tangan anda setem, cookies anda, dalam jelas dengan tidak SSL, anda mempunyai kedua berpecah kelemahan di mana seseorang menghidu trafik anda, sama ada rakan sebilik atau NSA, kemudiannya boleh menggunakan cookies yang sama, dan dengan sedikit celik teknikal, hadir sebagai nya sendiri. Serangan lain anda mungkin tidak berfikir tentang. Yang ini adalah benar-benar pada anda jika anda skru up ini menulis beberapa laman web yang entah bagaimana menggunakan SQL. Jadi di sini, misalnya, adalah skrin ditembak login Harvard. Dan ini adalah satu contoh yang umum sesuatu dengan nama pengguna dan kata laluan. Super biasa. Jadi mari kita andaikan bahawa SSL wujud dan tidak ada manusia di tengah-tengah atau apa-apa seperti itu. Sekarang kita memberi tumpuan pada pelayan ini kod yang anda mungkin menulis. Nah, apabila saya menaip nama pengguna dan kata laluan, menganggap bahawa perkhidmatan PIN dilaksanakan dalam PHP. Dan anda mungkin mempunyai beberapa kod pada pelayan seperti ini. Dapatkan nama pengguna daripada jawatan super global dan mendapat kata laluan, dan kemudian jika mereka menggunakan beberapa pset7 seperti kod ada fungsi query yang mungkin melakukan ini. Pilih Bintang dari pengguna di mana pengguna yang sama dan kata sama itu. Yang kelihatan, pada pandangan pertama, benar-benar munasabah. Ini adalah sintaksis kod PHP yang sah. Secara logiknya tiada apa-apa salah dengan ini. Mungkin terdapat lebih banyak garisan yang benar-benar melakukan sesuatu dengan hasil yang datang kembali dari pangkalan data. Tetapi ini adalah terdedah untuk sebab berikut. Perhatikan bahawa, seperti warganegara yang baik, Saya telah dimasukkan ke dalam sebut harga, single petikan, nama pengguna. Dan saya dimasukkan ke dalam petikan tunggal kata laluan. Dan itulah satu perkara yang baik kerana mereka tidak sepatutnya menjadi nombor. Biasanya mereka akan menjadi teks. Jadi saya memetik mereka seperti tali. Dan jika saya kini memajukan lagi bagaimana jika - dan saya telah dikeluarkan peluru dari PIN perkhidmatan sementara - bagaimana jika saya cuba untuk log masuk sebagai Presiden [? Scroob?] tetapi saya mendakwa bahawa kata laluan saya 12345 'ATAU '1' = '1, dan notis apa yang saya telah tidak dilakukan. Saya tidak menutup lain quote tunggal. Kerana saya cukup tajam di sini sebagai lelaki yang buruk. Dan saya menganggap mereka anda tidak sangat baik dengan anda PHP dan kod MySQL. Saya meneka bahawa anda tidak memeriksa kehadiran petikan. Jadi apa sahaja yang berlaku adalah bahawa apabila anda pengguna telah ditaip dalam rentetan itu, pertanyaan yang anda kira-kira untuk mewujudkan kelihatan seperti ini. Dan cerita panjang pendek, jika anda dan sesuatu bersama-sama atau anda atau sesuatu bersama-sama ini akan kembali berturut-turut dari pangkalan data. Kerana ia sentiasa kes 1 sama 1. Dan hanya kerana anda tidak menjangka yang pengguna anda, baik atau buruk, mungkin mempunyai apostrofi dalam nama mereka anda telah mencipta query SQL yang masih sah, dan akan kembali kini lebih keputusan daripada anda mungkin telah dimaksudkan. Dan sebagainya lelaki buruk ini kini mempunyai potensi log masuk ke pelayan anda kerana pangkalan data anda kembali berturut-turut walaupun dia tidak tahu apa [? ?] Password sebenar Scroob adalah. Oh, saya menyedari kesilapan menaip di sini. Perlu saya telah berkata password sama 12345 seperti sebelumnya contoh atau 1 sama 1. Saya akan menetapkan dalam talian itu. Jadi kenapa kita telah anda menggunakan pertanyaan fungsi dengan tanda tanya? Salah satu perkara yang fungsi pertanyaan tidak untuk anda adalah ia akan memastikan bahawa apabila anda meninggal dalam hujah selepas koma di sini seperti ini bahawa pertanyaan yang sebenarnya dihantar ke pangkalan data kelihatan seperti ini. A uglier banyak untuk melihat, tetapi kembali garis condong telah secara automatik dimasukkan untuk mengelakkan tepat bahawa serangan suntikan yang saya menunjukkan masa lalu. Sekarang menyeronokkan XKCD yang saya fikir saya akan tarik di sini yang diharapkan kini perlu sedikit lebih mudah difahami adalah salah satu ini di sini. A sedikit? Mungkin kita perlu lebih sedikit perbincangan mengenai itu. Jadi ini adalah merujuk kepada seorang kanak-kanak kecil bernama Bobby yang entah bagaimana yang diambil kesempatan daripada laman web yang hanya mempercayai bahawa apa yang pengguna telah ditaip dalam tidak adalah, sebenarnya, kod SQL, tetapi sebenarnya rentetan. Kini anda boleh ingat drop bahawa - anda mungkin telah melihat ini - penurunan cara memadam jadual, memadam pangkalan data. Jadi, jika anda pada dasarnya mendakwa bahawa nama anda Robert "; droptabl estudentsomething,] anda dengan baik mungkin menipu pangkalan data bukan sahaja ke dalam memeriksa bahawa anda sesungguhnya Robert, tetapi juga koma bertitik meneruskan untuk menggugurkan meja. Dan sebagainya serangan suntikan SQL boleh sebenarnya sebagai mengancam kerana ini di mana anda boleh memadam data seseorang, anda boleh memilih lebih daripada data-data dimaksudkan, anda boleh memasukkan atau mengemaskini data. Dan anda sebenarnya boleh melihat ini apabila di senaman di rumah, bukan untuk berniat jahat tujuan tetapi hanya untuk pengajaran, adalah bila-bila masa anda digesa untuk log masuk ke dalam laman web, terutama beberapa jenis bukan sangat awam, laman web yang sangat popular, cuba log masuk sebagai John O'Reilly atau seseorang dengan Apostrophe dalam nama mereka. Atau benar-benar hanya perlu menaip apostrofe, tekan Enter, dan lihat apa yang berlaku. Dan semua terlalu kerap, tragedi, orang tidak dibersihkan input dan memastikan bahawa perkara-perkara seperti petikan atau koma bertitik yang melarikan diri. Itulah sebabnya dalam pset7 kita memberi anda fungsi ini query. Tetapi tidak di bawah betul-betul menghargai apa yang ia lakukan untuk anda. Maka dengan itu berkata, menikmati menggunakan web minggu ini. Dan kita akan melihat anda pada hari Isnin. Pada CD50 yang akan datang. [MUZIK]