[MUSIK] DAVID J. Malan: Baiklah. Jadi ini adalah CS50 dan ini adalah akhir minggu 10. Jadi beberapa dari Anda mungkin telah melihat ini sudah, tapi yang beredar akhir-akhir ini adalah sebuah artikel yang saya pikir saya akan membaca kutipan dari dan kemudian menampilkan tiga menit video yang melukiskan gambar yang sama. Itu benar-benar cerita yang menyentuh, saya berpikir, dari persimpangan ini dari dunia nyata dengan benar-benar menarik menggunakan teknologi. Jadi artikel itu berjudul, "Anak laki-laki oversleeps di kereta, menggunakan Google Maps untuk menemukan keluarga 25 tahun kemudian. "Dan Pasangan pertama paragraf itu, "Ketika Saroo berusia lima tahun ia pergi dengan kakaknya untuk mencuri untuk berubah pada kereta penumpang di kota sekitar dua jam dari kampung kecil nya. Saroo menjadi lelah dan melompat ke atas kereta terdekat di mana ia pikir nya saudara itu, lalu tertidur. Ketika ia terbangun ia berada di Calcutta, hampir 900 mil jauhnya. Saroo mencoba untuk menemukan jalan kembali, tapi dia tidak tahu nama kampung halamannya. Dan sebagai seorang anak buta huruf kecil di besar kota yang penuh anak-anak lupa dia hampir tidak ada kesempatan untuk mendapatkan rumah. Dia adalah anak jalanan untuk sementara waktu sampai agen adopsi lokal doyan dia dengan beberapa Australia yang membawanya ke tinggal di Hobart, Tasmania. Saroo pindah ke sana, belajar Inggris, dan dibesarkan. Tapi dia tidak pernah berhenti mencari keluarga dan kampung halamannya. Puluhan tahun kemudian, ia menemukan Google Bumi dan mengikuti rel. Dan memberikan dirinya radius yang ditentukan berdasarkan berapa lama dia pikir dia tertidur dan seberapa cepat dia pikir kereta pergi, ia tahu ia dibesarkan dalam iklim yang hangat, ia tahu ia berbicara Hindi sebagai seorang anak, dan ia sudah diberitahu bahwa dia tampak seperti dia adalah dari India Timur. Akhirnya, setelah bertahun-tahun menjelajahi foto-foto satelit, ia mengakui landmark beberapa. Dan setelah mengobrol dengan administrator dari kota terdekat yang Halaman Facebook, ia menyadari ia menemukan rumah. " Jadi di sini kemudian adalah video memberitahu bahwa kisah dari sudut pandangnya. [VIDEO PEMUTARAN] -Itu 26 tahun yang lalu dan aku hanya tentang untuk mengubah lima. Kami sampai ke stasiun kereta api dan kami naik kereta bersama. Adikku hanya berkata aku akan tinggal di sini dan aku akan kembali. Dan saya hanya berpikir, yah, kau tahu, aku mungkin juga hanya pergi tidur dan maka dia hanya akan membangunkan saya. Dan ketika aku bangun keesokan harinya, Seluruh kereta itu kosong pada pelarian kereta api, kereta hantu mengambil aku tidak tahu di mana. Aku diadopsi ke Australia untuk keluarga Australia. Dan Ibu telah dihiasi kamar dengan peta India, yang ia tempatkan di samping tempat tidur saya. Aku bangun setiap pagi melihat peta itu, dan karenanya, semacam terus kenangan hidup. Orang-orang akan mengatakan, Anda mencoba untuk menemukan jarum di tumpukan jerami. Saroo, Anda tidak akan pernah menemukannya. Aku harus kilatan tempat-tempat yang Aku digunakan untuk pergi, berkedip wajah keluarga saya. Ada citra ibuku duduk bawah dengan kakinya menyilang hanya menonton menangis. Hidup ini hanya begitu sulit. Itu harta saya. Dan saya cari di Google Map dan menyadari ada Google Earth juga. Dalam dunia di mana Anda bisa memperbesar ke saya mulai memiliki semua pikiran-pikiran dan apa kemungkinan yang ini bisa lakukan untuk saya. Saya berkata pada diri sendiri, well, kau tahu, Anda punya semua fotografi kenangan dan landmark di mana Anda dari dan Anda tahu apa kota tampak seperti. Ini bisa menjadi sebuah aplikasi yang Anda dapat digunakan untuk menemukan jalan kembali. Saya pikir, yah, saya akan menaruh titik pada Stasiun Kereta Calcutta dalam radius baris yang Anda harus mencari di daerah ini. Aku datang di ini rel kereta api. Dan saya mulai mengikuti dan saya datang ke sebuah stasiun kereta api yang mencerminkan gambar yang sama itu dalam kenangan saya. Semuanya cocok. Saya hanya berpikir, yep. Aku tahu di mana aku akan pergi. Aku hanya akan membiarkan peta yang saya ada di kepala saya untuk memimpin saya dan membawa saya kembali ke kampung halaman. Aku datang ke depan pintu rumah bahwa saya lahir dan berjalan di sekitar sekitar lima belas meter sekitar sudut. Ada tiga wanita berdiri di luar berdekatan satu sama lain. Dan yang tengah melangkah maju. Dan saya hanya berpikir, ini adalah ibumu. Dia maju ke depan, dia memeluk saya, dan kami berada di sana selama sekitar lima menit. Dia memegang tangan saya dan dia membawaku ke rumah dan mendapat di telepon dan dia menelepon saudara saya dan kakak saya untuk mengatakan bahwa saudara Anda hanya memiliki semua tiba-tiba muncul seperti hantu. Dan kemudian keluarga adalah dipertemukan lagi. Semuanya semua baik. Saya membantu ibu saya keluar. Dia tidak harus bekerja keras. Dia bisa membawa sisa hidupnya dalam damai. Itu jarum di tumpukan jerami, tapi jarum ada di sana. Semuanya ada. Segala sesuatu yang kita miliki di dunia adalah keran tombol. Tapi kau harus punya kemauan dan tekad untuk menginginkannya. [END VIDEO PEMUTARAN] Jadi cerita benar-benar manis. Dan itu benar-benar mengingatkan saya cukup topik yang telah mendapatkan cukup sedikit perhatian akhir-akhir ini di The Crimson, lebih secara nasional pada umumnya. Terutama karena MOOCs mengambil tahap akhir. MOOCs yang ini besar dan terbuka kursus online yang CS50 merupakan salah satu. Dan orang-orang berbicara tentang bagaimana, untuk Misalnya, humaniora tidak benar-benar penangkapan atau tidak hampir sama dalam mode seperti dulu. Dan saya akan mendorong kalian, banyak seperti Jonathan lakukan pada hari Senin, untuk berpikir tentang saat Anda keluar 50, dan kita tahu sudah sekitar 50% dari Anda tidak akan melanjutkan untuk mengambil komputer lain kursus ilmu, dan itu benar-benar baik dan diharapkan. Karena salah satu tujuan menyeluruh dari kelas seperti ini benar-benar untuk memberdayakan kalian dengan hanya pemahaman tentang bagaimana semua hal ini bekerja dan bagaimana dunia ini karya teknologi. Sehingga ketika Anda kembali Anda sendiri dunia, apakah itu pre-med atau apakah itu humaniora atau ilmu-ilmu sosial atau bidang lain sama sekali, bahwa kalian membawa beberapa savvy teknis untuk meja dan membantu membuat keputusan cerdas ketika datang ke penggunaan dan pengenalan teknologi ke dalam dunia Anda. Misalnya saya teringat akhir juga dua dari sarjana Aku mengambil kelas dua tahun lalu, yang penggunaan sederhana seperti teknologi tapi pernah begitu menarik. Malam pertama dengan Profesor Tom Kelly jika Anda telah mengambil kelas. Ini adalah kelas pada musik klasik di tahap ini di sini di mana Anda belajar sedikit sesuatu tentang musik. Ini sebenarnya Malam Pertama bahwa CS50 meminjam ide lagu untuk mereka kurang nyaman di antara dan lebih nyaman. Pada waktu saya mereka memiliki trek yang berbeda untuk anak-anak dengan benar-benar tidak ada musik pengalaman seperti saya, dan kemudian anak-anak yang telah melakukan karena mereka berusia lima tahun. Dan kelas yang, misalnya, hanya memiliki sebuah situs web seperti kebanyakan yang lain, tapi adalah sebuah website yang memungkinkan Anda untuk mengeksplorasi musik di atasnya dan memutar klip musik dari kelas, dari web, dan hanya menggunakan teknologi dengan cara yang sangat cara halus. Tahun kelas lain kemudian bahwa saya diaudit, pada dasarnya, di sekolah pascasarjana, Anthro 1010, Pengantar Arkeologi sini. Itu menakjubkan. Dan salah satu yang paling menarik namun super jelas, dalam retrospeksi, penggunaan perangkat lunak adalah bahwa para profesor di bahwa kelas menggunakan Google Earth. Kami sedang duduk di seberang jalan di beberapa ruang kuliah. Dan Anda tidak bisa melakukan perjalanan, misalnya, ke Timur Tengah untuk menggali yang satu dari para profesor baru saja datang kembali, tapi kita bisa melakukannya hampir oleh terbang di sekitar di Google Earth dan melihat tampilan mata burung di menggali situs ia baru saja kembali dari seminggu yang lalu. Jadi saya akan mendorong kalian, terutama dalam humaniora, untuk pergi kembali ke departemen-departemen setelah ini kelas membawa proyek akhir Anda dengan Anda atau ide-ide Anda sendiri, dan melihat hanya apa yang dapat Anda lakukan untuk menanamkan Anda bidang sendiri dalam humaniora atau lebih dengan sedikit semacam ini hal yang kami telah dieksplorasi di sini pada CS50. Jadi dengan gambar yang dilukis, pikir kami akan mencoba untuk mengatasi dua hal hari ini. Satu, mencoba untuk memberikan rasa di mana Anda dapat pergi setelah 50. Dan khususnya, jika Anda memilih untuk menangani proyek berbasis web seperti sangat umum, bagaimana Anda bisa pergi tentang mengambil off semua CS50 ini roda pelatihan dan pergi di luar sana di Anda sendiri dan tidak harus bergantung pada PDF atau spesifikasi pset sebuah? Tidak harus bergantung pada CS50 alat lagi. Tapi benar-benar dapat menarik diri bootstraps oleh Anda. Dengan mengatakan bahwa, C berbasis akhir proyek dipersilakan. Hal yang menggunakan berdiri untuk perpustakaan portabel di grafis dipersilakan. Kita hanya tahu bahwa secara statistik banyak orang menggigit proyek di PHP dan Python dan Ruby dan MySQL dan lainnya lingkungan, sehingga kita akan Bias beberapa komentar kita terhadap itu. Tapi cepat melihat kembali. Jadi kami mengambil untuk diberikan di pset7 yang Fakta bahwa $ _SESSION ada. Ini adalah super global, global, array asosiatif. Dan apa ini membiarkan Anda lakukan? Secara fungsional, apa fitur ini memberikan kita? Ya? Untuk melacak ID pengguna. Dan mengapa ini berguna? Untuk dapat menyimpan dalam super ini JHarvard global atau [? Scroobs?] atau user ID Malan ketika ia atau ia mengunjungi sebuah situs. Tepat. Jadi Anda tidak perlu login lagi dan lagi. Ini akan menjadi world wide web benar-benar lumpuh jika setiap kali Anda mengklik link di situs seperti Facebook atau setiap kali Anda mengklik email di Gmail Anda harus kembali mengotentikasi untuk membuktikan bahwa itu masih Anda dan bukan teman sekamar Anda yang mungkin telah berjalan ke komputer dalam ketiadaan. Jadi kita menggunakan SESI hanya ingat siapa Anda. Dan bagaimana ini diimplementasikan bawah tenda? Bagaimana sebuah website yang menggunakan, yang protokol yang web browser dan server berbicara, bagaimana HTTP, yang merupakan protokol stateless, katakanlah. Dan dengan stateless Maksudku, setelah Anda terhubung ke sebuah situs web, men-download beberapa HTMLs, beberapa JavaScript, CSS beberapa, Anda icon browser berhenti berputar. Anda tidak memiliki koneksi konstan ke server biasanya. Itu saja. Tidak ada negara yang dipertahankan terus-menerus. Jadi bagaimana SESI dilaksanakan sedemikian cara bahwa setiap kali Anda mengunjungi sebuah halaman baru, website mengingat siapa Anda? Apa yang mendasari pelaksanaan detail? Menyerukannya. Ini satu kata. Cookie. Baik. Jadi cookie. Nah, bagaimana cookie digunakan? Kita akan ingat bahwa cookie umumnya hanya sepotong informasi. Dan hal ini sering acak besar nomor, tetapi tidak selalu. Dan cookie ditanam pada hard Anda drive atau dalam RAM komputer Anda sehingga bahwa setiap kali Anda kembali bahwa sama website, browser Anda mengingatkan Server, saya pengguna 1234567. Saya pengguna 1234567. Dan selama server telah mengingat bahwa pengguna adalah 1234567 JHarvard, website hanya akan menganggap bahwa Anda adalah yang Anda katakan. Dan ingat bahwa kami menyajikan cookie semacam di bentuk maya tangan berdiri. Ini dikirim dalam header HTTP hanya untuk mengingatkan server bahwa Anda adalah siapa berpikir bahwa anda adalah. Tentu saja, ada ancaman. Apa ancaman hal ini membuka kita sampai jika kita pada dasarnya menggunakan semacam klub atau mekanisme taman hiburan untuk mengingat siapa kita? Jika Anda menyalin kue seseorang dan membajak sesi mereka, sehingga untuk berbicara, Anda berpura-pura bisa menjadi orang lain dan Situs kemungkinan besar hanya akan Anda percaya. Jadi kita akan kembali ke itu. Karena tema lain untuk hari ini melampaui pemberdayaan juga berbicara tentang dunia yang sangat menakutkan kita hidup di dan berapa banyak dari apa yang Anda lakukan pada web, berapa banyak dari apa yang Anda lakukan bahkan pada ponsel Anda hari ini dapat dilacak oleh siapa saja yang benar-benar antara Anda dan titik B. Dan Ajax, ingat. Kami melihat hanya sebentar ini, meskipun Anda telah menggunakan tidak langsung dalam pset8 karena Anda menggunakan Google Maps dan karena kau menggunakan Google Earth. Google Maps dan Google Earth tidak men-download seluruh dunia untuk Anda dekstop, jelas, saat Anda memuat pset8. Hanya mendownload persegi dunia atau persegi lebih besar dari bumi. Dan kemudian setiap kali Anda semacam mengarahkan keluar dari jangkauan Anda mungkin melihat - terutama jika pada koneksi yang lambat - Anda mungkin melihat beberapa abu-abu sejenak atau sedikit kabur citra sebagai download komputer lebih ubin tersebut, lebih citra tersebut dari dunia atau bumi. Dan Ajax umumnya teknik dimana situs yang melakukan itu. Setelah Anda membutuhkan lebih banyak peta, Anda browser akan menggunakan Ajax, yang tidak sendiri merupakan bahasa atau teknologi, itu hanya teknik. Ini adalah penggunaan JavaScript untuk pergi mendapatkan informasi lebih lanjut dari server yang memungkinkan browser Anda untuk mendapatkan apa yang akan timur atau apa di sebelah barat apa jika saat ini yang ditunjukkan dalam peta itu. Jadi ini adalah topik yang banyak dari Anda akan menghadapi baik secara langsung maupun secara tidak langsung melalui proyek akhir jika Anda memilih untuk membuat sesuatu yang sama dinamis itulah menarik data dari beberapa situs pihak ketiga. Jadi kita punya benar-benar menarik Rabu depan depan. Kuis satu, informasi yang adalah pada CS50.net sudah. Ketahuilah bahwa akan ada sesi review ini datang Senin pukul 05:30. Tanggal dan waktu sudah diposting pada CS50.net dalam Tentang sheet. Dan jangan biarkan kami tahu Anda memiliki pertanyaan. Sementara Pset8 sudah di tangan Anda. Dan biarkan aku hanya menangani satu FAQ untuk menyelamatkan orang-orang beberapa stres. Untuk sebagian besar banyak obrolan kita lihat pada jam-jam kantor dan banyak bug kita lihat melaporkan Bahas adalah memang bug dalam kode siswa. Tapi ketika Anda temui sesuatu seperti Google Earth plug-in menerjang atau bahkan tidak bekerja dan Anda yakin itu bukan Anda, itu bukan [? chamad] masalah?, itu bukan bug Anda diperkenalkan ke kode distribusi. Sadarilah hanya FYI - ini adalah semacam rencana Z - bahwa terakhir kali kami menggunakan masalah ini menetapkan dan kami berlari ke serupa isu, ada baris kode dalam service.js yang pada dasarnya adalah ini, yang mengatakan, mengubah bangunan di. Dan mereka bekerja sekitar waktu terakhir kita melakukan ini dalam, sekali lagi, kasus sudut mana siswa tidak bisa mendapatkan sialan hal untuk bekerja adalah mengubah benar menjadi false dalam satu baris kode. Dan Anda akan menemukannya jika Anda mencari melalui service.js. Saya tidak menyarankan ini karena Anda akan menciptakan pemandangan yang paling tandus Cambridge, Massachusetts. Ini benar-benar akan meratakan dunia Anda sehingga semua yang Anda lihat adalah pengajaran rekan dan asisten kursus cakrawala dan tidak ada bangunan. Tapi menyadari untuk alasan apapun Google Earth plug-in tampaknya masih menjadi kereta setahun kemudian, jadi ini mungkin gagal Anda simpan. Jadi, daripada resor menangis, resor untuk mengubah bangunan off jika Anda tahu itu adalah plug-in yang tidak mau bekerja sama pada Mac atau PC. Tapi, ini lagi terakhir jika Anda yakin itu bukan bug. Jadi Hackathon. Beberapa penggoda hanya untuk membuat Anda bersemangat. Kami memiliki beberapa RSVP. Dan hanya untuk melukis gambar apa menunggu, saya pikir saya akan memberikan beberapa detik mengingat citra ini dari tahun lalu. [MUSIK] DAVID J. Malan: Tunggu, oh. Kami bahkan memiliki harfiah CS50 angkutan kami. [MUSIK] DAVID J. Malan: Jadi itulah apa yang menanti Anda dalam hal Hackathon. Dan ini akan menjadi kesempatan, untuk menjadi jelas, tidak untuk memulai akhir Anda proyek tetapi untuk terus bekerja pada proyek akhir Anda bersama teman sekelas dan staf dan banyak makanan. Dan lagi, jika Anda terjaga di 05:00 kami akan membawa Anda menyusuri jalan ke IHOP. The CS50 adil, sementara itu, adalah klimaks untuk seluruh kelas di mana Anda akan membawa laptop Anda dan teman-teman, bahkan mungkin keluarga ke sebuah ruangan di kampus jalan untuk menunjukkan proyek Anda pada laptop, di meja tinggi seperti ini dengan banyak makanan dan teman-teman dan musik di latar belakang, serta teman-teman kita dari industri. Perusahaan seperti Facebook dan Microsoft dan Google dan Amazon dan tandan orang lain sehingga jika tertarik hanya dalam mendengar tentang dunia nyata atau mengobrol dengan orang-orang tentang dunia nyata peluang waktu magang atau penuh, tahu bahwa beberapa dari teman-teman kita dari industri akan berada di sana. Dan beberapa gambar kita bisa melukis di sini adalah sebagai berikut. [MUSIK] DAVID J. Malan: Baiklah. Sehingga kemudian adalah adil CS50. Sekarang, mari kita lanjutkan bercerita yang benar-benar akan memberdayakan Anda mudah-mudahan untuk hal-hal seperti proyek akhir. Jadi salah satu dari beberapa hal kecil untuk benih Anda pikiran, baik untuk proyek akhir atau hanya lebih umum untuk proyek-proyek yang Anda dapat memutuskan untuk mengatasi setelah Tentu saja, ini semua didokumentasikan pada manual.cs50.net dimana CS50 manual dimana kita memiliki banyak teknik didokumentasikan. Dan ini hanya notasi singkat untuk mengatakan bahwa ada di hal dunia yang disebut SMS untuk email gateway, yang merupakan cara mewah mengatakan, ada server di dunia yang tahu bagaimana mengkonversi email ke pesan teks. Jadi, jika untuk proyek akhir Anda Anda ingin untuk membuat semacam bertema ponsel layanan yang memungkinkan Anda untuk mengingatkan teman atau pengguna untuk acara di kampus atau apa yang disajikan di Aula D malam itu atau fitur peringatan tersebut, tahu bahwa itu sederhana seperti mengirim email seperti PHPMailer yang Anda mungkin telah digunakan untuk pset7 atau kita melihat sebentar seminggu yang lalu, untuk alamat seperti ini. Dan bahkan Anda dapat teks ini mengasumsikan teman Anda memiliki texting terbatas merencanakan dan Anda tidak ingin untuk biaya mereka $ 0.10. Tetapi jika Anda mengirim email ke teman Anda yang Anda tahu memiliki Verizon atau AT & T menggunakan Gmail dan hanya mengirimnya ke nomor telepon mereka pada apapun yang sub domain yang ada, sadar bahwa Anda akan mengirim pesan teks. Tapi ini adalah salah satu dari hal-hal berhati-hati. Jika Anda troll melalui CS50 tahun lalu Saya pikir video itu, yang mengerikan, mengerikan, bug mengerikan saya menulis dalam kode akhirnya mengirim sekitar 20.000 teks pesan hidup untuk kami siswa di kelas. Dan hanya karena seseorang menyadari bahwa mereka mendapatkan beberapa teks pesan dari saya apakah saya memiliki sarana untuk menekan Control C cepat dan menghentikan proses tersebut. Kontrol C, Anda ingat, adalah teman Anda dalam kasus infinite loop. Jadi berhati-hatilah kekuatan yang baru saja kita diberikan Anda lebih bertanggung jawab, sebagian besar Kemungkinan besar, berdasarkan pengalaman saya sendiri. Tapi itu di web dan memiliki telah ada selama beberapa waktu. Baik. Jadi textmarks.com. Jadi ini adalah sebuah situs web. Dan ada tandan lain di luar sana juga bahwa kita sudah benar-benar digunakan sebagai kelas selama bertahun-tahun untuk dapat untuk menerima pesan teks. Sayangnya, mengirim pesan teks semudah mengirim email seperti itu. Menerima agak keras, terutama jika Anda ingin memiliki salah satu dari kode-kode singkat seksi yang hanya lama lima atau enam digit. Jadi misalnya, selama bertahun-tahun Anda sudah dapat mengirim pesan teks - dan Anda dapat mencoba ini juga - ke 41.411. Dan itu nomor telepon untuk ini startup tertentu. Dan jika Anda mengirim pesan ke 41.411 - Aku hanya akan menulis itu di sini, jadi 41.411 - dan kemudian mengirimkannya pesan seperti SBOY untuk Boy Shuttle. Dan kemudian mengetikkan sesuatu seperti Mather quad. Jadi anda mengirim pesan teks ke nomor telepon. Dalam beberapa detik Anda harus mendapatkan kembali respon dari CS50 Shuttle Layanan Boy, yang merupakan pesawat ulang-alik perangkat lunak penjadwalan yang kami sudah keluar ada di web untuk beberapa waktu. Dan itu akan merespon Anda melalui pesan teks. Karena apa yang telah kita lakukan sebagai sebuah kelas, seperti programmer, adalah untuk menulis perangkat lunak, dikonfigurasi akun gratis kami dengan teks tanda untuk mendengarkan pesan teks yang dikirim untuk SBOY di nomor itu. Dan apa yang mereka lakukan adalah maju teks tersebut pesan ke situs web berbasis PHP kita sebagai HTTP parameter mengatakan, di sini. Pengguna ini dengan nomor telepon ini mengirimkan pesan teks ini. Lakukan dengan itu apa yang Anda inginkan. Maka kami menulis beberapa perangkat lunak yang pada menerima string seperti SBOY Mather quad, kita mengurai itu. Kami mencari tahu di mana ruang adalah antara kata-kata. Dan kita sebagai sebuah kelas memutuskan bagaimana menanggapi itu. Dan jika Anda mencoba itu sekarang, misalnya, Anda akan melihat, melalui tanggapan dalam Beberapa detik, beberapa angkutan berikutnya akan dari Mather ke quad jika ada. Dan ada lain berhenti. Anda dapat mengetikkan Boylston atau lainnya seperti berhenti di kampus, dan seharusnya mengenali kata-kata. Jadi parse.com. Ini adalah layanan lain bahwa kita telah menunjuk beberapa siswa di untuk proyek akhir yang indah dalam bahwa itu gratis untuk jumlah yang wajar pemakaian. Dan jika aku pergi ke parse.com Anda akan melihat bahwa ini adalah sebuah alternatif untuk benar-benar memiliki sesuatu seperti database MySQL Anda sendiri. Dan terus terang, itu hanya jenis irama. Ini adalah apa yang ada di dalamnya dari awan bahkan pada hari berawan. Jadi parse.com memungkinkan Anda untuk melakukan banyak hal yang menarik. Dan ada alternatif lain ini di luar sana. Misalnya, Anda dapat menggunakannya sebagai end database punggung. Jadi Anda tidak perlu memiliki sebuah perusahaan hosting web. Anda tidak perlu memiliki database MySQL. Anda malah dapat menggunakan back end mereka. Jika Anda melakukan sebuah proyek mobile Android atau iOS atau sejenisnya, tahu bahwa terdapat hal-hal seperti layanan dorongan sehingga Anda dapat mendorong peringatan ke teman Anda atau layar rumah pengguna Anda '. Dan kemudian sekelompok lainnya fitur juga. Jadi jika Anda memiliki minat, check out website dan website seperti mereka hanya melihat berapa banyak orang lain bahu Anda dapat berdiri untuk membuat perangkat lunak benar-benar keren dari Anda sendiri. Sekarang dalam hal otentikasi, sebuah FAQ, adalah bagaimana Anda benar-benar menjamin bahwa pengguna Anda adalah orang-orang di kampus, Mahasiswa Harvard atau dosen atau staf? Jadi CS50 memiliki otentikasi sendiri layanan yang disebut CS50 ID. Pergi ke URL itu dan Anda dapat membatasi Anda website untuk siapa pun dengan Harvard ID, misalnya. Jadi tahu bahwa kita bisa mengatasinya. Kalian tidak boleh dalam bisnis untuk mengatakan, apa ID Harvard Anda? Apa PIN Harvard Anda? Sekarang saya melakukan sesuatu dengan itu. Kami akan melakukan semua itu. Dan apa yang kami akan memberikan Anda kembali adalah nama seseorang dan alamat email, tapi tidak apa-apa sensitif. Sebuah aplikasi pada perangkat mobile, dapat dibuat untuk bekerja pada perangkat mobile, tapi itu tidak cukup dirancang untuk itu. Jadi, Anda akan berakhir menghabiskan non sepele jumlah waktu melakukannya. Jadi saya akan mencegah rute itu untuk saat ini. Ini benar-benar ditujukan untuk aplikasi berbasis web. Jadi web hosting. Jadi, jika Anda belum melihat pada homepage kursus itu - dan di sinilah kita akan mulai cerita - web hosting adalah semua tentang membayar untuk biasanya layanan, host server yang dimiliki oleh orang lain di web yang memiliki Alamat IP, dan Anda kemudian menempatkan Anda situs di atasnya. Dan mereka biasanya memberikan email rekening dan database dan fitur seperti lainnya. Ketahuilah bahwa jika Anda tidak ingin benar-benar membayar untuk itu, pergi ke URL yang sana dan CS50 benar-benar memiliki non-profit account yang dapat Anda gunakan untuk sebenarnya belum http://proyek dalam alat untuk proyek akhir Anda. Jika Anda benar-benar ingin menjadi sesuatu seperti, isawyouharvard.com, Anda dapat membeli nama domain - meskipun Bukankah itu satu tertentu - dan maka Anda dapat pergi tentang hosting di web server publik seperti kami dapat menawarkan kalian lewat sini. Dan sebenarnya kalau asing, jika Anda belum pernah ke isawyouharvard.com, satu, pergi ke sana. Tapi dua, tahu bahwa itu adalah muda Nama wanita dengan Tej Untuk Toor Terlalu dua tahun yang lalu, tiga tahun lalu, yang merupakan CS50 alumni yang terjadi satu atau dua hari sebelum CS50 adil mengirimkan email ke milis rumahnya dan voila. Dua hari kemudian oleh CS50 adil, dia punya ratusan pengguna semua merayap pada satu sama lain di website-nya dan mengatakan bagaimana mereka telah melihat dia atau dia di kampus. Jadi itulah salah satu CS50 favorit kisah sukses dari proyek akhir CS50. Jadi bagaimana Anda pergi tentang menempatkan sebuah situs web seperti itu di internet? Nah, ada beberapa seperti bahan di sini. Jadi satu, Anda harus membeli nama domain. Ada tandan tempat di dunia dari mana Anda dapat membeli nama domain. Dan misalnya, salah satu yang kami sarankan hanya karena populer dan murah disebut namecheap.com. Tapi Anda bisa pergi godaddy.com dan puluhan orang lain di luar sana. Anda dapat membaca tentang review. Tapi untuk sebagian besar itu tidak penting dari siapa Anda membeli nama domain. Dan mereka bervariasi dalam harga dan mereka berbeda dalam akhiran. Akhiran seperti. Com,. Net, . Org, io., Tv., Mereka sebenarnya bervariasi dalam harga. Tetapi jika kita ingin melakukan sesuatu seperti cats.com kita bisa pergi ke website ini, klik Pencarian. Agaknya satu ini diambil. Namun ternyata, catsagainst.com tersedia. pluscats.com tersedia. Lovecats, catscorner, dampcats.net. Semua ini mudah-mudahan semu acak. Jika Anda ingin cats.pw, $ 1500 saja, yang sedikit gila. Jadi seseorang telah benar-benar menyambar semua kucing nama domain terkait di sini untuk harga yang bervariasi. Sebagai samping, mari kita lihat. Siapa yang memiliki cats.com? Ketahuilah bahwa kalian memiliki Anda inginkan cukup perintah canggih sekarang. Seperti saya dapat mengetik secara harfiah yang cats.com? Dan karena cara internet terstruktur Anda benar-benar dapat melihat siapa telah terdaftar ini. Rupanya orang ini [Tak terdengar] menggunakan layanan proxy. Jadi siapa pun yang memiliki cats.com tidak ingin dunia tahu siapa mereka. Jadi mereka sudah terdaftar jika melalui beberapa layanan privasi acak. Tapi kadang-kadang Anda benar-benar mendapatkan pemilik yang sebenarnya. Dan ini adalah untuk mengatakan, terutama jika Anda mengejar beberapa startup dan Anda benar-benar ingin beberapa nama domain dan Anda bersedia membayar orang lain untuk itu, Anda dapat mengetahui kontak informasi dengan cara itu. Tetapi juga menarik adalah ini. Mari saya gulir ke atas untuk bagian ini. Jadi ini adalah bahwa output yang sama. Dan ini hanya norak. Begitu rupanya cats.com dapat milikmu untuk harga yang tepat. Tapi apa yang menarik di sini adalah bahwa nama server - ini jumlah penyalahgunaan apa nama Server seharusnya - nama Anda server tidak seharusnya thisdomainforsale.com. Jika kita benar-benar memilih sesuatu seperti - mari kita memilih sesuatu yang sedikit lebih sah seperti, yang google.com, dan gulir ke atas sini. Jadi di sini - apa yang terjadi di sana? Menarik. Di luar yang - Mari kita menjaga kunci lebih rendah. Siapa mit.edu? OK. Ini sangat membantu. Jadi ini adalah apa yang saya harapkan. Penggunaan yang sah dari layanan DNS. Nama server di sini menunjukkan berikut. Ini adalah cara MIT mengatakan, setiap kali seseorang di dunia ini, di mana pun mereka adalah, jenis dalam mit.edu dan hit Enter, laptop Anda, apakah Mac atau PC, akan entah bagaimana akhirnya mengetahui bahwa orang di dunia yang tahu apa Alamat IP untuk mit.edu atau salah satu sub domain di mit.edu atau salah ini server di sini - dan itu benar-benar Sepertinya infrastruktur MIT adalah cukup kuat seperti yang Anda harapkan. Mereka memiliki beberapa nama server yang baik untuk redundansi. Dan pada kenyataannya, mereka tampaknya global didistribusikan di seluruh dunia. Sekelompok dari mereka tampaknya berada di AS, beberapa di Asia, satu di Eropa, dua di tempat lain. Tapi intinya di sini adalah bahwa DNS yang kita telah mengambil untuk diberikan dan umumnya digambarkan sebagai tabel Excel besar yang memiliki alamat IP dan domain nama sebenarnya cukup canggih layanan hirarkis sehingga dalam dunia sebenarnya ada jumlah terbatas server yang pada dasarnya tahu di mana semua. com adalah atau semua tersebut. jaring, semua . Orgs adalah, dan sebagainya. Jadi, ketika Anda pergi ke depan dan membeli domain Nama dari tempat seperti Nama Murah atau Go Daddy atau website lain, salah satu langkah-langkah kunci yang Anda harus lakukan Anda, jika Anda melakukan ini bahkan untuk akhir Anda proyek, adalah memberitahu petugas dari siapa Anda membeli domain Nama, yang di dunia tahu Anda alamat IP website, yang nama server Anda. Jadi jika Anda menggunakan, misalnya CS50 ini account hosting - kita kebetulan memiliki akun ini melalui dreamhost.com yang merupakan web populer hosting perusahaan - mereka akan memberitahu Anda bahwa Anda harus membeli domain Anda dan memberitahu dunia bahwa server nama domain Anda adalah ns1.dreamhost.com, ns2.dreamhost.com, dan ns3.dreamhost.com. Tapi itu. Membeli nama domain berarti memberi mereka uang dan mendapatkan kepemilikan domain, tapi itu lebih seperti sewa meskipun. Anda mendapatkannya selama satu tahun dan kemudian mereka tagihan Anda recurringly untuk sisa hidup Anda sampai Anda membatalkan nama domain. Dan kemudian Anda memberitahu mereka siapa nama server adalah. Tapi kemudian Anda sudah selesai dengan registrar Anda. Dan dari sana Anda akan berinteraksi hanya dengan perusahaan web hosting Anda, yang dalam kasus CS50 akan menjadi Dreamhost. Tapi sekali lagi, dokumentasi lebih akan diberikan kepada Anda jika Anda memutuskan untuk pergi rute itu. Jadi jika Anda melakukan ini setelah kursus ini end, cukup googling web hosting perusahaan akan muncul ribuan pilihan. Dan saya biasanya akan mendorong Anda untuk meminta teman-teman yang mungkin telah menggunakan perusahaan sebelumnya jika mereka sarankan mereka dan memiliki pengalaman yang baik. Karena ada banyak terbang di malam hari web hosting perusahaan, seperti seorang pria di basement dengan server yang memiliki alamat IP. Dia memiliki beberapa tambahan RAM dan hard disk ruang dan hanya menjual web hosting rekening meskipun tidak ada cara yang Server bisa menangani ratusan pengguna atau ribuan pengguna. Jadi menyadari Anda akan mendapatkan apa yang Anda bayar. Untuk sementara cukup untuk rumah pribadi saya Halaman - dan ini benar-benar diterima karena aku, seperti, dua pengunjung per bulan - Saya membayar, seperti, $ 2,95 per bulan. Dan aku cukup yakin itu di ruang bawah tanah seseorang. Tapi sekali lagi, Anda tidak mendapatkan selalu jaminan uptime atau skalabilitas. Jadi sekali lagi, Anda biasanya melihat pada sesuatu yang lebih dari itu. Nah, bagaimana dengan SSL? Jadi apa yang SSL digunakan untuk? Sekarang mari kita mulai untuk mengarahkan dalam arah keamanan dan hal-hal yang dapat merugikan kita. Terutama karena Anda usaha keluar pada Anda sendiri. Apa SSL, atau apa yang SSL digunakan untuk? Keamanan, OK. Jadi itu digunakan untuk keamanan. Apa artinya? Jadi singkatan dari Secure Socket Layer. Dan hal ini ditunjukkan oleh URL yang dimulai dengan https://. Banyak dari kita mungkin pernah diketik https://, tetapi Anda akan sering menemukan bahwa browser Anda diarahkan dari HTTP untuk HTTPS sehingga semuanya ada setelah dienkripsi. FYI, menggunakan SSL membutuhkan biasanya yang Anda memiliki alamat IP yang unik. Dan biasanya untuk mendapatkan alamat IP yang unik Anda perlu membayar web hosting perusahaan beberapa dolar lebih per bulan. Jadi menyadari hal ini sangat mudah dilaksanakan hari ini dengan membeli sebuah IP alamat dan dengan membeli apa yang disebut sertifikat SSL. Tapi menyadari bahwa itu tidak datang di beberapa biaya tambahan. Dan, seperti yang kita akan mencoba untuk menakut-nakuti hanya dalam bit, itu bahkan tidak perlu 100% pelindung apa pun itu Anda mencoba untuk melindungi. Jadi untuk keamanan, aku pikir aku akan melakukan semacam Shalawat acak di sini. Seperti yang anda ketahui dari kuliah CS50 ini video, tim produksi kami telah menjadi fan seperti yang telah saya mengambil benar-benar baik fotografi kampus, dan udara fotografi yang paling baru-baru ini. Jika Anda pernah melihat ke atas dan Anda melihat sesuatu yang terbang dengan kamera kecil, itu benar-benar mungkin CS50. Dan saya hanya berpikir saya akan berbagi menit beberapa rekaman tim memiliki berkumpul, terutama karena kami melihat ke semester musim semi dan musim gugur mendatang. Jika salah satu dari Anda memiliki bakat untuk fotografi, videografi, kami akan senang untuk membuat Anda terlibat belakang layar. Tapi lebih pada detail-detail dalam seminggu. [MUSIK] DAVID J. Malan: Ternyata ada golf mini di atas stadion yang kita tidak pernah tahu tentang. [MUSIK] DAVID J. Malan: Anda dapat melihat garis dari pesawat tak berawak di sana. [MUSIK] DAVID J. Malan: Bagian yang terbaik di sini adalah, menonton pelari di sebelah kiri. [MUSIK] DAVID J. Malan: Contoh lain dari apa yang Anda dapat melakukannya dengan teknologi yang hanya menyinggung, terus terang, berkaitan dengan keamanan. Tapi saya pikir itu akan menjadi lebih cara yang menyenangkan hanya mengatakan, keamanan. Jadi mari kita lihat jika kita tidak bisa menakut-nakuti kalian sekarang dengan tidak hanya sedikit beberapa ancaman, tetapi juga yang mendasari memahami apa ancaman ini yang sehingga Anda dapat bergerak maju memutuskan bagaimana dan apakah untuk membela diri terhadap hal-hal ini dan pada Setidaknya untuk berhati-hati dari mereka yang Anda membuat keputusan mengenai apakah atau tidak untuk mengirim email itu, apakah atau tidak untuk login ke situs web itu, apakah atau tidak untuk menggunakan kafe cyber Wi-Fi gratis point sehingga Anda tahu apa yang ancaman memang di sekitar Anda. Jadi Jonathan disebut sesuatu seperti ini pada hari Senin. Ia memiliki layar tembakan jendela. Yang satu ini adalah sebuah Mac. Berapa banyak dari Anda pernah menginstal perangkat lunak pada Mac atau PC? Jelas semua orang. Berapa banyak dari Anda telah memberikan banyak pemikiran untuk mengetikkan kata sandi Anda ketika diminta? Maksudku, bahkan aku tidak, terus terang. Jadi beberapa dari kita baik di menjadi paranoid. Tapi mempertimbangkan apa yang Anda benar-benar lakukan di sini. Pada Mac khas atau PC Anda memiliki akun administrator. Dan biasanya Anda satu-satunya menggunakan laptop setidaknya hari ini. Jadi account Anda, Malan atau JHarvard atau apapun itu, adalah account administrator. Dan apa itu artinya Anda telah akar akses ke komputer Anda. Anda dapat menginstal apa pun yang Anda inginkan, menghapus apa pun yang Anda inginkan. Dan biasanya hari ini, karena keputusan desain tanggal dari tahun yang lalu, cara yang paling lunak terinstal adalah sebagai administrator. Dan bahkan jika Mac atau PC memiliki setidaknya mendapatkan cukup cerdas atas tahun dengan inkarnasi terbaru Mac OS dan Windows untuk tidak lari Anda Username secara default sebagai administrator, ketika Anda men-download beberapa program baru dari internet dan mencoba untuk menginstalnya, Anda mungkin akan akan diminta untuk memasukkan sandi Anda. Tapi menangkap adalah pada titik itu, Anda harfiah menyerahkan kunci-kunci Anda komputer melalui apa pun acak Program baru saja Anda download dan memungkinkan untuk menginstal apapun yang diinginkannya. Dan seperti Jonathan disinggung, menyadari bahwa itu mungkin mengatakan bahwa ia ingin menginstal perangkat lunak Anda bahwa Anda peduli tentang, Spotify atau iTunes atau apa pun itu Anda mencoba untuk menginstal. Tapi kau benar-benar mempercayai penulis atau penulis perangkat lunak untuk hanya melakukan apa program yang seharusnya dilakukan. Tapi ada apa-apa menghentikan sebagian besar program pada kebanyakan sistem operasi dari menghapus file, dari meng-upload ke beberapa perusahaan website, dari trolling sekitar, untuk mengenkripsi hal. Dan lagi, kita sudah semacam dibangun infrastruktur seluruh atas tahun pada kepercayaan. Dan menyadari bahwa Anda baru saja mempercayai orang acak dan random perusahaan untuk sebagian besar. Dan Yonatan disinggung juga, kadang-kadang perusahaan-perusahaan itu sendiri adalah semacam sengaja berbahaya, oke? Sony menangkap banyak Flack beberapa tahun lalu untuk menginstal apa yang disebut rootkit kit di komputer orang tanpa sepengetahuan mereka. Dan inti dari ini adalah bahwa ketika Anda membeli CD misalnya bahwa mereka tidak ingin Anda dapat menyalin atau rip musik off, CD akan menginstal, tanpa Anda tahu, rootkit pada komputer Anda. Rootkit hanya berarti perangkat lunak yang berjalan sebagai administrator yang berpotensi melakukan hal-hal buruk. Tapi di antara hal hal ini lakukan adalah menyembunyikan itu sendiri. Jadi beberapa dari Anda mungkin cukup cerdas dengan komputer Anda dan tahu, well, aku hanya dapat membuka Task Manager atau Activity Monitor dan aku dapat melihat sama sekali dari program bernama arcanely yang sedang berjalan. Dan jika sesuatu terlihat mencurigakan Aku akan membunuhnya atau menghapusnya. Tapi itulah yang rootkit lakukan. Ini dasarnya mengatakan, jika menjalankan Task Manager, tidak menunjukkan diri. Jadi software itu ada. Dan hanya jika Anda benar-benar, benar-benar tampak keras Anda bahkan bisa menemukannya. Dan ini dilakukan dalam nama perlindungan salinan. Tapi bayangkan apa yang bisa telah dilakukan sebaliknya. Sekarang dalam hal melindungi diri. Banyak website yang mengagumkan ramah dalam bahwa mereka menempatkan ini ikon gembok di situs mereka yang berarti bahwa website tersebut aman. Ini dari bankofamerica.com pagi ini. Jadi, apa yang ikon gembok kecil ada berarti sebelah tombol Sign In? Benar-benar tidak. Ini berarti seseorang yang tahu bagaimana menggunakan Photoshop untuk membuat gambar dari ikon gembok. Seperti harfiah, fakta bahwa itu ada dimaksudkan untuk menjadi positif sinyal kepada pengguna seperti, ooh, situs aman. Harus saya percaya situs ini dan sekarang mengetikkan username dan password saya. Dan ini telah menjadi konvensional untuk tahun, baru-baru pagi ini. Tapi mempertimbangkan kebiasaan yang ini semakin kita ke dalam. Pertimbangkan pesan implisit bahwa semua dari bank-bank dalam hal ini telah mengirimkan selama bertahun-tahun. Jika Anda melihat gembok, lalu kencangkan. Baiklah? Jadi bagaimana Anda bisa menyalahgunakan sistem yang kepercayaan jika Anda adalah orang jahat? Pasang gembok di website Anda, dan logis, pengguna telah dikondisikan selama bertahun-tahun untuk mengasumsikan gembok berarti aman. Dan sebenarnya mungkin aman. Anda mungkin memiliki sangat aman SSL koneksi HTTPS ke website palsu. com. Dan tidak ada orang lain di dunia dapat melihat bahwa Anda akan menyerahkan dia username dan password Anda ke akun Anda. Meskipun ini, mungkin, adalah sedikit lebih meyakinkan. Jadi ini adalah screen shot dari atas dari browser saya pagi ini di bankofamerica.com. Dan perhatikan di sini juga kita memiliki ikon gembok. Apa artinya dalam konteks ini di Chrome setidaknya? Jadi ini sekarang menggunakan SSL. Jadi ini sebenarnya adalah sebuah hal yang lebih baik. Dan fakta bahwa Chrome membuat hijau dimaksudkan untuk menarik perhatian kita dengan fakta bahwa ini adalah tidak hanya melalui SSL. Ini adalah perusahaan yang seseorang ada diverifikasi sebenarnya bankofamerica.com. Dan itu berarti bahwa Bank of America, ketika membeli mereka disebut SSL sertifikat, acak dasarnya besar, nomor agak acak yang menerapkan keamanan bagi mereka, mereka telah diverifikasi oleh beberapa ketiga yang independen pihak yang mengatakan, yep. Ini sebenarnya adalah CEO Bank Amerika mencoba untuk membeli sertifikat. Krom karena itu akan percaya bahwa otoritas sertifikasi dan katakan dalam hijau, ini bankofamerica.com. Dan Bank of America hanya membayar beberapa ratus dolar untuk itu atau beberapa ribu sebagai lawan beberapa puluhan dolar. Tapi di sini juga, berapa banyak dari Anda yang pernah berperilaku secara berbeda karena URL di browser Anda hijau, bukan hitam? Benar? Jadi beberapa dari kita. Dan itu bagus untuk menjadi paranoid. Tetapi bahkan kemudian, Anda yang bahkan melihat hal-hal, apakah Anda benar-benar berhenti masuk ke sebaliknya aman situs jika URL tidak hijau? Baiklah, jadi mungkin tidak, kan? Setidaknya sebagian besar dari kita, jika tidak hijau, kemungkinan besar Anda hanya akan menjadi seperti, apa pun. Seperti, saya ingin login ke website ini. Itulah sebabnya aku di sini. Aku akan masuk tetap. Sebagai samping, Chrome sedikit lebih baik tentang hal ini. Tapi ada banyak browser seperti Firefox misalnya, setidaknya untuk beberapa waktu, di mana ikon gembok adalah, Anda benar-benar dapat menempatkan setiap icon Anda sendiri. Biarkan aku melihat apa versi terbaru Firefox terlihat seperti. Jadi, jika kita pergi ke CS50.net. OK, jadi mereka sudah lebih baik juga. Apa browser yang digunakan untuk lakukan adalah seperti, inilah misalnya [? SAAS itu?] Crest di sini. Itulah yang disebut favorit icon untuk website. Tahun yang lalu - sebenarnya tidak begitu lama - yang sedikit perisai pasti benar di sini di samping URL. Karena beberapa jenius memutuskan bahwa hanya akan terlihat cantik berkelas untuk memiliki logo yang tepat grafis Anda di samping URL Anda. Dan desain bijaksana, yang benar-benar cukup menarik. Jadi apa yang orang jahat mulai lakukan? Mereka mulai mengubah favorit mereka ikon, atau ikon default untuk homepage menjadi tidak lambang tapi gembok, yang memiliki sekali tidak ada artinya. Selain ikon favorit mereka adalah gembok itu tidak ada indikasi keamanan. Jadi pelajaran di sini adalah pasangan saya pikir. Salah satunya adalah bahwa sebenarnya ada beberapa mekanisme bermaksud baik untuk mengajarkan pengguna tentang keamanan bahkan jika Anda bahkan tidak menyadari apa yang hijau berarti atau apa yang bahkan HTTPS dimaksud. Tetapi jika mekanisme tersebut membawa kita ke kebiasaan buruk website percaya ketika kita melihat orang-sinyal positif, mereka sangat mudah disalahgunakan seperti yang kita lihat hanya beberapa saat yang lalu dengan sesuatu konyol seperti ini. Jadi pembajakan sesi datang ke bermain, seperti yang kita katakan sebelumnya, dengan cookie misalnya. Dan apa ini benar-benar berarti? Yah dengan pembajakan sesi ini semua tentang mencuri cookie seseorang. Jadi jika saya membuka Chrome di sini, untuk Misalnya, dan aku membuka Inspektur di sini dan saya pergi ke Tab Jaringan - dan kami telah melakukan ini sebelumnya - dan saya pergi ke sesuatu seperti http://facebook.com Enter, keseluruhan banyak hal yang terjadi di layar karena semua gambar dan CSS dan File JavaScript. Tapi kalau saya lihat yang satu ini di sini melihat bahwa Facebook memang menanam satu atau lebih cookie pada saya Browser sini. Jadi ini pada dasarnya tangan perangko yang mewakili saya. Dan sekarang semoga browser saya akan menyajikan ini lagi dan lagi ketika meninjau situs web tersebut. Tapi itu hanya aman, kita mengatakan beberapa minggu yang lalu, jika Anda menggunakan SSL. Tetapi bahkan SSL sendiri bisa dikompromikan. Pertimbangkan setelah semua cara kerja SSL. Ketika browser Anda terhubung ke remote server melalui https://, singkat cerita, kriptografi adalah terlibat. Ini tidak sesederhana Caesar atau Visionaire atau bahkan DES, DES dari ketika kembali pset2. Ini lebih canggih dari itu. Ini disebut kriptografi kunci publik. Tapi benar-benar besar dan benar-benar acak nomor yang digunakan untuk berebut informasi antara titik A, Anda, dan titik B, seperti facebook.com. Tapi masalahnya adalah, berapa banyak dari kita lagi pernah ketik https:// untuk memulai koneksi website kami dalam modus aman? Maksudku, berapa banyak dari Anda bahkan Jenis http://facebook.com? Baiklah, jika Anda melakukannya, seperti, halo. Anda tidak perlu melakukan itu lagi, kan? Browser akan mencari tahu. Tapi kebanyakan dari kita memang ketik facebook.com. Karena jika kita menggunakan browser, browser mendapatkan cukup cerdas dengan 2013 untuk berasumsi jika Anda menggunakan Browser, Anda mengetik alamat, Anda mungkin ingin mengaksesnya tidak melalui email atau pesan instan. Maksudmu HTTP dan Port 80. Mereka konvensi telah diadopsi. Tapi bagaimana kerja redirection? Nah, perhatikan apa yang terjadi di sini. Jika saya kembali ke Chrome - dan mari kita lakukan ini dalam mode penyamaran mode sehingga semua saya cookie dibuang. Dan biarkan aku pergi di sini untuk, lagi, facebook.com. Dan mari kita lihat apa yang terjadi. Ingat bahwa permintaan pertama adalah memang hanya untuk facebook.com. Tapi apa adalah respon yang saya dapatkan? Itu bukan 200 OK. Itu 300, atau 301, yang merupakan redirect memberitahu saya untuk pergi ke http://www.facebook.com, yang di mana Facebook ingin aku pergi. Tapi kalau kita melihat permintaan berikutnya, dan kita telah melihat ini sebelumnya, perhatikan apa tanggapan kedua mereka. Khususnya bahwa mereka ingin saya sekarang untuk pergi ke versi SSL dari Facebook. Jadi di sini adalah kesempatan. Ini adalah fitur yang sangat berguna hanya web dan HTTP. Jika pengguna akhir seperti Facebook ingin aku untuk tetap pada versi aman dari mereka website, yang besar. Mereka akan mengarahkan saya untuk diriku sendiri. Dan jadi saya tidak perlu bahkan berpikir tentang itu. Tapi bagaimana jika antara titik A dan B, antara Anda dan Facebook, ada beberapa orang jahat, ada beberapa sistem administrator di Harvard yang ingin tahu untuk melihat siapa teman-teman Anda. Atau ada beberapa - tahun yang lalu, ini digunakan untuk terdengar gila - tapi ada beberapa badan pemerintah seperti NSA yang sebenarnya tertarik pada siapa Anda sedang menyembul di Facebook. Dimana kesempatan sana? Nah, selama seseorang memiliki cukup teknis savvy dan mereka memiliki akses ke jaringan yang sebenarnya Anda melalui Wi-Fi atau kawat fisik, apa yang bisa mereka lakukan? Nah, jika mereka berada di jaringan yang sama dengan Anda dan mereka tahu sesuatu tentang TCP / alamat IP dan IP dan DNS dan bagaimana semua yang bekerja, bagaimana jika yang man in the middle, bagaimana jika yang Nasional Badan Keamanan, apa pun itu mungkin, tapi bagaimana jika entitas yang hanya bereaksi lebih cepat dari Facebook ke permintaan HTTP Anda dan berkata, oh, aku Facebook. Silakan, dan inilah HTML untuk facebook.com. Komputer pretty darn cepat. Jadi Anda bisa menulis sebuah program yang berjalan pada server seperti nsa.gov bahwa ketika mendengar permintaan dari Anda untuk facebook.com, sangat cepat di belakang adegan mendapat pembuatan facebook.com nyata sempurna [? esque?] aman Koneksi SSL antara NSA dan antar Facebook, mendapatkan bahwa HTML sangat aman untuk halaman login, dan kemudian server NSA hanya merespon Anda dengan halaman login untuk facebook.com. Sekarang berapa banyak dari Anda bahkan akan melihat bahwa Anda menggunakan Facebook melalui HTTP masih pada saat itu karena Anda telah sengaja terhubung ke nsa.gov dan bukan Facebook? URL tidak berubah. Semua ini sedang dilakukan belakang layar. Tapi kebanyakan dari kita, termasuk saya sendiri, mungkin tidak akan melihat seperti detail kecil. Jadi, Anda mungkin memiliki sempurna dikerjakan hubungan antara Anda dan apa yang Anda pikir Facebook, tapi ada disebut man in the middle. Dan ini adalah istilah umum bagi manusia serangan tengah di mana Anda memiliki beberapa entitas antara Anda dan titik B yang entah bagaimana memanipulasi, mencuri, atau menonton data Anda. Jadi, bahkan SSL tidak pasti, terutama jika Anda telah tertipu tidak menyalakannya karena cara ini mekanisme yang mendasari benar-benar bekerja. Jadi pelajaran hari kemudian juga jika Anda benar-benar ingin menjadi paranoid - dan bahkan di sini ada ancaman - Anda benar-benar harus mulai masuk ke kebiasaan mengetik di https://www apapun nama domain Anda benar-benar peduli. Dan sebagai samping juga ada ancaman lain dengan menganggap untuk pembajakan. Sangat sering ketika Anda pertama kali mengunjungi website seperti facebook.com, kecuali Server telah dikonfigurasi untuk mengatakan bahwa bahwa cap tangan itu menempatkan pada Anda kemarin harus mengamankan dirinya sendiri, Anda Browser mungkin sangat baik, setelah mengunjungi hal-hal seperti facebook.com google.com, twitter.com, browser Anda mungkin menyajikan bahwa cap tangan saja untuk ditampar dan berkata, tidak. Gunakan SSL. Tapi itu terlambat pada saat itu. Jika Anda telah mengirimkan tangan Anda cap, cookie Anda, di jelas dengan tidak ada SSL, Anda memiliki sepersekian detik kerentanan di mana seseorang mengendus lalu lintas Anda, apakah teman sekamar atau NSA, kemudian dapat menggunakan cookie yang sama, dan dengan sedikit cerdas teknis, hadir sebagai nya sendiri. Serangan lain Anda mungkin tidak berpikir tentang. Yang satu ini benar-benar pada Anda jika Anda sekrup up ini dalam penulisan beberapa website yang entah bagaimana menggunakan SQL. Jadi di sini, misalnya, adalah layar menembak login Harvard. Dan ini adalah contoh umum sesuatu dengan username dan password. Super umum. Jadi mari kita asumsikan bahwa SSL ada dan tidak ada laki-laki di tengah atau sesuatu seperti itu. Sekarang kita berfokus pada server kode yang mungkin Anda tulis. Nah, ketika saya mengetik username dan password, anggaplah bahwa layanan PIN diimplementasikan di PHP. Dan Anda mungkin memiliki beberapa kode pada server seperti ini. Dapatkan nama pengguna dari pos Super global dan mendapatkan password, dan kemudian jika mereka menggunakan beberapa pset7 seperti kode ada fungsi permintaan yang mungkin melakukan hal ini. Pilih Bintang dari pengguna dimana username sama itu dan sandi sama itu. Yang terlihat, pada pandangan pertama, benar-benar masuk akal. Ini adalah sintaksis kode PHP yang valid. Logikanya tidak ada salah dengan ini. Mungkin ada beberapa baris yang benar-benar melakukan sesuatu dengan Hasil yang datang kembali dari database. Tapi ini rentan untuk alasan berikut. Perhatikan bahwa, seperti warga negara yang baik, Saya telah dimasukkan ke dalam tanda kutip, tunggal kutipan, nama pengguna. Dan saya dimasukkan ke dalam tanda kutip tunggal password. Dan itu hal yang baik karena mereka tidak seharusnya angka. Biasanya mereka akan menjadi teks. Jadi aku mengutip mereka seperti string. Dan jika sekarang saya maju lebih jauh bagaimana jika - dan saya telah menghapus peluru dari PIN layanan sementara - bagaimana jika saya mencoba untuk login sebagai Presiden [? Scroob?] tapi saya mengklaim bahwa sandi saya adalah 12345 'OR '1' = '1, dan pemberitahuan apa yang belum saya lakukan. Aku tidak menutup lain kutip tunggal. Karena aku cukup tajam di sini sebagai orang jahat. Dan aku menganggap mereka Anda tidak sangat baik dengan Anda PHP dan MySQL kode. Saya menduga bahwa Anda tidak memeriksa untuk kehadiran tanda kutip. Jadi apa yang baru saja terjadi adalah bahwa ketika Anda pengguna telah mengetikkan string itu, pertanyaan Anda tentang untuk buat terlihat seperti ini. Dan cerita panjang pendek, jika Anda dan sesuatu bersama-sama atau Anda atau sesuatu bersama-sama ini akan kembali baris dari database. Karena selalu hal 1 sama dengan 1. Dan hanya karena Anda tidak mengantisipasi bahwa pengguna Anda, baik atau buruk, mungkin memiliki apostrof di nama mereka Anda telah menciptakan sebuah query SQL yang masih valid, dan akan kembali hasil sekarang lebih dari Anda mungkin telah dimaksudkan. Dan orang ini buruk sekarang memiliki berpotensi login ke server Anda karena database Anda kembali berturut-turut bahkan jika ia tidak tahu apa [? ] Sandi sebenarnya Scroob itu? Adalah. Oh, saya menyadari kesalahan ketik di sini. Saya harus katakan sandi sama 12345 seperti sebelumnya contoh atau 1 sama dengan 1. Aku akan memperbaikinya online yang. Jadi mengapa kami telah Anda gunakan query fungsi dengan tanda tanya? Salah satu hal fungsi permintaan tidak bagi Anda adalah ia memastikan bahwa ketika Anda lewat di argumen setelah koma sini seperti ini bahwa permintaan yang sebenarnya dikirim ke Database terlihat seperti ini. Sebuah jelek banyak untuk melihat, tetapi kembali garis miring telah otomatis dimasukkan untuk menghindari tepat bahwa serangan injeksi yang saya menunjukkan saat yang lalu. Sekarang menyenangkan xkcd bahwa saya pikir saya akan menarik di sini mudah-mudahan sekarang harus menjadi sedikit lebih dimengerti adalah salah satu ini di sini. Sedikit? Mungkin kita perlu sedikit lebih diskusi tentang itu. Jadi ini menyinggung anak kecil bernama Bobby yang telah entah bagaimana diambil keuntungan dari sebuah situs web yang hanya percaya bahwa apa yang pengguna telah diketik di tidak, pada kenyataannya, kode SQL, tapi sebenarnya string. Sekarang Anda mungkin ingat drop yang - Anda mungkin telah melihat ini - penurunan berarti menghapus tabel, menghapus database. Jadi jika Anda pada dasarnya mengklaim bahwa Nama Anda adalah Robert "; droptabl estudentsomething,] Anda mungkin sangat baik mengelabui database tidak hanya ke memeriksa bahwa Anda Robert memang, tapi titik koma juga lanjutkan untuk menjatuhkan meja. Dan serangan injeksi SQL dapat sebenarnya sebagai ancaman karena hal ini dimana Anda dapat menghapus data seseorang, Anda dapat memilih lebih dari data dimaksudkan, Anda dapat menyisipkan atau memperbarui data. Dan Anda benar-benar bisa melihat ini pada saat latihan di rumah, bukan untuk berbahaya tujuan tapi hanya untuk pembelajaran, adalah setiap kali Anda akan diminta untuk login ke website, terutama semacam sangat umum situs non, sangat populer, coba log in sebagai John O'Reilly atau seseorang dengan apostrof di nama mereka. Atau benar-benar hanya ketik apostrof, tekan Enter, dan lihat apa yang terjadi. Dan terlalu sering, tragis, orang belum dibersihkan masukan dan memastikan bahwa hal-hal seperti kutipan atau titik koma yang melarikan diri. Itulah sebabnya di pset7 kita berikan Anda fungsi ini query. Tapi jangan di bawah menghargai persis apa yang dilakukannya untuk Anda. Jadi dengan mengatakan bahwa, menikmati menggunakan web minggu ini. Dan kita akan melihat Anda pada hari Senin. Pada CD50 berikutnya. [MUSIK]