DAVID J. MALAN: Ini adalah CS50, dan ini adalah permulaan minggu ke-10. Anda mungkin ingat bahawa kami telah menunjukkan pada skrin pencetak 3D, yang adalah peranti ini yang mengambil gulungan plastik dan kemudian extrudes dengan pemanasan dan meleleh itu supaya kita dapat itu membentuk tentera Chang dari gajah, misalnya. Jadi pada Leverett House, walaupun, baru-baru ini, saya berbual dengan salah satu daripada anda rakan-rakan dan teman Chang bernama Michelle, yang benar-benar magang di ini syarikat lain pada tahun lalu yang mempunyai teknik yang berbeza untuk benar-benar membuat objek tiga dimensi, seperti gajah ini kecil sedikit di sini. Khususnya, cara ini kerja-kerja adalah bahawa ia adalah contoh sesuatu disebut stereolithography, di mana ada lembangan ini resin atau cecair, dan kemudian laser pemogokan yang cair, dan secara beransur-ansur, peranti lif dan lif dan lif perkara yang bahawa anda mencetak, seperti gajah, sebagai cecair yang menjadi padat. Dan hasilnya, sebenarnya, adalah sesuatu yang jauh lebih kuat daripada beberapa plastik hadiah sebahagian dari kamu mungkin punya. Dan apa Chang sila lakukan bagi kita di sini adalah melakukan masa berlalu menggunakan gambar selama satu jam atau lebih, mungkin, untuk menghasilkan lelaki ini di sini. Adakah seseorang yang tidak pernah sampai kepada- suka datang melanda Start pada video ini? Biar saya pergi bersama, bagaimana pula di sana. Datang ke atas. Baik. Dan anda? Lukas Lukas nama saya [terdengar]. DAVID J. MALAN: Hi, Luke. Senang kenalan dengan anda. Lukas: Nice untuk bertemu dengan kamu. PENONTON: Dia berjalan untuk UC. DAVID J. MALAN: Saya tahu, kita cuba untuk tidak menggalakkan. Baiklah, jadi Lukas, semua anda perlu lakukan di sini di CS50 terkena bar ruang untuk mencetak gajah ini. [VIDEO MAIN SEMULA] - [MESIN berputar] - [CRASH] - [BOOM] - [CRASH] [AKHIR VIDEO MAIN SEMULA] DAVID J. MALAN: Jadi itulah apa yang ia seperti untuk mencetak 3D. Dan di sini adalah gajah anda. Terima kasih kerana sukarela. Baik. Jadi sekali lagi, setiap spesifikasi untuk projek akhir, ini perkakasan itu tersedia untuk kalian adalah, untuk beberapa alasan, projek anda mempunyai beberapa persimpangan perisian dan perkakasan, menyedari bahawa ini sekarang sumber. Saya ingin mengambil satu masa untuk menyentuh apabila sebuah artikel Crimson yang keluar lewat malam tadi, yang adalah untuk mengumumkan bahawa orang ini di sini, David Johnson, yang Sudah kanan pendidik untuk Ec 10 untuk beberapa waktu, meninggalkan Harvard pada akhir tahun akademik. Dan saya hanya ingin luangkan waktu, jujur, terima kasih kepada Daud di hadapan CS50. Dia menjadi pembimbing macam kepada kita selama ini. Dan saya merasa seperti kita, CS50, mempunyai bukan membesar dengan Ec 10 di sini, kerana mereka benar di hadapan kita. Dan dia dan seluruh pasukan dalam Ec 10 mempunyai menjadi biasa murah hati, terus terang, seperti yang kita membawa dalam semua peralatan kami masing-masing dan setiap minggu, dan tahun-tahun yang lalu, disediakan banyak peguam kerana kami ingin tahu bagaimana mereka beroperasi Ec 10. Jadi terima kasih dan kekaguman kepada Daud Johnson. [Tepuk Tangan] Sekarang, unrelatedly, jadi akhirnya memang dekat. Kami di sini pada minggu 10. Dan kami hanya mempunyai hanya beberapa minggu formal di sini di dalam kelas kiri, diikuti oleh beberapa peristiwa. Jadi untuk memberi anda rasa apa yang di kaki langit, di sini kita hari ini. Hari Rabu, ingat, kita akan mempunyai kuliah tamu oleh tidak lain daripada Microsoft sendiri Steve Ballmer. Jika anda belum lagi pergi ke cs50.harvard.edu/register, berbuat demikian, kerana ruang terhad. Dan mereka akan memeriksa ID di pintu hari ini. Jika anda tidak ada di sini minggu lepas, saya fikir saya akan mengusik anda dengan wajah yang berbeza Steve dan kegembiraan yang yang menanti kita pada hari Rabu. [VIDEO MAIN SEMULA] -Passion. -Kita Akan menjadi tegar hardcore--. -Innovator. -Bill Berkata, anda tidak mendapatkannya. Kami akan meletakkan komputer di setiap meja dan di setiap rumah, yang menjadi motto bagi syarikat itu. Aku bersumpah, Rang Undang-Undang adakannya malam itu benar-benar memberikan saya beberapa wawasan mengapa saya perlu mengatakan ya. Saya tidak pernah menoleh ke belakang, benar-benar, selepas itu. -segar Keluar dari kolej, dia bergabung dengan permulaan yang baru lahir dan membantu ia berkembang menjadi salah satu daripada Amerika kebanyakan perniagaan berjaya yang pernah. Kehidupan dan perniagaan pengajaran yang diperoleh sepanjang jalan biarkan dia kembali ke beliau semangat zaman kanak-kanak dan kasih sayang. Dan pengalaman-pengalaman itu telah disediakan dia untuk cabaran seterusnya dalam kehidupan. -Tidak Ada aral ledakan way-- kami! Menjaga tegar datang! Pergi Clippers! -Ini Adalah Steve Ballmer, "Dalam Perkataan Sendiri-Ku." [AKHIR VIDEO MAIN SEMULA] DAVID J. MALAN: --This Rabu untuk CS50. Kepala lagi untuk URL ini di sini. Adapun apa lagi yang di kaki langit, minggu depan, tidak ada kuliah pada hari Isnin. Tetapi kita akan mengikuti bahawa oleh kuiz satu pada hari Rabu. Pergi ke laman utama CS50 untuk maklumat pada orang, tempat, dan waktu untuk semua pelbagai proctoring yang logistik dan sebagainya, dan juga tentang kajian sesi yang akan datang. Kemudian, akhir sekali, pada hari Isnin, hari sebelum minggu cuti Thanksgiving, sedar ia akan menjadi kuliah terakhir kami. Kami akan melayani kuih dan yang besar perjanjian kegembiraan, kita berharap. Sekarang, beberapa kemas kini lain. Perlu diingat bahawa status laporan, yang benar-benar hanya dimaksudkan untuk menjadi interaksi kasual dengan TF anda untuk bangga menyatakan hanya seberapa jauh bersama-sama dengan anda projek akhir anda, atau sekurang-kurangnya sebagai kewarasan memeriksa bagi memastikan anda harus mendekati yang menunjukkan tidak lama selepas itu. The Hackathon kemudian mengikuti itu. Mewujudkan Hackathon bukan peluang untuk memulakan projek akhir anda, tetapi dimaksudkan untuk menjadi satu peluang berada di tengah-tengah atau ke arah akhir projek akhir anda, dengan pelaksanaan kerana beberapa hari kemudian, diikuti dengan adil CS50 ini. Sekarang, pengeluaran CS50 ini pasukan, beberapa tahun yang lalu, mengumpulkan teaser untuk adil CS50 yang kita fikir kita akan menunjukkan kepada anda hari ini, kerana mereka telah bekerja keras pada prequel untuk itu, video baru bahawa kita akan membuat kesimpulan hari ini dengan. Tetapi di sini adalah apa yang menanti anda untuk CS50 pameran tahun ini. [VIDEO MAIN SEMULA] - [CELL PHONE RINGING] [MUZIK "TEMA DARI MISI: MUSTAHIL"] [AKHIR VIDEO MAIN SEMULA] DAVID J. MALAN: Jadi itulah bagaimana kita tutup permohonan projek akhir. Beberapa sekarang teasers-- jika Anda ingin menyertai Nick sini untuk makan tengah hari, seperti biasa, ini Jumaat, menuju ke URL ini di sini. Selain itu, jika anda ingin untuk menyertai atau Nick Nick ini atau ini Allison atau mana-mana ahli pasukan CS50 ini, menyadari bahwa, tidak lama selepas akhir tempoh ini, CS50 sudah akan merekrut untuk pasukan tahun depan, untuk CA, TF, pereka, pengeluar, penyelidik, dan posisi lain bahawa di sini beroperasi CS50 baik dalam hadapan dan di belakang tabir. Jadi jika ini mungkin menarik kepada anda, kepala ke URL ini di sini. Dan pelajar lebih selesa, kurang selesa, dan di suatu tempat di antara sama-sama semua dialu-alukan dan digalakkan untuk memohon. Oleh itu, waktu yang tepat itu, tidak ada jenaka, pagi ini, apabila saya bangun, Saya mempunyai ini di sini spam dalam email saya. Ia benar-benar tergelincir melalui penapis spam Gmail entah bagaimana dan berakhir di peti masuk sebenar saya. Dan ia berkata, "peti mel yang dihormati pengguna, anda saat ini upgrade ke 4 gigabait ruang. Sila log masuk ke akaun anda bagi mengesahkan E-ruang. " Dan kemudian ada biru ini bagus link menarik di sana untuk klik pada untuk fakulti dan pekerja, yang kemudiannya membawa saya ke halaman yang hebat yang sah, yang meminta saya untuk memberikan mereka nama saya dan alamat e-mel dan, sudah tentu, kata laluan untuk mengesahkan siapa saya dan lain-lain. Tapi tentu saja, seperti yang selalu terjadi, Anda tiba di halaman arahan ini, dan tentu saja, ada sekurang-kurangnya satu kesilapan menaip, yang seolah-olah menjadi kuku dalam keranda mana-mana penipuan ini. Dan kami akan posting, mungkin, beberapa yang lain link ke beberapa jenis screen shot pada masa akan datang. Tapi mudah-mudahan, kebanyakan orang di bilik ini belum clicked-- atau bahkan jika anda klik link seperti ini, Anda belum pergi setakat untuk mengisi borang dan sebagainya. Malah, tidak apa-apa jika anda mempunyai. Kami akan cuba untuk menetapkan bahawa hari ini, kerana, memang, perbualan hari ini adalah tentang keselamatan. Dan memang, salah satu daripada matlamat CS50 bukan begitu banyak untuk mengajar anda CE atau PHP atau JavaScript atau SQL atau mana-mana yang mendasari rincian pelaksanaan. Tapi itu untuk memberi kuasa kepada anda sebagai manusia untuk hanya membuat keputusan yang lebih bijak kerana ia berkaitan dengan teknologi ke bawah jalan supaya, sama ada anda seorang jurutera atau humanis atau ahli sains atau mana-mana peranan yang lain, Anda membuat keputusan yang tepat mengenai penggunaan komputer anda sendiri, atau jika anda berada dalam membuat keputusan kedudukan, dalam politik, khususnya, Anda membuat banyak, keputusan jauh lebih baik daripada banyak manusia hari ini telah. Dan kami akan melakukan ini dengan cara beberapa contoh. Pertama, saya agak terkejut baru-baru ini untuk menemukan yang berikut. Jadi kata laluan, sudah tentu, adalah apa yang kebanyakan kita gunakan untuk melindungi e-mel data-- kami, chat, dan semua jenis sumber daya seperti itu. Dan hanya dengan sebuah awkward-- tidak menunjukkan dari tangan, tetapi kelihatan malu malu, berapa ramai daripada anda menggunakan kata laluan yang sama dalam banyak laman web yang berbeza? Oh, OK, jadi kita akan melakukan perkara yang tangan. OK, sehingga banyak yang anda lakukan. Sesiapa yang berbuat demikian, kenapa? Dan apa? Ya? PENONTON: Sangat mudah untuk diingati, kerana Anda tidak perlu ingat [terdengar]. DAVID J. MALAN: Ya, ia mudah untuk diingati. Ini adalah sangat masuk akal, tingkah laku yang rasional, walaupun risiko anda meletakkan diri anda di dalam kes-kes ini adalah hanya satu atau lebih daripada laman-laman web adalah terdedah kepada hacking atau untuk tidak selamat atau kata laluan anda hanya begitu darn diterka, sesiapa sahaja boleh memahaminya. Tidak hanya satu akaun terjejas, tetapi secara teori, mana-mana akaun anda mempunyai di internet. Jadi saya tahu saya mungkin berkata hari ini, tidak menggunakan kata laluan yang sama di mana-mana, tetapi itu jauh lebih mudah berkata daripada dilakukan. Tetapi ada teknik untuk mengurangkan kebimbangan tersebut. Sekarang, saya berlaku, misalnya, untuk menggunakan program yang dipanggil 1Password. Satu lagi popular dipanggil LastPass. Dan sekumpulan CS50 staf menggunakan satu atau lebih dari jenis-jenis alat-alat. Dan cerita panjang pendek, satu takeaway untuk hari ini seharusnya, ya, anda mungkin mempunyai kata laluan yang sama di mana-mana, tetapi ia sangat mudah untuk tidak lagi melakukan itu. Sebagai contoh, hari ini, saya tahu mungkin salah satu daripada berpuluh-puluh atau beratus-ratus saya kata laluan. Semua password saya yang lain adalah pseudo-rawak yang dihasilkan oleh salah satu program di sini. Dan secara ringkas, dan juga tetapi kebanyakan program-program ini cenderung datang dengan sedikit kos, anda akan memasang program seperti ini, Anda kemudian akan menyimpan semua nama pengguna dan kata laluan anda bahagian dalam program ini di Mac atau PC atau barang kecil anda sendiri, dan kemudian ia akan menjadi disulitkan pada komputer anda dengan apa yang mudah-mudahan kata laluan sangat panjang. Jadi saya mempunyai sejumlah besar kata laluan untuk laman web individu, dan kemudian saya telah benar-benar kata laluan panjang yang saya gunakan untuk membuka semua mereka kata laluan yang lain. Dan apa yang baik tentang perisian seperti ini adalah itu, apabila anda melawat sebuah laman web itu meminta nama pengguna dan kata laluan anda, hari ini, saya tidak menaip nama pengguna dan kata laluan, kerana, sekali lagi, saya tidak tahu apa yang kebanyakan kata laluan saya. Saya bukan memukul papan kekunci jalan pintas, yang hasilnya adalah untuk mencetuskan perisian ini untuk meminta saya untuk password tuanku. Saya kemudian jenis yang satu besar kata laluan, dan kemudian browser automatik mengisi apa kata laluan saya. Jadi benar-benar, jika anda mengambil apa-apa lagi dari hari ini dari segi kata laluan, ini adalah perisian yang bernilai memuat turun atau melabur dalam sehingga bahawa anda boleh sekurang-kurangnya rehat kebiasaan tertentu. Dan jika anda jenis yang menggunakan Post-It atau like-- dan kemungkinan besar sekurang-kurangnya salah seorang dari kamu is-- kebiasaan itu juga, cukup untuk mengatakan, harus patah. Sekarang, saya telah menemui, hasilnya menggunakan perisian, yang berikut. Saya memesan Suatu Perjanjian Goreng, bakul buah-buahan ini, baru-baru ini. Dan aku memukul papan kekunci khas saya jalan pintas untuk log masuk ke laman web. Dan perisian yang mencetuskan pop-up yang berkata, adakah anda pasti anda mahu saya untuk secara automatik dan isikan kata nama dan kata laluan ini? Oleh kerana sambungan adalah tidak selamat. Sambungan tidak menggunakan HTTPS, untuk selamat, menggunakan protokol yang dikenali sebagai SSL, Secure Socket Layer. Dan sesungguhnya, jika anda melihat penggunaan di sebelah kiri laman web ini, ia hanya www.ediblearrangements.com, tidak HTTPS, yang tidak begitu baik. Sekarang, saya curious-- mungkin ini hanya bug dalam perisian. Sesungguhnya, laman web beberapa seperti ini yang banyak kita tahu adalah sekurang-kurangnya menggunakan penyulitan atau HTTPS URL untuk memasukkan anda. Jadi saya mendapat sedikit ingin tahu pagi ini. Dan aku keluar kemahiran CS50 saya, Saya membuka Chrome Inspektor. Ia bukan malah lebih dari kemahiran. Ia hanya tekan papan kekunci yang betul pintas untuk membuka hal ini. Dan inilah jendela besar daripada Inspektor Chrome. Tetapi apa yang sebenarnya adalah sedikit tragis dan tidak masuk akal adalah dua baris di sini. Di paling atas, perhatikan URL untuk yang nama pengguna dan kata laluan saya telah dikemukakan. Biar saya mengezum masuk. Ia adalah di sini. Dan semua itu adalah semacam tidak menarik, kecuali perkara yang semua jalan di sebelah kiri, yang bermula dengan http: //. Dan sehingga itu, OK, mungkin mereka hanya menghantar nama pengguna saya, yang bukan masalah besar. Mungkin kata laluan saya akan dihantar kemudian. Itu akan menjadi satu jenis keputusan reka bentuk yang menarik. Tapi ndak. Jika anda kemudian melihat permintaan muatan, nama pengguna dan kata laluan Saya sent-- dan saya mengejek ini untuk slide-- yang telah dihantar di jelas. Oleh itu, anda pergi ke laman web ini khususnya dan memerintahkan Suatu Perjanjian yang boleh dimakan seperti ini, dan sesungguhnya, nampaknya, untuk semua ini masa saya telah memesan dari mereka, nama pengguna dan kata laluan anda akan di dalam jelas. Begitu jujur, ini adalah benar-benar tidak boleh diterima. Dan ia begitu kecil bagi mengelakkan perkara-perkara seperti ini sebagai perancang laman web dan sebagai programmer dari sebuah laman web. Tetapi takeaway di sini untuk kita sebagai pengguna laman web adalah semata-mata untuk menghargai bahawa semua ia mengambil adalah untuk satu reka bentuk bodoh keputusan, keputusan reka bentuk yang tidak dapat dibenarkan, sehingga sekarang, jika anda tahu kata laluan saya "Lembayung" mengenai perkara ini laman web, anda mungkin pernah hanya masuk ke sejumlah besar laman-laman web lain yang saya kini mempunyai. Dan tidak banyak daripada suatu pembelaan terhadap yang selain daripada apa yang Chang lakukan pagi ini. Dia pergi ke Perkiraan yang boleh dimakan, yang terletak di jalan di Cambridge, dan fizikal telah membeli ini untuk kita. Yang jauh lebih selamat daripada menggunakan laman web ini dalam kes ini. Tetapi terperinci untuk mengawasi keluar untuk sebenarnya apa yang ada di bahagian atas pelayar menaiki ada. Tetapi bahkan yang boleh sedikit menipu. Jadi lain yang menarik contoh dan cara untuk mempertahankan terhadap this-- dan benar-benar, mari kita melakukan itu first-- jalan mempertahankan terhadap hal ini adalah teknik yang bahawa orang-orang akan keselamatan memanggil pengesahan dua faktor. Apakah ada yang tahu apa penyelesaian untuk masalah seperti ini bermakna? Apa yang pengesahan dua faktor? Atau dengan kata lain, bagaimana ramai daripada anda menggunakannya? OK, jadi beberapa orang pemalu. Tapi ya. Saya melihat tangan anda naik. Apa yang pengesahan dua faktor? PENONTON: Pada dasarnya, selain untuk menaip kata laluan anda, anda juga mempunyai menengah [terdengar] dihantar melalui mesej teks ke telefon anda di [terdengar]. DAVID J. MALAN: Tepat sekali. Selain beberapa bentuk utama pengesahan, seperti kata laluan, Anda diminta untuk menengah faktor, yang biasanya sesuatu yang anda mempunyai fizikal kepada anda, walaupun ia boleh menjadi sesuatu yang lain sama sekali. Dan perkara yang biasanya telefon bimbit hari ini yang kamu dapatkan menghantar mesej teks sementara yang mengatakan "Kod pas sementara anda adalah 12345." Jadi selain saya kata laluan "merah," Saya juga perlu menaip apa sahaja laman web ini telah menghantar sms saya. Atau jika anda mempunyai ini dengan bank atau akaun pelaburan, Anda kadang-kadang ini dongle kecil yang sebenarnya mempunyai pseudo-rawak penjana nombor yang dibina ke dalam mereka, tetapi kedua-dua peranti ini dan bank tahu apa benih awal anda adalah supaya mereka tahu, walaupun sebagai kod kecil di fob kunci kecil anda berbaris di depan setiap minit atau dua, mengubah nilai-nilai, begitu juga bahawa perubahan nilai pada pelayan bank supaya mereka juga boleh mengesahkan anda, tidak hanya dengan kata laluan anda, tapi dengan kod sementara. Sekarang, anda sebenarnya boleh melakukan ini dalam Google. Dan terus terang, ini adalah kebiasaan yang baik untuk masuk ke dalam, terutamanya jika anda menggunakan Gmail sepanjang waktu pada browser. Jika anda pergi ke URL ini di sini, yang dalam slaid dalam talian untuk hari ini, dan kemudian klik pada Pengesahan 2 langkah, hal yang sebenarnya sama di sana. Anda akan diminta untuk memberikan mereka nombor telefon bimbit anda. Dan kemudian, bila-bila masa anda log masuk ke dalam Gmail, anda akan bukan sahaja diminta kata laluan anda, tetapi juga untuk kod kecil yang akan dihantar ke telefon anda buat sementara waktu. Dan selagi anda telah cookies diaktifkan, dan selagi anda tidak jelas log out, anda hanya akan mempunyai untuk melakukan itu sekali-sekali, seperti ketika anda duduk pada komputer baru. Dan terbalik di sini, juga, adalah, jika anda duduk di beberapa internet kafe gaya komputer atau hanya komputer teman, bahkan jika rakan yang niat jahat atau tidak mempunyai beberapa keyboard Logger dipasang pada komputer masing-masing, seperti yang semua yang anda Jenis sedang login, sekurang-kurangnya bahawa faktor kedua, yang kod sementara, adalah tidak kekal. Jadi dia atau siapa pun yang dikompromi komputer tidak boleh log masuk ke dalam diri Anda seterusnya walaupun segala-galanya terdedah atau tak disulitkan sama sekali. Facebook mempunyai ini juga, dengan URL itu di sini, di mana anda boleh klik pada Login Kelulusan. Jadi di sini, juga, jika anda tidak ingin teman-teman untuk menyodok orang, Anda tidak mahu menusuk di Facebook atau menghantar kemas kini status untuk anda, pengesahan dua faktor di sini mungkin satu perkara yang baik. Dan kemudian ada ini teknik lain sama sekali, hanya audit yang mana adalah lebih satu perkara yang baik untuk kita manusia, jika dua faktor membuktikan menjengkelkan, yang, diakui, ia boleh, atau ia hanya tidak boleh didapati di beberapa laman web, minimal mengawasi jika dan apabila Anda sedang log masuk ke laman web, jika mereka membolehkan anda, adalah teknik yang baik, juga. Jadi Facebook juga memberikan anda ini pemberitahuan login menampilkan, di mana bila-bila masa Facebook menyadari, hm, David mempunyai login dari beberapa komputer atau telefon yang tidak pernah kita lihat sebelum daripada alamat IP yang kelihatan asing, mereka sekurang-kurangnya akan mengirimkan e-mel ke alamat e-mel apa sahaja Anda yang kami catat dengan berkata, adakah ini kelihatan mencurigakan? Jika demikian, tukar kata laluan anda dengan segera. Dan jadi, juga, hanya perilaku audit walaupun selepas anda telah terganggu, dapat sekurang-kurangnya merapatkan tetingkap semasa mana anda terdedah. Baiklah, apa-apa soalan pada hal-hal yang selama ini? Hari ini adalah hari untuk mendapatkan semua paranoia anda disahkan atau dinafikan. Yang kebanyakannya disahkan, sedih. Ya? PENONTON: [didengar] telefon, bagaimana jika istirahat telefon anda, dan kemudian ia sentiasa sukar untuk verify-- DAVID J. MALAN: Benar. PENONTON: Atau jika anda berada dalam berbeza negara, dan mereka tidak membiarkan anda login kerana [terdengar]. DAVID J. MALAN: Tentu saja. Dan jadi ini adalah tambahan kos yang anda keluarkan. Selalu ada tema ini dari-keseimbangan, selepas semua. Dan kemudian, jika anda kehilangan telefon anda, jika ia pecah, jika anda berada di luar negara, atau anda hanya tidak mempunyai isyarat, seperti isyarat 3G atau LTE, Anda mungkin tidak benar-benar dapat mengesahkan. Jadi sekali lagi, kedua-dua trade-off. Dan kadang-kadang, ia boleh membuat banyak kerja untuk anda sebagai hasilnya. Tetapi ia benar-benar bergantung, maka, pada apa harga dijangka anda adalah dari perkara kebajikan dikompromi sama sekali. Jadi SSL, maka, adalah teknik ini yang kita semua umumnya mengambil begitu saja atau mengambil alih di sana, walaupun itu jelas tidak kes itu. Dan anda masih boleh menyesatkan orang, walaupun, walaupun dengan ini. Jadi, inilah satu contoh dari sebuah bank. Ini adalah Bank of America. Ada sejumlah besar ini di Harvard Square dan seterusnya. Dan perhatian bahawa, di bahagian paling atas skrin, ada, memang, HTTPS. Dan ia lebih hijau dan menekankan untuk kita untuk menunjukkan bahawa ini memang laman web yang sah selamat, atau jadi kami telah dilatih untuk percaya. Sekarang, selain dari itu, walaupun, perhatian bahawa, jika kita memperbesar, ada perkara ini di sini, di mana Anda akan diminta untuk log masuk. Apa mangga ini bermakna hak sana, di sebelah nama pengguna saya meminta? Ini sangat umum di laman web juga. Apa mangga ini? Anda kelihatan seperti yang anda tahu. PENONTON: Ia tidak bermakna apa-apa. DAVID J. MALAN: Ini tidak bermakna apa-apa. Ini bermakna bahawa Bank of America tahu bagaimana untuk menulis HTML dengan tag gambar, kan? Ia benar-benar bermaksud apa-apa, kerana walaupun kita, dengan menggunakan hari pertama kami melihat di HTML, dapat kode halaman dengan latar belakang merah dan imej, seperti GIF atau entah apa lagi, yang berlaku untuk kelihatan seperti gembok. Namun, ini adalah super umum di laman web, kerana kita telah dilatih untuk mengambil alih itu, oh, mangga berarti selamat, apabila ia benar-benar hanya bermakna anda tahu HTML. Sebagai contoh, kembali pada hari, saya boleh baru sahaja meletakkan ini di laman web saya, mendakwa ia selamat, dan bertanya, berkesan, untuk nama pengguna dan kata laluan rakyat. Jadi melihat di URL adalah sekurang-kurangnya petunjuk yang lebih baik, kerana yang dibangun ke Chrome atau apa sahaja pelayar. Tetapi walaupun begitu, kadang-kadang kesilapan boleh berlaku. Dan sebenarnya, anda mungkin tidak selalu melihat HTTPS, apa lagi dalam hijau. Apakah ada di antara anda pernah melihat skrin seperti di bawah? Anda mungkin mempunyai, sebenarnya, lebih awal pada bulan Oktober, apabila saya terlupa untuk membayar untuk kami Sijil SSL, kerana ia dipanggil, dan kami sedang mencari seperti ini untuk satu atau dua jam. Jadi anda mungkin pernah melihat hal-hal seperti ini, dengan mogok-melalui, seperti garis merah, melalui protokol dalam URL atau beberapa jenis layar yang sekurang-kurangnya menegur anda kerana cuba melangkah lebih jauh. Dan Google di sini mempelawa anda untuk kembali ke keselamatan. Sekarang, dalam hal ini, ini hanya bererti bahawa Sijil SSL yang kita gunakan, besar, nombor matematik yang berguna yang berkaitan dengan pelayan CS50 ini, tidak lagi sah. Dan sebenarnya, kita dapat mensimulasikan ini, yang anda boleh pada komputer riba anda. Jika saya pergi ke Chrome sini, dan mari kita pergi ke facebook.com, dan ia kelihatan seperti ini adalah selamat. Tetapi saya pergi ke depan dan kini klik pada gembok di sini. Dan membiarkan aku pergi ke sambungan, Maklumat Sijil. Dan demi sesungguhnya, apa yang akan Anda lihat di sini adalah sekumpulan butiran-tingkat yang lebih rendah kira-kira facebook.com yang sebenarnya. Ia seolah-olah bahawa mereka telah membayar wang untuk syarikat yang dipanggil mungkin DigiCert Tinggi Jaminan yang telah dijanjikan untuk memberitahu seluruh dunia bahawa, jika pelayar yang pernah melihat yang certificate-- anda boleh berfikir itu secara harfiah sebagai suatu perakuan bahawa kelihatan seperti bahawa perkara cheesy di bahagian atas left-- kemudian facebook.com yang mereka katakan mereka, kerana selama ini, apabila anda melawat laman web, seperti cs50.harvard.edu atau facebook.com atau gmail.com yang menggunakan HTTPS URL, di belakang tabir, ada semacam ini transaksi berlaku secara automatik untuk anda, di mana facebook.com, dalam hal ini, menghantar ke browser anda yang apa yang dipanggil sijil SSL, atau lebih tepat, kunci awam, dan kemudian pelayar anda menggunakan kunci tersebut untuk kemudian menghantar dienkripsi lalu lintas ke dan dari itu. Tetapi ada hirarki ini seluruh dalam dunia perusahaan bahawa anda membayar wang kepada yang akan kemudian memberi keterangan, dalam erti kata yang digital, bahawa anda memang facebook.com atau pelayan anda memang cs50.harvard.edu. Dan dibina ke dalam browser, seperti Chrome dan IE dan Firefox, adalah senarai semua orang-orang apa yang dipanggil pihak berkuasa sijil yang diberi kuasa oleh Microsoft dan Google dan Mozilla untuk mengesahkan atau menafikan bahawa facebook.com adalah yang dikatakannya itu. Tetapi tangkapan ialah perkara-perkara ini yang berakhir. Bahkan, Facebook kelihatan seperti tamat tempoh Oktober mendatang, pada tahun 2015. Oleh itu, kita benar-benar dapat mensimulasikan ini jika saya masuk Mac saya ke System Preferences saya, dan saya pergi ke Tarikh dan Masa, dan Saya masuk ke Tarikh dan Masa sini, dan saya membuka kunci di sini-ini bersyukur, kami tidak mendedahkan kata laluan time-- ini dan sekarang saya turun ke jangan tanda ini. Dan mari kita actually-- oops, itu tidak menarik seperti melakukan hal ini. Kita benar-benar pada masa akan datang sekarang, yang bermakna ini adalah apa yang 2020 adalah seperti. Jika saya kini menambah nilai page-- yang mari kita lakukan di Ingognito mode-- jika saya kembali halaman tersebut, ada kita pergi. Jadi sekarang, komputer saya fikirkan itu tahun 2020, tetapi pelayar saya tahu bahawa sijil ini daripada Facebook berakhir, sudah tentu, pada tahun 2015. Jadi ia memberi saya mesej ini merah. Sekarang, bersyukur, browser seperti Chrome mempunyai sebenarnya membuatnya cukup sukar untuk meneruskan tetap. Mereka memang mahu saya untuk kembali ke tempat yang aman. Jika saya klik di sini, Advance, itu akan memberitahu saya beberapa maklumat lanjut. Dan jika saya benar-benar mahu untuk melanjutkan, mereka akan membiarkan saya pergi ke facebook.com, yang, lagi, tidak selamat, di mana titik Saya akan melihat laman utama Facebook, seperti ini. Tetapi hal-hal lain maka seolah-olah menjadi pecah. Apa yang mungkin pecah pada ketika ini? PENONTON: JavaScript. DAVID J. MALAN: Seperti JavaScripts dan / atau CSS fail adalah sama menghadapi kesalahan itu. Jadi ini hanya keadaan yang tidak baik secara keseluruhan. Tapi yang penting di sini adalah yang paling kurang Facebook memang memiliki SSL diaktifkan untuk server mereka, kerana banyak laman web, dilakukan, tetapi belum tentu semua. Tetapi itu bukan sahaja takeaway di sini. Ternyata bahawa walaupun SSL telah ditunjukkan tidak aman dalam beberapa cara. Jadi, saya semacam mengisyaratkan SSL itu, baik. Carilah HTTPS URL, dan hidup ini baik, kerana semua lalu lintas HTTP dan header dan kandungan disulitkan. Tiada siapa yang boleh memintas ia dalam pertengahan, kecuali seorang lelaki yang dipanggil di tengah-tengah. Ini adalah teknik yang umum dalam dunia keselamatan yang diketahui sebagai serangan man-in-the-tengah. Katakan bahawa anda ini sedikit komputer riba di sini di sebelah kiri, dan anggaplah anda cuba untuk melawat pelayan di sana di sebelah kanan, seperti facebook.com. Tetapi kira bahawa, pada antara anda dan Facebook, adalah sejumlah besar pelayan lain dan peralatan, seperti suis dan router, Pelayan DNS, pelayan DHCP, tidak ada yang kami kendalikan. Ia mungkin dikawal oleh Starbucks atau Harvard atau Comcast atau sejenisnya. Nah, katakan bahawa seseorang dengan niat jahat, pada rangkaian anda, di antara anda dan Facebook, mampu memberitahu anda itu, anda tahu apa, alamat IP Facebook bukan apa yang anda fikir ia. Ini IP ini sebagai gantinya. Dan sehingga browser anda Ini tertipu untuk meminta lalu lintas dari yang lain komputer sama sekali. Nah, kira komputer yang hanya melihat semua lalu lintas yang anda meminta dari Facebook dan semua halaman web bahawa anda meminta dari Facebook. Dan bila-bila masa yang ia lihat dalam trafik anda URL yang bermula dengan HTTPS, secara dinamis, di terbang, menulisnya semula HTTP. Dan bila-bila masa ia melihat lokasi header, lokasi usus besar, seperti yang kita gunakan untuk mengarahkan pengguna, mereka juga boleh diubah oleh orang ini dalam tengah daripada HTTPS untuk HTTP. Jadi, walaupun anda sendiri mungkin pikir anda di Facebook yang sebenar, ia tidak begitu sukar untuk Musuh dengan akses fizikal untuk rangkaian anda untuk hanya kembali halaman tersebut kepada anda yang kelihatan seperti Gmail, bahawa kelihatan seperti Facebook, dan memang URL tersebut sama, kerana mereka berpura-pura untuk memiliki nama host yang sama kerana beberapa eksploitasi DNS atau sistem lain seperti itu. Dan hasilnya, kemudian, adalah bahwa kita manusia mungkin hanya menyedari bahawa, OK, ini kelihatan seperti Gmail atau sekurang-kurangnya versi yang lebih tua, seperti slaid ini dari persembahan yang lebih tua. Tetapi ia kelihatan seperti this-- http://www.google.com. Jadi di sini, juga, realiti ialah bagaimana ramai daripada anda, apabila anda pergi ke Facebook atau Gmail atau mana-mana laman web dan anda tahu sesuatu yang sedikit tentang SSL, berapa banyak dari anda secara fizikal menaip https: // dan kemudian laman web nama, Enter. Kebanyakan kita hanya perlu menaip, seperti, CS50, tekan Enter, atau F-A untuk Facebook dan tekan Enter, dan biarkan ia auto-lengkap. Namun di balik tabir, jika Anda menonton trafik HTTP anda, ada mungkin adalah sejumlah dari mereka header lokasi yang menghantar anda dari Facebook untuk www.facebook.com untuk https://www.facebook.com. Jadi itu satu atau lebih transaksi HTTP di mana maklumat anda benar-benar dihantar dalam yang jelas, tidak ada penyulitan sekalipun. Sekarang, yang mungkin tidak seperti yang besar berurusan jika semua yang anda cuba lakukan adalah mengakses laman web, anda tidak menghantar nama pengguna dan kata laluan anda. Tapi apa yang terjadi di bawah hud, terutama untuk laman web berasaskan PHP-itu juga dihantar bolak-balik ketika anda melawat beberapa laman web jika yang menggunakan laman web, berkata, PHP dan melaksanakan fungsi seperti pset7? Apa yang dihantar bolak-balik dalam HTTP header anda yang memberi anda akses kepada ini cukup berguna super global dalam PHP? PENONTON: Cookies. DAVID J. MALAN: Cookies, khususnya PHP sess ID kuki. Jadi ingat, jika kita pergi ke, katakanlah, cs50.harvard.edu lagi, tapi kali ini, mari kita membuka Tab Network, dan sekarang, di sini, mari kita benar-benar hanya pergi untuk http://cs50.harvard.edu dan kemudian tekan Enter. Dan kemudian melihat layar ke bawah di sini. Perhatikan bahawa kita memang mendapat kembali 301 dipindahkan secara kekal mesej, yang bermaksud bahawa ada header lokasi di sini, yang kini mengarahkan saya untuk HTTPS. Tetapi tangkapan itu ialah, jika saya sudah mempunyai kuki cap ke tangan saya hampir, seperti yang kita telah dibincangkan sebelum ini, dan Saya jenis manusia tidak sedar hanya melawat tidak selamat versi, dan browser saya mengambil ia kepada dirinya sendiri untuk menunjukkan bahawa cap tangan untuk permintaan yang pertama, iaitu melalui HTTP, mana-mana lelaki di tengah-tengah, mana-mana musuh di tengah-tengah, secara teori boleh hanya melihat mereka header HTTP, hanya seperti cari kami di di sini. Ia hanya setelah anda bercakap dengan HTTPS sebuah URL adakah itu tangan setem sendiri mendapatkan disulitkan, ala Caesar atau Vigenere, tetapi dengan algoritma yang lebih menarik sama sekali. Jadi di sini, juga, walaupun laman web menggunakan HTTPS, kita manusia telah dingin, terima kasih kepada teknik auto-lengkap dan lain-lain, untuk tidak berfikir tentang implikasi yang berpotensi. Kini, ada cara untuk melakukannya. Sebagai contoh, banyak laman web boleh dikonfigurasi supaya, apabila anda mempunyai tangan ini setem, anda boleh memberitahu browser, cap tangan ini hanya untuk sambungan SSL. Penyemak imbas tidak harus hadir kepada saya kecuali jika melalui SSL. Tetapi banyak laman web tidak mengganggu dengan itu. Dan banyak laman web rupanya tidak repot-repot dengan SSL sama sekali. Jadi untuk lebih lanjut tentang itu, ada benar-benar bahkan lebih banyak kotoran pada persembahan ini bahawa rakan-rakan yang telah memberikan pada apa yang dipanggil hitam persidangan topi beberapa tahun yang lalu, di mana ada bahkan lain helah berniat jahat orang telah menggunakan. Anda mungkin ingat ini tanggapan favicon, yang adalah seperti logo kecil itu sering dalam tetingkap browser. Nah, apa yang telah biasa di kalangan orang-orang jahat adalah supaya lambang fab yang kelihatan seperti apa? PENONTON: [didengar]. DAVID J. MALAN: Katakanlah lagi? PENONTON: Laman-laman web. DAVID J. MALAN: Tidak laman web. Jadi favicon, ikon kecil kecil. Apa yang akan menjadi yang paling berbahaya, perkara manipulatif anda boleh membuat laman web anda ikon lalai kelihatan seperti? PENONTON: Kunci hijau. DAVID J. MALAN: Apa itu? PENONTON: Kunci hijau kecil. DAVID J. MALAN: Seperti kunci hijau, betul-betul. Jadi, anda boleh mempunyai ini estetik dari mangga hijau kecil, mengisyaratkan kepada dunia, oh, kami tidak menjamin, apabila, sekali lagi, semua itu berarti adalah bahawa anda mengetahui HTML. Jadi pembajakan merujuk kepada hal itu. Jika anda mempunyai seseorang yang semacam menghidu gelombang udara di dalam bilik ini di sini atau mempunyai akses fizikal kepada seseorang rangkaian dan dapat melihat kuki anda, dia boleh ambil bahwa PHP sess ID kuki. Kemudian, jika mereka cukup cerdas untuk tahu bagaimana untuk menghantar cookie mereka sendiri cap tangan hanya dengan cara mengikuti nilai yang dan menghantar HTTP header, seseorang yang sangat bisa dengan mudah log masuk ke mana-mana Facebook akaun atau akaun Gmail atau akaun Twitter yang ada di sini, terbuka di dalam bilik, jika anda tidak menggunakan SSL dan jika website ini tidak menggunakan SSL betul. Jadi mari kita peralihan kepada satu sama lain. Jadi satu lagi kisah benar. Dan ini baru saja putus di berita satu atau dua minggu yang lalu. Verizon telah melakukan satu perkara yang sangat jahat, dan sebagai orang terbaik tahu, sejak sekurang-kurangnya 2012, di mana, apabila anda mengakses laman web melalui Verizon telefon bimbit, apa pun pengilang itu, mereka telah dengan sengaja, seperti cerita pergi, suntikan ke dalam semua HTTP trafik HTTP header sendiri. Dan itu kelihatan kepala seperti this-- X-UIDH. UID adalah seperti yang unik pengecam atau ID pengguna. Dan X hanya bermakna ini adalah adat header itu bukan standard. Tetapi apa yang ini bermakna adalah bahawa, jika saya menarik, contohnya, mana-mana laman web di sini-telefon bimbit saya dan aku menggunakan Verizon sebagai carrier-- saya walaupun browser saya mungkin tidak menghantar ini HTTP header, Verizon, segera sebagai sinyal mencapai mereka menara telefon di suatu tempat, telah selama beberapa waktu ini menyuntik header ke dalam semua trafik HTTP kami. Mengapa mereka melakukan hal ini? Mungkin atas sebab-sebab pengesanan, atas sebab-sebab pengiklanan. Tetapi keputusan reka bentuk Pandir di sini ialah HTTP header, kerana kalian tahu dari pset6, diterima oleh mana-mana pelayan web bahawa anda meminta lalu lintas. Jadi selama ini, jika Anda telah melawat Facebook atau Gmail atau mana-mana laman web yang tidak menggunakan SSL semua time-- yang dan benar-benar, orang-orang dua untungnya sekarang do-- tetapi laman web lain yang tidak menggunakan SSL sepanjang masa, Verizon mempunyai dasarnya telah menanam, secara paksa, suatu cap tangan pada semua kami tangan yang walaupun kita tidak melihat, tetapi sebaliknya, laman akhir lakukan. Dan jadi ia telah tidak kerana sukar untuk sesiapa sahaja di internet yang menjalankan pelayan web untuk sedar, aduh, ini adalah Daud, atau, aduh, ini adalah Davin, walaupun kami ketat tentang membersihkan cookie kami, kerana ia bukan berasal dari kami. Ia datang dari pengangkut. Mereka melakukan pencarian di nombor telefon anda dan kemudian berkata, oh, ini adalah Daud. Biar saya menyuntik pengecam unik sehingga yang pengiklan atau siapa pun boleh menangani hal ini. Jadi ini sebenarnya sangat, sangat, sangat buruk dan menakutkan. Dan saya akan menggalakkan anda untuk melihat, misalnya, di URL ini, yang saya harus menolak Saya sebenarnya cuba ini pagi ini. Saya menulis skrip sedikit, letakkan di URL ini, melawat dengan Verizon saya sendiri HandPhone setelah mengaktifkan Wi-Fi off. Jadi, anda perlu mengaktifkan Wi-Fi di luar supaya anda menggunakan 3G atau LTE atau sejenisnya. Dan kemudian, jika anda melawat URL ini, semua script ini lakukan untuk kalian, jika Anda akan suka untuk bermain, ia meludah keluar apa HTTP header telefon anda menghantar ke server kami. Dan saya benar-benar, dalam keadilan, melakukan tidak melihat ini pagi ini, yang membuat saya berfikir sama ada tempatan menara telefon bimbit saya berhubung dengan atau entah apa lagi tidak melakukannya, atau mereka telah mundur untuk melakukan hal ini sementara. Tapi untuk maklumat lanjut, untuk menuju ke URL ini di sini. Dan sekarang untuk this-- ini komik mungkin masuk akal. Tidak? OK. Baik. Yang mati. Baik. Jadi mari kita lihat beberapa lebih serangan, jika hanya untuk meningkatkan kesedaran dan kemudian menawarkan pasangan penyelesaian yang berpotensi supaya anda semua lebih berhati-hati. Yang ini kita bercakap tentang yang lain hari, tetapi tidak memberikan nama kepadanya. Ia adalah satu pemalsuan permintaan cross-site, yang adalah cara yang terlalu mewah untuk mengatakan Anda menipu pengguna untuk mengklik URL seperti ini, yang helah mereka ke dalam beberapa tingkah laku yang mereka tidak berniat. Dalam hal ini, ini seolah-olah yang akan cuba untuk menipu saya untuk menjual saham saya dari Google. Dan ini akan berjaya jika Saya, programmer dari pset7, tidak melakukan apa? Atau lebih tepat, lebih umum, dalam apa kes saya terdedah kepada serangan jika seseorang helah pengguna lain untuk mengklik URL seperti ini? Ya? PENONTON: Anda tidak membezakan antara GET dan POST. DAVID J. MALAN: Baik. Jika kita tidak membezakan antara GET dan POST, dan memang, jika kita membiarkan DAPATKAN untuk menjual barang-barang, kami mengundang serangan semacam ini. Tapi kita masih boleh mengurangkan agak. Dan saya berkata, saya fikir, minggu lepas bahawa Amazon sekurang-kurangnya cuba untuk mengurangkan ini dengan teknik yang itu cukup mudah. Apa yang akan hal yang cerdas berbuat berada di pelayan anda, bukan hanya membabi buta menjual apa sahaja simbol jenis pengguna dalam? PENONTON: Pengesahan macam? DAVID J. MALAN: Skrin pengesahan, sesuatu yang melibatkan interaksi manusia sehingga saya terpaksa membuat panggilan penghakiman, walaupun saya telah naif klik pautan yang kelihatan seperti ini dan membawa saya ke skrin sel, di kurangnya meminta saya untuk mengesahkan atau menafikan. Tetapi bukan serangan yang luar biasa, terutama dalam apa yang dikenali sebagai phishing atau spam seperti serangan. Sekarang, yang satu ini sedikit lebih halus. Ini adalah serangan cross-site scripting. Dan ini berlaku jika anda laman web tidak menggunakan setara dengan htmlspecialchars. Dan ia mengambil input pengguna dan hanya membabi buta menyuntiknya ke dalam halaman web, sebagai dengan cap atau gema, with-- again-- keluar memanggil sesuatu seperti htmlspecialchars. Jadi misalkan laman web dalam soalan adalah vulnerable.com. Dan anggaplah ia menerima parameter yang disebut q. Lihatlah apa yang mungkin berlaku jika saya benar-benar, lelaki yang tidak baik, menaip atau menipu pengguna ke dalam melawat URL yang kelihatan seperti this-- q = skrip tag terbuka, tertutup skrip tag. Dan sekali lagi, saya menduga vulnerable.com yang tidak akan berubah berbahaya karakter seperti kurungan terbuka menjadi entiti HTML, ampersand, L-T, perkara titik koma yang mungkin anda lihat sebelum ini. Tetapi apa yang skrip atau kod JavaScript Saya cuba untuk mengelabui pengguna ke dalam melaksanakan? Nah, document.location merujuk ke alamat penyemak imbas semasa saya. Jadi jika saya lakukan document.location =, ini membolehkan saya untuk mengarahkan pengguna dalam JavaScript ke laman web lain. Ia seperti fungsi PHP kita mengarahkan, tetapi dilakukan dalam JavaScript. Di mana aku berusaha untuk menghantar pengguna? Well, nampaknya, badguy.com/log.php, yang beberapa skrip, nampaknya, lelaki yang buruk menulis, yang mengambil parameter yang dipanggil cookies. Dan notis, apa yang saya kelihatan concatenating ke akhir bahawa tanda sama? Dengan baik, sesuatu yang kata document.cookie. Kami tidak bercakap tentang hal ini. Tetapi ternyata, di JavaScript, seperti di PHP, anda boleh mengakses semua kuki bahawa pelayar anda benar-benar menggunakan. Jadi kesan yang satu ini baris kod, jika pengguna tertipu untuk klik pada pautan ini dan vulnerable.com laman web tidak melarikan diri dengan htmlspecialchars, adalah bahawa anda mempunyai hanya berkesan dimuat naik ke log.php semua cookies anda. Dan itu tidak selalu yang bermasalah, kecuali jika salah satu cookies adalah sesi ID anda, anda apa yang dipanggil cap tangan, yang ertinya badguy.com boleh membuat sendiri Permintaan HTTP, menghantar tangan yang sama setem, yang tandukan cookie yang sama, dan log masuk ke dalam laman web yang Anda telah melawat, yang pada hal ini adalah vulnerable.com. Ini adalah cross-site scripting serangan dalam erti kata bahawa anda semacam menipu satu laman web ke dalam penceritaan laman web yang lain tentang beberapa maklumat ia tidak boleh, sebenarnya, mempunyai akses kepada. Baiklah, bersedia untuk satu terperinci membimbangkan lain? Baiklah, dunia adalah tempat yang menakutkan, sah sehingga. Berikut adalah sederhana Contoh JavaScript itu dalam kod sumber hari ini disebut geolocation 0 dan 1. Dan ada pasangan walkthrough dalam talian untuk ini. Dan ia berikut jika saya membuka laman web ini dalam Chrome. Isu itu tidak apa-apa. OK, kita akan cuba ini lagi. Oh. Tidak, ia harus melakukan sesuatu. OK, stand by. Mari kita cuba ini sekali lagi. [Terdengar] Ah, OK, tidak pasti mengapa the-- oh, perkakas mungkin hilang internet akses untuk sebab-sebab tertentu. Baiklah, jadi yang berlaku kepada saya juga. Baiklah, jadi notis apa yang sedang berlaku di sini. Ini samar yang berpandangan URL, yang hanya salah satu daripada pelayan CS50, mahu menggunakan komputer saya lokasi, seperti fizikal artinya. Dan jika, sesungguhnya, saya klik pada Benarkan, mari kita lihat apa yang berlaku. Rupa-rupanya, ini adalah lintang semasa saya dan menyelaras membujur ke bawah dengan penyelesaian yang sangat sangat baik. Jadi, bagaimana saya mendapatkan ini? Bagaimana laman web ini, seperti pelayan CS50, tahu secara fizikal di mana di dunia Saya, apatah lagi dengan tepat itu. Nah, ternyata out-- mari kita melihat source-- halaman ini bahawa di sini adalah sekumpulan HTML di bahagian bawah yang pertama mempunyai this-- onload tubuh = "geolocate" - hanya fungsi yang telah saya berikan. Dan saya berkata, tentang memuat halaman, memanggil geolocate. Dan kemudian ada apa-apa dalam badan, kerana di kepala halaman, melihat apa yang saya ada di sini. Berikut adalah fungsi geolocate saya. Dan ini hanyalah beberapa kesalahan checking-- jika jenis navigator.geolocation tidak dapat diduga. Jadi JavaScript memiliki ini mekanisme di mana anda boleh berkata, apa yang jenis variabel ini? Dan jika ia tidak undefined-- itu bermakna ia adalah beberapa value-- Saya akan memanggil navigator.geolocation.getCurrentPosition dan kemudian panggil balik. Apakah ini? Jadi secara umum, apa yang panggil balik, hanya untuk menjadi jelas? Anda mungkin telah menemui ini sudah di pset8. Panggilan balik adalah generik istilah untuk melakukan apa? Terasa seperti hanya saya hari ini. PENONTON: [didengar]. DAVID J. MALAN: Tepat, fungsi yang sepatutnya disebut hanya apabila kita mempunyai data. Panggilan ke browser, dapatkan semasa saya kedudukan, mungkin mengambil masa satu milisaat, ia mungkin mengambil masa satu minit. Adakah ini bermakna kita mengatakan method get getCurrentPosition, memanggil fungsi panggilan balik ini, yang saya benar-benar bernama panggilan balik untuk kesederhanaan, yang nampaknya adalah salah satu ini di sini. Dan cara getCurrentPosition bekerja, hanya dengan membaca dokumentasi untuk beberapa kod JavaScript dalam talian, adalah yang mereka sebut bahawa apa yang dipanggil panggil balik fungsi, pas ke dalam ia objek JavaScript, bahagian dalam yang .coords.latitude dan .coords.longitude, yang betul-betul bagaimana, maka, apabila saya ulang halaman ini, Saya dapat melihat lokasi saya di sini. Sekarang, sekurang-kurangnya ada pertahanan di sini. Sebelum saya melawat laman ini, apabila ia benar-benar bekerja, apa yang saya paling tidak diminta? PENONTON: [didengar]. DAVID J. MALAN: Ya atau no-- melakukan anda mahu membenarkan atau menafikan ini? Tetapi berfikir juga, tentang kebiasaan kalian mungkin telah menerima pakai, kedua-dua di telefon anda dan pelayar anda. Ramai di antara kita, diri saya termasuk, mungkin cukup terdedah ini days-- anda melihat pop-up, hanya Enter, OK, Menyetujui, Membenarkan. Dan semakin, anda boleh meletakkan diri pada risiko bagi mereka sebab. Jadi sebenarnya, ada bug yang indah ini beberapa tahun ago-- atau kurang feature-- iTunes yang mempunyai beberapa tahun yang lalu, di mana, jika anda mempunyai telefon bimbit, dan itu iPhone, dan anda meninggalkan rumah anda dan oleh itu perjalanan di seluruh dunia atau kejiranan, selama ini, telefon anda adalah penebangan kayu di mana anda berada melalui GPS. Dan ini sebenarnya diungkapkan, dan orang-orang jenis berharap ini sekarang. Telefon anda tahu di mana anda berada. Tetapi masalahnya ialah, apabila anda telah membuat cadangan telefon anda ke iTunes-- ini sebelum zaman iCloud, yang lebih baik atau untuk worse-- data yang disimpan di iTunes, benar-benar tak disulitkan. Jadi, jika anda mempunyai keluarga atau teman sekamar atau jiran yang berniat jahat siapa yang ingin tahu tentang harfiah setiap GPS menyelaras anda telah pernah ke, dia boleh hanya duduk di iTunes, menjalankan beberapa perisian yang bebas ada, dan peta hasil seperti ini. Malah, ini adalah apa yang saya dihasilkan daripada telefon bimbit saya sendiri. Saya terpasang di. Dan ia kelihatan seperti, berdasarkan di titik biru di sana, di situlah sebagian besar koordinat GPS ialah dicatat oleh iTunes yang saya adalah di timur laut sana. Tetapi saya nampaknya mengembara di sekitar sedikit, walaupun di Massachusetts. Jadi itulah Boston Harbor ada di sebelah kanan. Itulah jenis Cambridge dan Boston, di mana ia adalah yang paling gelap. Dan kadang-kadang, saya akan menjalankan tugas dengan geografi yang lebih besar. Tetapi iTunes, selama bertahun-tahun, telah, sebagai terbaik Aku tahu, semua data ini pada saya. Anda boleh mengatakan bahawa, tahun itu, aku benar-benar perjalanan banyak antara Boston dan New York, akan bolak-balik dan bolak-balik. Dan sesungguhnya, ini adalah saya pada Amtrak, belakang -balik, bolak-balik, agak sedikit. Semua itu telah dibalak dan disimpan disulitkan pada komputer saya untuk sesiapa yang mungkin mempunyai akses kepada komputer saya. Ini adalah membimbangkan. Saya tidak tahu mengapa saya di Pennsylvania atau mengapa telefon saya di Pennsylvania, nampaknya cukup padat. Dan kemudian, akhirnya, saya melihat di GCal saya, dan, oh, saya melawat CMU, Carnegie Mellon, pada saat itu. Dan phew, begitulah menjelaskan blip itu. Dan kemudian, jika anda zum lebih jauh, anda boleh lihat Saya melawat San Francisco satu atau beberapa kali kemudian, dan bahkan aku singgah dalam apa Saya rasa adalah Vegas, di bawah sana. Jadi semua this-- hanya singgah, di lapangan terbang. PENONTON: [Ketawa] Jadi, ini adalah hanya untuk mengatakan bahawa ini masalah, jujur, yang mana-mana. Dan ia hanya merasakan semakin suka ada lebih dan lebih dari ini yang didedahkan, yang mungkin sesuatu yang baik. Saya berani mengatakan, dunia tidak semakin teruk di menulis perisian. Kami mendapatkan yang lebih baik, mudah-mudahan, keberadaannya di perisian tertentu bagaimana buruk ialah kita gunakan. Dan bersyukur kerana, beberapa perusahaan yang mulai untuk bertanggung jawab untuk ini. Tetapi apa jenis pertahanan Anda boleh ada di dalam fikiran? Jadi selain pengurus kata laluan, seperti 1Password dan LastPass dan lain-lain, selain hanya mengubah kata laluan anda dan datang dengan orang-orang rawak menggunakan perisian seperti itu, anda juga boleh cuba terbaik yang anda boleh untuk menyulitkan semua lalu lintas anda untuk sekurang-kurangnya merapatkan zon ancaman. Jadi misalnya, sebagai sekutu Harvard, anda semua boleh pergi ke vpn.harvard.edu dan log masuk dengan ID Harvard dan PIN. Dan ini akan membentuk aman hubungan antara anda dan Harvard. Sekarang, yang tidak semestinya melindungi anda terhadap mana-mana ancaman yang antara Harvard dan Facebook atau Harvard dan Gmail. Tetapi jika anda sedang duduk di lapangan terbang atau anda duduk di Starbucks atau anda duduk di tempat teman, dan anda tidak benar-benar percaya dengan mereka atau mereka konfigurasi router rumah mereka, sekurang-kurangnya anda boleh mewujudkan sambungan yang selamat kepada entiti seperti ini tempat itu mungkin sedikit lebih baik dijamin daripada sesuatu seperti Starbucks atau sebagainya. Dan apa yang dilakukan adalah itu menetapkan, sekali lagi, penyulitan antara anda dan titik akhir. Malah yang lebih menarik adalah hal-hal seperti ini. Jadi sebahagian daripada anda mungkin sudah membiasakan diri dengan Tor, yang semacam ini anonymization rangkaian, di mana banyak orang, jika mereka menjalankan perisian ini, laluan kemudian internet mereka trafik melalui satu sama lain. Jadi intinya terpendek adalah tidak lagi antara A dan B. Tapi mungkin di seluruh menempatkan sehingga anda pada dasarnya menutupi jejak seseorang dan meninggalkan kurang dari rekod ke mana HTTP lalu lintas datang dari, kerana ia akan melalui sejumlah besar anak dia komputer riba atau komputer meja, untuk lebih baik atau lebih buruk. Tetapi walaupun ini tidak adalah satu perkara yang pasti. Sebahagian daripada anda mungkin ingat tahun lalu ketakutan bom yang dipanggil. Dan ia telah dikesan akhirnya ke pengguna yang telah menggunakan rangkaian ini di sini. Dan menangkap di sana, seperti yang saya ingat, adalah, jika ada tidak banyak orang lain menggunakan perisian seperti ini atau menggunakan pelabuhan ini dan protokol, ia bukan yang keras untuk rangkaian untuk bahkan memikirkan yang, dengan beberapa kemungkinan, sebenarnya anonymi atau lalu lintas nya. Dan saya tidak tahu jika itu adalah satu- butir-butir sebenar yang bersangkutan. Tapi pasti, menyedari bahawa tidak ada ini adalah penyelesaian yang jitu, juga. Dan tujuan itu di sini hari ini adalah untuk-kurangnya membawa anda berfikir tentang perkara-perkara ini dan datang dengan teknik untuk mempertahankan diri terhadap mereka. Apa-apa soalan pada semua ancaman yang menanti anda di luar sana, dan di sini? Ya? PENONTON: Bagaimana aman melakukan kami menjangkakan purata [? laman web untuk menjadi,?] seperti projek CS50 rata-rata? DAVID J. MALAN: The Rata-rata projek CS50? Hal ini selalu terbukti setiap tahun yang beberapa projek akhir CS50 tidak terutama yang selamat. Biasanya, ini beberapa rakan sebilik atau hallmate bahawa angka-angka ini keluar dengan menghantar permintaan untuk projek anda. Answer-- ringkas bagaimana banyak laman web yang selamat? Saya memilih pada anomali hari ini. Seperti itu hanya kebetulan yang saya sedar bahawa laman web ini Saya telah memesan ini terus terang pengaturan lazat from-- dan saya tidak pasti saya akan berhenti menggunakan laman web mereka; Saya hanya akan berubah saya kata laluan lebih regularly-- ia tidak jelas betapa terdedah semua various-- ini ini adalah coklat yang tertutup sebenarnya. Jawapan yang pendek, saya tidak dapat menjawab bahawa dengan berkesan, selain mengatakan ia tidak begitu sukar bagi saya untuk menemui beberapa contoh-contoh ini hanya demi perbincangan dalam kuliah. Dan hanya mengawasi Google News dan sumber-sumber lain akan membawa semua lebih dari jenis-jenis perkara yang terang. Baiklah, mari kita membuat kesimpulan dengan prequel ini bahawa pasukan CS50 telah disediakan untuk anda pada menjangkakan CS50 Hackathon. Dan dalam perjalanan anda di dalam satu masa, buah-buahan akan dihidangkan. [VIDEO MAIN SEMULA] [MUSIK Fergie, Q TIP DAN GOONROCK, "A PIHAK LITTLE JANGAN TAK MEMBUNUH (ALL WE GOT) "] - [MENDENGKUR] [AKHIR VIDEO MAIN SEMULA] DAVID J. MALAN: Itu saja untuk CS50. Kita akan bertemu pada hari Rabu. [MUZIK - Skrillex, "Imma 'CUBA OUT"]