1 00:00:00,000 --> 00:00:11,214 >> [MUSIK] 2 00:00:11,214 --> 00:00:11,661 >> DAVID J. Malan: Baiklah. 3 00:00:11,661 --> 00:00:15,400 Jadi ini adalah CS50 dan ini adalah akhir minggu 10. 4 00:00:15,400 --> 00:00:20,420 Jadi beberapa dari Anda mungkin telah melihat ini sudah, tapi yang beredar akhir-akhir ini 5 00:00:20,420 --> 00:00:25,800 adalah sebuah artikel yang saya pikir saya akan membaca kutipan dari dan kemudian menampilkan 6 00:00:25,800 --> 00:00:27,800 tiga menit video yang melukiskan gambar yang sama. 7 00:00:27,800 --> 00:00:30,950 Itu benar-benar cerita yang menyentuh, saya berpikir, dari persimpangan ini dari 8 00:00:30,950 --> 00:00:35,210 dunia nyata dengan benar-benar menarik menggunakan teknologi. 9 00:00:35,210 --> 00:00:39,785 >> Jadi artikel itu berjudul, "Anak laki-laki oversleeps di kereta, menggunakan Google Maps 10 00:00:39,785 --> 00:00:44,930 untuk menemukan keluarga 25 tahun kemudian. "Dan Pasangan pertama paragraf itu, 11 00:00:44,930 --> 00:00:48,820 "Ketika Saroo berusia lima tahun ia pergi dengan kakaknya untuk mencuri untuk 12 00:00:48,820 --> 00:00:51,830 berubah pada kereta penumpang di kota sekitar dua jam 13 00:00:51,830 --> 00:00:53,510 dari kampung kecil nya. 14 00:00:53,510 --> 00:00:56,790 Saroo menjadi lelah dan melompat ke atas kereta terdekat di mana ia pikir nya 15 00:00:56,790 --> 00:00:58,880 saudara itu, lalu tertidur. 16 00:00:58,880 --> 00:01:03,360 Ketika ia terbangun ia berada di Calcutta, hampir 900 mil jauhnya. 17 00:01:03,360 --> 00:01:05,770 Saroo mencoba untuk menemukan jalan kembali, tapi dia tidak tahu 18 00:01:05,770 --> 00:01:07,260 nama kampung halamannya. 19 00:01:07,260 --> 00:01:11,430 Dan sebagai seorang anak buta huruf kecil di besar kota yang penuh anak-anak lupa dia 20 00:01:11,430 --> 00:01:13,520 hampir tidak ada kesempatan untuk mendapatkan rumah. 21 00:01:13,520 --> 00:01:16,760 >> Dia adalah anak jalanan untuk sementara waktu sampai agen adopsi lokal doyan 22 00:01:16,760 --> 00:01:18,840 dia dengan beberapa Australia yang membawanya ke 23 00:01:18,840 --> 00:01:20,600 tinggal di Hobart, Tasmania. 24 00:01:20,600 --> 00:01:23,130 Saroo pindah ke sana, belajar Inggris, dan dibesarkan. 25 00:01:23,130 --> 00:01:27,450 Tapi dia tidak pernah berhenti mencari keluarga dan kampung halamannya. 26 00:01:27,450 --> 00:01:32,380 >> Puluhan tahun kemudian, ia menemukan Google Bumi dan mengikuti rel. 27 00:01:32,380 --> 00:01:36,140 Dan memberikan dirinya radius yang ditentukan berdasarkan berapa lama dia pikir dia 28 00:01:36,140 --> 00:01:40,020 tertidur dan seberapa cepat dia pikir kereta pergi, ia tahu ia dibesarkan 29 00:01:40,020 --> 00:01:43,930 dalam iklim yang hangat, ia tahu ia berbicara Hindi sebagai seorang anak, dan ia sudah diberitahu 30 00:01:43,930 --> 00:01:46,160 bahwa dia tampak seperti dia adalah dari India Timur. 31 00:01:46,160 --> 00:01:49,650 >> Akhirnya, setelah bertahun-tahun menjelajahi foto-foto satelit, ia 32 00:01:49,650 --> 00:01:51,340 mengakui landmark beberapa. 33 00:01:51,340 --> 00:01:54,180 Dan setelah mengobrol dengan administrator dari kota terdekat yang 34 00:01:54,180 --> 00:01:57,740 Halaman Facebook, ia menyadari ia menemukan rumah. " 35 00:01:57,740 --> 00:02:03,770 >> Jadi di sini kemudian adalah video memberitahu bahwa kisah dari sudut pandangnya. 36 00:02:03,770 --> 00:02:04,025 >> [VIDEO PEMUTARAN] 37 00:02:04,025 --> 00:02:07,480 >> -Itu 26 tahun yang lalu dan aku hanya tentang untuk mengubah lima. 38 00:02:07,480 --> 00:02:10,539 Kami sampai ke stasiun kereta api dan kami naik kereta bersama. 39 00:02:10,539 --> 00:02:13,390 Adikku hanya berkata aku akan tinggal di sini dan aku akan kembali. 40 00:02:13,390 --> 00:02:16,363 Dan saya hanya berpikir, yah, kau tahu, aku mungkin juga hanya pergi tidur dan 41 00:02:16,363 --> 00:02:17,950 maka dia hanya akan membangunkan saya. 42 00:02:17,950 --> 00:02:21,740 Dan ketika aku bangun keesokan harinya, Seluruh kereta itu kosong pada pelarian 43 00:02:21,740 --> 00:02:24,305 kereta api, kereta hantu mengambil aku tidak tahu di mana. 44 00:02:24,305 --> 00:02:27,120 45 00:02:27,120 --> 00:02:31,660 >> Aku diadopsi ke Australia untuk keluarga Australia. 46 00:02:31,660 --> 00:02:35,360 Dan Ibu telah dihiasi kamar dengan peta India, yang ia 47 00:02:35,360 --> 00:02:37,090 tempatkan di samping tempat tidur saya. 48 00:02:37,090 --> 00:02:42,170 Aku bangun setiap pagi melihat peta itu, dan karenanya, semacam terus 49 00:02:42,170 --> 00:02:43,740 kenangan hidup. 50 00:02:43,740 --> 00:02:46,475 >> Orang-orang akan mengatakan, Anda mencoba untuk menemukan jarum di tumpukan jerami. 51 00:02:46,475 --> 00:02:49,060 Saroo, Anda tidak akan pernah menemukannya. 52 00:02:49,060 --> 00:02:52,510 Aku harus kilatan tempat-tempat yang Aku digunakan untuk pergi, berkedip 53 00:02:52,510 --> 00:02:55,050 wajah keluarga saya. 54 00:02:55,050 --> 00:02:59,200 Ada citra ibuku duduk bawah dengan kakinya menyilang 55 00:02:59,200 --> 00:03:00,610 hanya menonton menangis. 56 00:03:00,610 --> 00:03:03,340 Hidup ini hanya begitu sulit. 57 00:03:03,340 --> 00:03:06,002 Itu harta saya. 58 00:03:06,002 --> 00:03:09,390 >> Dan saya cari di Google Map dan menyadari ada Google Earth juga. 59 00:03:09,390 --> 00:03:13,560 Dalam dunia di mana Anda bisa memperbesar ke saya mulai memiliki semua pikiran-pikiran dan 60 00:03:13,560 --> 00:03:16,650 apa kemungkinan yang ini bisa lakukan untuk saya. 61 00:03:16,650 --> 00:03:19,520 Saya berkata pada diri sendiri, well, kau tahu, Anda punya semua fotografi 62 00:03:19,520 --> 00:03:22,340 kenangan dan landmark di mana Anda dari dan Anda tahu apa 63 00:03:22,340 --> 00:03:23,460 kota tampak seperti. 64 00:03:23,460 --> 00:03:27,910 Ini bisa menjadi sebuah aplikasi yang Anda dapat digunakan untuk menemukan jalan kembali. 65 00:03:27,910 --> 00:03:32,750 >> Saya pikir, yah, saya akan menaruh titik pada Stasiun Kereta Calcutta dalam radius 66 00:03:32,750 --> 00:03:36,350 baris yang Anda harus mencari di daerah ini. 67 00:03:36,350 --> 00:03:38,850 Aku datang di ini rel kereta api. 68 00:03:38,850 --> 00:03:44,490 Dan saya mulai mengikuti dan saya datang ke sebuah stasiun kereta api yang mencerminkan 69 00:03:44,490 --> 00:03:48,260 gambar yang sama itu dalam kenangan saya. 70 00:03:48,260 --> 00:03:49,730 >> Semuanya cocok. 71 00:03:49,730 --> 00:03:50,800 Saya hanya berpikir, yep. 72 00:03:50,800 --> 00:03:51,545 Aku tahu di mana aku akan pergi. 73 00:03:51,545 --> 00:03:55,387 Aku hanya akan membiarkan peta yang saya ada di kepala saya untuk memimpin saya dan membawa saya 74 00:03:55,387 --> 00:03:58,230 kembali ke kampung halaman. 75 00:03:58,230 --> 00:04:02,290 >> Aku datang ke depan pintu rumah bahwa saya lahir dan berjalan di sekitar 76 00:04:02,290 --> 00:04:04,270 sekitar lima belas meter sekitar sudut. 77 00:04:04,270 --> 00:04:08,140 Ada tiga wanita berdiri di luar berdekatan satu sama lain. 78 00:04:08,140 --> 00:04:10,230 Dan yang tengah melangkah maju. 79 00:04:10,230 --> 00:04:12,910 Dan saya hanya berpikir, ini adalah ibumu. 80 00:04:12,910 --> 00:04:18,590 Dia maju ke depan, dia memeluk saya, dan kami berada di sana selama sekitar lima menit. 81 00:04:18,590 --> 00:04:21,670 82 00:04:21,670 --> 00:04:25,787 >> Dia memegang tangan saya dan dia membawaku ke rumah dan mendapat di telepon dan dia 83 00:04:25,787 --> 00:04:31,110 menelepon saudara saya dan kakak saya untuk mengatakan bahwa saudara Anda hanya memiliki semua 84 00:04:31,110 --> 00:04:34,480 tiba-tiba muncul seperti hantu. 85 00:04:34,480 --> 00:04:37,590 >> Dan kemudian keluarga adalah dipertemukan lagi. 86 00:04:37,590 --> 00:04:38,570 Semuanya semua baik. 87 00:04:38,570 --> 00:04:40,250 Saya membantu ibu saya keluar. 88 00:04:40,250 --> 00:04:42,240 Dia tidak harus bekerja keras. 89 00:04:42,240 --> 00:04:45,040 Dia bisa membawa sisa hidupnya dalam damai. 90 00:04:45,040 --> 00:04:48,590 >> Itu jarum di tumpukan jerami, tapi jarum ada di sana. 91 00:04:48,590 --> 00:04:49,530 Semuanya ada. 92 00:04:49,530 --> 00:04:53,410 Segala sesuatu yang kita miliki di dunia adalah keran tombol. 93 00:04:53,410 --> 00:04:57,375 Tapi kau harus punya kemauan dan tekad untuk menginginkannya. 94 00:04:57,375 --> 00:05:02,310 95 00:05:02,310 --> 00:05:02,780 >> [END VIDEO PEMUTARAN] 96 00:05:02,780 --> 00:05:04,220 >> Jadi cerita benar-benar manis. 97 00:05:04,220 --> 00:05:08,430 Dan itu benar-benar mengingatkan saya cukup topik yang telah mendapatkan cukup sedikit 98 00:05:08,430 --> 00:05:11,200 perhatian akhir-akhir ini di The Crimson, lebih secara nasional pada umumnya. 99 00:05:11,200 --> 00:05:13,620 Terutama karena MOOCs mengambil tahap akhir. 100 00:05:13,620 --> 00:05:17,370 MOOCs yang ini besar dan terbuka kursus online yang CS50 merupakan salah satu. 101 00:05:17,370 --> 00:05:20,680 >> Dan orang-orang berbicara tentang bagaimana, untuk Misalnya, humaniora tidak benar-benar 102 00:05:20,680 --> 00:05:23,900 penangkapan atau tidak hampir sama dalam mode seperti dulu. 103 00:05:23,900 --> 00:05:26,680 Dan saya akan mendorong kalian, banyak seperti Jonathan lakukan pada hari Senin, untuk berpikir 104 00:05:26,680 --> 00:05:29,900 tentang saat Anda keluar 50, dan kita tahu sudah sekitar 50% dari Anda tidak akan 105 00:05:29,900 --> 00:05:32,480 melanjutkan untuk mengambil komputer lain kursus ilmu, dan itu benar-benar 106 00:05:32,480 --> 00:05:33,770 baik dan diharapkan. 107 00:05:33,770 --> 00:05:36,620 Karena salah satu tujuan menyeluruh dari kelas seperti ini benar-benar untuk 108 00:05:36,620 --> 00:05:39,790 memberdayakan kalian dengan hanya pemahaman tentang bagaimana semua hal ini 109 00:05:39,790 --> 00:05:41,760 bekerja dan bagaimana dunia ini karya teknologi. 110 00:05:41,760 --> 00:05:45,400 >> Sehingga ketika Anda kembali Anda sendiri dunia, apakah itu pre-med atau 111 00:05:45,400 --> 00:05:48,270 apakah itu humaniora atau ilmu-ilmu sosial atau bidang lain 112 00:05:48,270 --> 00:05:51,830 sama sekali, bahwa kalian membawa beberapa savvy teknis untuk meja dan 113 00:05:51,830 --> 00:05:54,770 membantu membuat keputusan cerdas ketika datang ke penggunaan dan 114 00:05:54,770 --> 00:05:57,530 pengenalan teknologi ke dalam dunia Anda. 115 00:05:57,530 --> 00:06:00,410 >> Misalnya saya teringat akhir juga dua dari sarjana 116 00:06:00,410 --> 00:06:04,410 Aku mengambil kelas dua tahun lalu, yang penggunaan sederhana seperti teknologi 117 00:06:04,410 --> 00:06:06,180 tapi pernah begitu menarik. 118 00:06:06,180 --> 00:06:08,845 Malam pertama dengan Profesor Tom Kelly jika Anda telah mengambil kelas. 119 00:06:08,845 --> 00:06:11,640 Ini adalah kelas pada musik klasik di tahap ini di sini di mana Anda belajar 120 00:06:11,640 --> 00:06:13,190 sedikit sesuatu tentang musik. 121 00:06:13,190 --> 00:06:17,770 Ini sebenarnya Malam Pertama bahwa CS50 meminjam ide lagu untuk mereka 122 00:06:17,770 --> 00:06:20,630 kurang nyaman di antara dan lebih nyaman. 123 00:06:20,630 --> 00:06:24,410 >> Pada waktu saya mereka memiliki trek yang berbeda untuk anak-anak dengan benar-benar tidak ada musik 124 00:06:24,410 --> 00:06:27,300 pengalaman seperti saya, dan kemudian anak-anak yang telah melakukan karena mereka 125 00:06:27,300 --> 00:06:28,240 berusia lima tahun. 126 00:06:28,240 --> 00:06:31,200 Dan kelas yang, misalnya, hanya memiliki sebuah situs web seperti kebanyakan yang lain, tapi 127 00:06:31,200 --> 00:06:34,210 adalah sebuah website yang memungkinkan Anda untuk mengeksplorasi musik di atasnya dan memutar 128 00:06:34,210 --> 00:06:39,120 klip musik dari kelas, dari web, dan hanya menggunakan teknologi dengan cara yang sangat 129 00:06:39,120 --> 00:06:40,210 cara halus. 130 00:06:40,210 --> 00:06:44,460 >> Tahun kelas lain kemudian bahwa saya diaudit, pada dasarnya, di sekolah pascasarjana, 131 00:06:44,460 --> 00:06:47,430 Anthro 1010, Pengantar Arkeologi sini. 132 00:06:47,430 --> 00:06:48,190 Itu menakjubkan. 133 00:06:48,190 --> 00:06:52,715 Dan salah satu yang paling menarik namun super jelas, dalam retrospeksi, penggunaan 134 00:06:52,715 --> 00:06:56,000 perangkat lunak adalah bahwa para profesor di bahwa kelas menggunakan Google Earth. 135 00:06:56,000 --> 00:06:58,250 Kami sedang duduk di seberang jalan di beberapa ruang kuliah. 136 00:06:58,250 --> 00:07:01,240 Dan Anda tidak bisa melakukan perjalanan, misalnya, ke Timur Tengah untuk menggali yang satu 137 00:07:01,240 --> 00:07:04,530 dari para profesor baru saja datang kembali, tapi kita bisa melakukannya hampir oleh 138 00:07:04,530 --> 00:07:07,870 terbang di sekitar di Google Earth dan melihat tampilan mata burung di 139 00:07:07,870 --> 00:07:10,360 menggali situs ia baru saja kembali dari seminggu yang lalu. 140 00:07:10,360 --> 00:07:12,630 >> Jadi saya akan mendorong kalian, terutama dalam humaniora, untuk pergi 141 00:07:12,630 --> 00:07:16,260 kembali ke departemen-departemen setelah ini kelas membawa proyek akhir Anda 142 00:07:16,260 --> 00:07:19,960 dengan Anda atau ide-ide Anda sendiri, dan melihat hanya apa yang dapat Anda lakukan untuk menanamkan Anda 143 00:07:19,960 --> 00:07:23,570 bidang sendiri dalam humaniora atau lebih dengan sedikit semacam ini 144 00:07:23,570 --> 00:07:26,770 hal yang kami telah dieksplorasi di sini pada CS50. 145 00:07:26,770 --> 00:07:31,790 >> Jadi dengan gambar yang dilukis, pikir kami akan mencoba untuk mengatasi dua hal hari ini. 146 00:07:31,790 --> 00:07:35,040 Satu, mencoba untuk memberikan rasa di mana Anda dapat pergi setelah 50. 147 00:07:35,040 --> 00:07:37,950 Dan khususnya, jika Anda memilih untuk menangani proyek berbasis web seperti 148 00:07:37,950 --> 00:07:42,580 sangat umum, bagaimana Anda bisa pergi tentang mengambil off semua CS50 ini 149 00:07:42,580 --> 00:07:45,810 roda pelatihan dan pergi di luar sana di Anda sendiri dan tidak harus bergantung pada 150 00:07:45,810 --> 00:07:48,000 PDF atau spesifikasi pset sebuah? 151 00:07:48,000 --> 00:07:50,510 Tidak harus bergantung pada CS50 alat lagi. 152 00:07:50,510 --> 00:07:52,780 Tapi benar-benar dapat menarik diri bootstraps oleh Anda. 153 00:07:52,780 --> 00:07:55,790 >> Dengan mengatakan bahwa, C berbasis akhir proyek dipersilakan. 154 00:07:55,790 --> 00:07:58,020 Hal yang menggunakan berdiri untuk perpustakaan portabel di 155 00:07:58,020 --> 00:07:59,510 grafis dipersilakan. 156 00:07:59,510 --> 00:08:03,240 Kita hanya tahu bahwa secara statistik banyak orang menggigit proyek di PHP dan 157 00:08:03,240 --> 00:08:07,860 Python dan Ruby dan MySQL dan lainnya lingkungan, sehingga kita akan Bias beberapa 158 00:08:07,860 --> 00:08:09,570 komentar kita terhadap itu. 159 00:08:09,570 --> 00:08:10,650 >> Tapi cepat melihat kembali. 160 00:08:10,650 --> 00:08:15,940 Jadi kami mengambil untuk diberikan di pset7 yang Fakta bahwa $ _SESSION ada. 161 00:08:15,940 --> 00:08:19,400 Ini adalah super global, global, array asosiatif. 162 00:08:19,400 --> 00:08:23,040 Dan apa ini membiarkan Anda lakukan? 163 00:08:23,040 --> 00:08:27,130 Secara fungsional, apa fitur ini memberikan kita? 164 00:08:27,130 --> 00:08:28,590 Ya? 165 00:08:28,590 --> 00:08:30,270 Untuk melacak ID pengguna. 166 00:08:30,270 --> 00:08:31,660 Dan mengapa ini berguna? 167 00:08:31,660 --> 00:08:36,059 Untuk dapat menyimpan dalam super ini JHarvard global atau [? Scroobs?] 168 00:08:36,059 --> 00:08:41,880 atau user ID Malan ketika ia atau ia mengunjungi sebuah situs. 169 00:08:41,880 --> 00:08:42,380 >> Tepat. 170 00:08:42,380 --> 00:08:44,049 Jadi Anda tidak perlu login lagi dan lagi. 171 00:08:44,049 --> 00:08:47,170 Ini akan menjadi world wide web benar-benar lumpuh jika setiap kali Anda mengklik link 172 00:08:47,170 --> 00:08:50,780 di situs seperti Facebook atau setiap kali Anda mengklik email di Gmail Anda 173 00:08:50,780 --> 00:08:54,060 harus kembali mengotentikasi untuk membuktikan bahwa itu masih Anda dan bukan teman sekamar Anda 174 00:08:54,060 --> 00:08:56,700 yang mungkin telah berjalan ke komputer dalam ketiadaan. 175 00:08:56,700 --> 00:08:59,640 >> Jadi kita menggunakan SESI hanya ingat siapa Anda. 176 00:08:59,640 --> 00:09:01,830 Dan bagaimana ini diimplementasikan bawah tenda? 177 00:09:01,830 --> 00:09:07,720 Bagaimana sebuah website yang menggunakan, yang protokol yang web browser dan server 178 00:09:07,720 --> 00:09:12,060 berbicara, bagaimana HTTP, yang merupakan protokol stateless, katakanlah. 179 00:09:12,060 --> 00:09:15,510 >> Dan dengan stateless Maksudku, setelah Anda terhubung ke sebuah situs web, men-download beberapa 180 00:09:15,510 --> 00:09:19,650 HTMLs, beberapa JavaScript, CSS beberapa, Anda icon browser berhenti berputar. 181 00:09:19,650 --> 00:09:23,420 Anda tidak memiliki koneksi konstan ke server biasanya. 182 00:09:23,420 --> 00:09:24,170 Itu saja. 183 00:09:24,170 --> 00:09:26,290 Tidak ada negara yang dipertahankan terus-menerus. 184 00:09:26,290 --> 00:09:30,510 Jadi bagaimana SESI dilaksanakan sedemikian cara bahwa setiap kali Anda mengunjungi sebuah 185 00:09:30,510 --> 00:09:32,860 halaman baru, website mengingat siapa Anda? 186 00:09:32,860 --> 00:09:36,150 187 00:09:36,150 --> 00:09:38,195 Apa yang mendasari pelaksanaan detail? 188 00:09:38,195 --> 00:09:40,810 189 00:09:40,810 --> 00:09:41,490 Menyerukannya. 190 00:09:41,490 --> 00:09:43,270 Ini satu kata. 191 00:09:43,270 --> 00:09:43,640 >> Cookie. 192 00:09:43,640 --> 00:09:44,190 Baik. 193 00:09:44,190 --> 00:09:44,800 Jadi cookie. 194 00:09:44,800 --> 00:09:45,900 Nah, bagaimana cookie digunakan? 195 00:09:45,900 --> 00:09:48,870 Kita akan ingat bahwa cookie umumnya hanya sepotong informasi. 196 00:09:48,870 --> 00:09:51,590 Dan hal ini sering acak besar nomor, tetapi tidak selalu. 197 00:09:51,590 --> 00:09:55,420 Dan cookie ditanam pada hard Anda drive atau dalam RAM komputer Anda sehingga 198 00:09:55,420 --> 00:09:59,070 bahwa setiap kali Anda kembali bahwa sama website, browser Anda mengingatkan 199 00:09:59,070 --> 00:10:01,650 Server, saya pengguna 1234567. 200 00:10:01,650 --> 00:10:03,570 Saya pengguna 1234567. 201 00:10:03,570 --> 00:10:07,590 >> Dan selama server telah mengingat bahwa pengguna adalah 1234567 202 00:10:07,590 --> 00:10:11,300 JHarvard, website hanya akan menganggap bahwa Anda adalah yang Anda katakan. 203 00:10:11,300 --> 00:10:14,230 Dan ingat bahwa kami menyajikan cookie semacam di bentuk 204 00:10:14,230 --> 00:10:15,510 maya tangan berdiri. 205 00:10:15,510 --> 00:10:20,530 Ini dikirim dalam header HTTP hanya untuk mengingatkan server bahwa Anda adalah siapa 206 00:10:20,530 --> 00:10:21,620 berpikir bahwa anda adalah. 207 00:10:21,620 --> 00:10:23,320 >> Tentu saja, ada ancaman. 208 00:10:23,320 --> 00:10:27,530 Apa ancaman hal ini membuka kita sampai jika kita pada dasarnya menggunakan semacam klub 209 00:10:27,530 --> 00:10:30,110 atau mekanisme taman hiburan untuk mengingat siapa kita? 210 00:10:30,110 --> 00:10:32,630 211 00:10:32,630 --> 00:10:36,170 >> Jika Anda menyalin kue seseorang dan membajak sesi mereka, sehingga untuk berbicara, Anda 212 00:10:36,170 --> 00:10:39,670 berpura-pura bisa menjadi orang lain dan Situs kemungkinan besar hanya akan 213 00:10:39,670 --> 00:10:40,150 Anda percaya. 214 00:10:40,150 --> 00:10:41,030 Jadi kita akan kembali ke itu. 215 00:10:41,030 --> 00:10:44,240 Karena tema lain untuk hari ini melampaui pemberdayaan juga berbicara 216 00:10:44,240 --> 00:10:48,170 tentang dunia yang sangat menakutkan kita hidup di dan berapa banyak dari apa yang Anda lakukan pada 217 00:10:48,170 --> 00:10:51,480 web, berapa banyak dari apa yang Anda lakukan bahkan pada ponsel Anda hari ini dapat 218 00:10:51,480 --> 00:10:55,170 dilacak oleh siapa saja yang benar-benar antara Anda dan titik B. 219 00:10:55,170 --> 00:10:56,240 >> Dan Ajax, ingat. 220 00:10:56,240 --> 00:10:58,740 Kami melihat hanya sebentar ini, meskipun Anda telah menggunakan 221 00:10:58,740 --> 00:11:02,660 tidak langsung dalam pset8 karena Anda menggunakan Google Maps dan karena kau 222 00:11:02,660 --> 00:11:03,830 menggunakan Google Earth. 223 00:11:03,830 --> 00:11:07,780 Google Maps dan Google Earth tidak men-download seluruh dunia untuk Anda 224 00:11:07,780 --> 00:11:10,490 dekstop, jelas, saat Anda memuat pset8. 225 00:11:10,490 --> 00:11:15,020 Hanya mendownload persegi dunia atau persegi lebih besar dari bumi. 226 00:11:15,020 --> 00:11:18,910 Dan kemudian setiap kali Anda semacam mengarahkan keluar dari jangkauan Anda mungkin melihat - 227 00:11:18,910 --> 00:11:21,790 terutama jika pada koneksi yang lambat - Anda mungkin melihat beberapa abu-abu sejenak 228 00:11:21,790 --> 00:11:26,440 atau sedikit kabur citra sebagai download komputer lebih ubin tersebut, 229 00:11:26,440 --> 00:11:29,190 lebih citra tersebut dari dunia atau bumi. 230 00:11:29,190 --> 00:11:34,620 >> Dan Ajax umumnya teknik dimana situs yang melakukan itu. 231 00:11:34,620 --> 00:11:39,250 Setelah Anda membutuhkan lebih banyak peta, Anda browser akan menggunakan Ajax, yang 232 00:11:39,250 --> 00:11:42,240 tidak sendiri merupakan bahasa atau teknologi, itu hanya teknik. 233 00:11:42,240 --> 00:11:47,390 Ini adalah penggunaan JavaScript untuk pergi mendapatkan informasi lebih lanjut dari server yang 234 00:11:47,390 --> 00:11:52,320 memungkinkan browser Anda untuk mendapatkan apa yang akan timur atau apa di sebelah barat 235 00:11:52,320 --> 00:11:55,110 apa jika saat ini yang ditunjukkan dalam peta itu. 236 00:11:55,110 --> 00:11:58,520 Jadi ini adalah topik yang banyak dari Anda akan menghadapi baik secara langsung maupun 237 00:11:58,520 --> 00:12:01,180 secara tidak langsung melalui proyek akhir jika Anda memilih untuk membuat sesuatu yang 238 00:12:01,180 --> 00:12:05,020 sama dinamis itulah menarik data dari beberapa situs pihak ketiga. 239 00:12:05,020 --> 00:12:07,390 >> Jadi kita punya benar-benar menarik Rabu depan depan. 240 00:12:07,390 --> 00:12:12,280 Kuis satu, informasi yang adalah pada CS50.net sudah. 241 00:12:12,280 --> 00:12:17,530 Ketahuilah bahwa akan ada sesi review ini datang Senin pukul 05:30. 242 00:12:17,530 --> 00:12:21,010 Tanggal dan waktu sudah diposting pada CS50.net dalam Tentang sheet. 243 00:12:21,010 --> 00:12:22,940 Dan jangan biarkan kami tahu Anda memiliki pertanyaan. 244 00:12:22,940 --> 00:12:25,230 Sementara Pset8 sudah di tangan Anda. 245 00:12:25,230 --> 00:12:29,210 >> Dan biarkan aku hanya menangani satu FAQ untuk menyelamatkan orang-orang beberapa stres. 246 00:12:29,210 --> 00:12:32,530 Untuk sebagian besar banyak obrolan kita lihat pada jam-jam kantor dan banyak 247 00:12:32,530 --> 00:12:36,950 bug kita lihat melaporkan Bahas adalah memang bug dalam kode siswa. 248 00:12:36,950 --> 00:12:41,360 Tapi ketika Anda temui sesuatu seperti Google Earth plug-in menerjang 249 00:12:41,360 --> 00:12:44,310 atau bahkan tidak bekerja dan Anda yakin itu bukan Anda, itu bukan 250 00:12:44,310 --> 00:12:48,530 [? chamad] masalah?, itu bukan bug Anda diperkenalkan ke 251 00:12:48,530 --> 00:12:49,820 kode distribusi. 252 00:12:49,820 --> 00:12:51,250 >> Sadarilah hanya FYI - 253 00:12:51,250 --> 00:12:53,130 ini adalah semacam rencana Z - 254 00:12:53,130 --> 00:12:57,100 bahwa terakhir kali kami menggunakan masalah ini menetapkan dan kami berlari ke serupa 255 00:12:57,100 --> 00:13:01,520 isu, ada baris kode dalam service.js yang pada dasarnya adalah ini, 256 00:13:01,520 --> 00:13:03,580 yang mengatakan, mengubah bangunan di. 257 00:13:03,580 --> 00:13:07,100 Dan mereka bekerja sekitar waktu terakhir kita melakukan ini dalam, sekali lagi, kasus sudut mana 258 00:13:07,100 --> 00:13:11,660 siswa tidak bisa mendapatkan sialan hal untuk bekerja adalah mengubah benar menjadi false 259 00:13:11,660 --> 00:13:12,940 dalam satu baris kode. 260 00:13:12,940 --> 00:13:15,520 Dan Anda akan menemukannya jika Anda mencari melalui service.js. 261 00:13:15,520 --> 00:13:19,990 >> Saya tidak menyarankan ini karena Anda akan menciptakan pemandangan yang paling tandus 262 00:13:19,990 --> 00:13:21,720 Cambridge, Massachusetts. 263 00:13:21,720 --> 00:13:24,930 Ini benar-benar akan meratakan dunia Anda sehingga semua yang Anda lihat adalah pengajaran 264 00:13:24,930 --> 00:13:28,610 rekan dan asisten kursus cakrawala dan tidak ada bangunan. 265 00:13:28,610 --> 00:13:31,980 Tapi menyadari untuk alasan apapun Google Earth plug-in tampaknya masih menjadi 266 00:13:31,980 --> 00:13:35,290 kereta setahun kemudian, jadi ini mungkin gagal Anda simpan. 267 00:13:35,290 --> 00:13:38,915 Jadi, daripada resor menangis, resor untuk mengubah bangunan off jika Anda tahu 268 00:13:38,915 --> 00:13:41,980 itu adalah plug-in yang tidak mau bekerja sama pada Mac atau PC. 269 00:13:41,980 --> 00:13:46,060 Tapi, ini lagi terakhir jika Anda yakin itu bukan bug. 270 00:13:46,060 --> 00:13:46,890 >> Jadi Hackathon. 271 00:13:46,890 --> 00:13:48,950 Beberapa penggoda hanya untuk membuat Anda bersemangat. 272 00:13:48,950 --> 00:13:50,640 Kami memiliki beberapa RSVP. 273 00:13:50,640 --> 00:13:54,230 Dan hanya untuk melukis gambar apa menunggu, saya pikir saya akan memberikan beberapa 274 00:13:54,230 --> 00:13:56,858 detik mengingat citra ini dari tahun lalu. 275 00:13:56,858 --> 00:14:00,850 >> [MUSIK] 276 00:14:00,850 --> 00:14:02,240 >> DAVID J. Malan: Tunggu, oh. 277 00:14:02,240 --> 00:14:05,410 Kami bahkan memiliki harfiah CS50 angkutan kami. 278 00:14:05,410 --> 00:14:17,920 >> [MUSIK] 279 00:14:17,920 --> 00:14:20,620 >> DAVID J. Malan: Jadi itulah apa yang menanti Anda dalam hal Hackathon. 280 00:14:20,620 --> 00:14:24,180 Dan ini akan menjadi kesempatan, untuk menjadi jelas, tidak untuk memulai akhir Anda 281 00:14:24,180 --> 00:14:27,730 proyek tetapi untuk terus bekerja pada proyek akhir Anda bersama 282 00:14:27,730 --> 00:14:30,210 teman sekelas dan staf dan banyak makanan. 283 00:14:30,210 --> 00:14:34,340 Dan lagi, jika Anda terjaga di 05:00 kami akan membawa Anda menyusuri jalan ke IHOP. 284 00:14:34,340 --> 00:14:37,075 >> The CS50 adil, sementara itu, adalah klimaks untuk seluruh kelas di mana 285 00:14:37,075 --> 00:14:41,160 Anda akan membawa laptop Anda dan teman-teman, bahkan mungkin keluarga ke sebuah ruangan di kampus 286 00:14:41,160 --> 00:14:44,530 jalan untuk menunjukkan proyek Anda pada laptop, di meja tinggi 287 00:14:44,530 --> 00:14:47,570 seperti ini dengan banyak makanan dan teman-teman dan musik di latar belakang, 288 00:14:47,570 --> 00:14:49,250 serta teman-teman kita dari industri. 289 00:14:49,250 --> 00:14:52,760 Perusahaan seperti Facebook dan Microsoft dan Google dan Amazon dan tandan 290 00:14:52,760 --> 00:14:55,750 orang lain sehingga jika tertarik hanya dalam mendengar tentang dunia nyata atau 291 00:14:55,750 --> 00:14:59,570 mengobrol dengan orang-orang tentang dunia nyata peluang waktu magang atau penuh, 292 00:14:59,570 --> 00:15:01,950 tahu bahwa beberapa dari teman-teman kita dari industri akan berada di sana. 293 00:15:01,950 --> 00:15:04,970 Dan beberapa gambar kita bisa melukis di sini adalah sebagai berikut. 294 00:15:04,970 --> 00:15:24,400 >> [MUSIK] 295 00:15:24,400 --> 00:15:24,920 >> DAVID J. Malan: Baiklah. 296 00:15:24,920 --> 00:15:27,060 Sehingga kemudian adalah adil CS50. 297 00:15:27,060 --> 00:15:31,780 Sekarang, mari kita lanjutkan bercerita yang benar-benar akan memberdayakan Anda mudah-mudahan 298 00:15:31,780 --> 00:15:33,230 untuk hal-hal seperti proyek akhir. 299 00:15:33,230 --> 00:15:36,940 Jadi salah satu dari beberapa hal kecil untuk benih Anda pikiran, baik untuk proyek akhir 300 00:15:36,940 --> 00:15:40,470 atau hanya lebih umum untuk proyek-proyek yang Anda dapat memutuskan untuk mengatasi setelah 301 00:15:40,470 --> 00:15:45,720 Tentu saja, ini semua didokumentasikan pada manual.cs50.net dimana CS50 302 00:15:45,720 --> 00:15:48,010 manual dimana kita memiliki banyak teknik didokumentasikan. 303 00:15:48,010 --> 00:15:51,080 >> Dan ini hanya notasi singkat untuk mengatakan bahwa ada di 304 00:15:51,080 --> 00:15:55,190 hal dunia yang disebut SMS untuk email gateway, yang merupakan cara mewah 305 00:15:55,190 --> 00:15:58,180 mengatakan, ada server di dunia yang tahu bagaimana mengkonversi email ke 306 00:15:58,180 --> 00:15:59,230 pesan teks. 307 00:15:59,230 --> 00:16:02,450 Jadi, jika untuk proyek akhir Anda Anda ingin untuk membuat semacam bertema ponsel 308 00:16:02,450 --> 00:16:06,650 layanan yang memungkinkan Anda untuk mengingatkan teman atau pengguna untuk acara di kampus 309 00:16:06,650 --> 00:16:10,290 atau apa yang disajikan di Aula D malam itu atau fitur peringatan tersebut, 310 00:16:10,290 --> 00:16:15,150 tahu bahwa itu sederhana seperti mengirim email seperti PHPMailer yang Anda 311 00:16:15,150 --> 00:16:18,735 mungkin telah digunakan untuk pset7 atau kita melihat sebentar seminggu yang lalu, untuk 312 00:16:18,735 --> 00:16:20,440 alamat seperti ini. 313 00:16:20,440 --> 00:16:26,040 >> Dan bahkan Anda dapat teks ini mengasumsikan teman Anda memiliki texting terbatas 314 00:16:26,040 --> 00:16:28,310 merencanakan dan Anda tidak ingin untuk biaya mereka $ 0.10. 315 00:16:28,310 --> 00:16:31,920 Tetapi jika Anda mengirim email ke teman Anda yang Anda tahu memiliki Verizon atau 316 00:16:31,920 --> 00:16:35,870 AT & T menggunakan Gmail dan hanya mengirimnya ke nomor telepon mereka pada apapun yang 317 00:16:35,870 --> 00:16:38,980 sub domain yang ada, sadar bahwa Anda akan mengirim pesan teks. 318 00:16:38,980 --> 00:16:41,570 >> Tapi ini adalah salah satu dari hal-hal berhati-hati. 319 00:16:41,570 --> 00:16:47,430 Jika Anda troll melalui CS50 tahun lalu Saya pikir video itu, yang mengerikan, 320 00:16:47,430 --> 00:16:51,660 mengerikan, bug mengerikan saya menulis dalam kode akhirnya mengirim sekitar 20.000 teks 321 00:16:51,660 --> 00:16:55,410 pesan hidup untuk kami siswa di kelas. 322 00:16:55,410 --> 00:16:57,970 Dan hanya karena seseorang menyadari bahwa mereka mendapatkan beberapa teks 323 00:16:57,970 --> 00:17:01,860 pesan dari saya apakah saya memiliki sarana untuk menekan Control C cepat 324 00:17:01,860 --> 00:17:03,210 dan menghentikan proses tersebut. 325 00:17:03,210 --> 00:17:06,200 Kontrol C, Anda ingat, adalah teman Anda dalam kasus infinite loop. 326 00:17:06,200 --> 00:17:10,900 Jadi berhati-hatilah kekuatan yang baru saja kita diberikan Anda lebih bertanggung jawab, sebagian besar 327 00:17:10,900 --> 00:17:12,950 Kemungkinan besar, berdasarkan pengalaman saya sendiri. 328 00:17:12,950 --> 00:17:15,400 Tapi itu di web dan memiliki telah ada selama beberapa waktu. 329 00:17:15,400 --> 00:17:15,810 >> Baik. 330 00:17:15,810 --> 00:17:17,064 Jadi textmarks.com. 331 00:17:17,064 --> 00:17:18,040 Jadi ini adalah sebuah situs web. 332 00:17:18,040 --> 00:17:20,829 Dan ada tandan lain di luar sana juga bahwa kita sudah benar-benar digunakan 333 00:17:20,829 --> 00:17:24,050 sebagai kelas selama bertahun-tahun untuk dapat untuk menerima pesan teks. 334 00:17:24,050 --> 00:17:27,869 Sayangnya, mengirim pesan teks semudah mengirim email seperti itu. 335 00:17:27,869 --> 00:17:30,730 Menerima agak keras, terutama jika Anda ingin memiliki salah satu dari 336 00:17:30,730 --> 00:17:34,610 kode-kode singkat seksi yang hanya lama lima atau enam digit. 337 00:17:34,610 --> 00:17:37,720 >> Jadi misalnya, selama bertahun-tahun Anda sudah dapat mengirim pesan teks - dan Anda 338 00:17:37,720 --> 00:17:39,200 dapat mencoba ini juga - 339 00:17:39,200 --> 00:17:41,900 ke 41.411. 340 00:17:41,900 --> 00:17:44,300 Dan itu nomor telepon untuk ini startup tertentu. 341 00:17:44,300 --> 00:17:48,130 Dan jika Anda mengirim pesan ke 41.411 - 342 00:17:48,130 --> 00:17:51,190 Aku hanya akan menulis itu di sini, jadi 41.411 - 343 00:17:51,190 --> 00:17:54,290 dan kemudian mengirimkannya pesan seperti SBOY untuk Boy Shuttle. 344 00:17:54,290 --> 00:17:56,370 Dan kemudian mengetikkan sesuatu seperti Mather quad. 345 00:17:56,370 --> 00:17:59,360 Jadi anda mengirim pesan teks ke nomor telepon. 346 00:17:59,360 --> 00:18:02,630 Dalam beberapa detik Anda harus mendapatkan kembali respon dari CS50 Shuttle 347 00:18:02,630 --> 00:18:06,210 Layanan Boy, yang merupakan pesawat ulang-alik perangkat lunak penjadwalan yang kami sudah keluar 348 00:18:06,210 --> 00:18:07,290 ada di web untuk beberapa waktu. 349 00:18:07,290 --> 00:18:09,450 Dan itu akan merespon Anda melalui pesan teks. 350 00:18:09,450 --> 00:18:13,410 >> Karena apa yang telah kita lakukan sebagai sebuah kelas, seperti programmer, adalah untuk menulis perangkat lunak, 351 00:18:13,410 --> 00:18:18,760 dikonfigurasi akun gratis kami dengan teks tanda untuk mendengarkan pesan teks yang dikirim 352 00:18:18,760 --> 00:18:20,770 untuk SBOY di nomor itu. 353 00:18:20,770 --> 00:18:25,210 Dan apa yang mereka lakukan adalah maju teks tersebut pesan ke situs web berbasis PHP kita sebagai 354 00:18:25,210 --> 00:18:27,420 HTTP parameter mengatakan, di sini. 355 00:18:27,420 --> 00:18:30,380 Pengguna ini dengan nomor telepon ini mengirimkan pesan teks ini. 356 00:18:30,380 --> 00:18:31,850 Lakukan dengan itu apa yang Anda inginkan. 357 00:18:31,850 --> 00:18:35,180 >> Maka kami menulis beberapa perangkat lunak yang pada menerima string seperti SBOY Mather 358 00:18:35,180 --> 00:18:38,420 quad, kita mengurai itu. 359 00:18:38,420 --> 00:18:41,210 Kami mencari tahu di mana ruang adalah antara kata-kata. 360 00:18:41,210 --> 00:18:44,220 Dan kita sebagai sebuah kelas memutuskan bagaimana menanggapi itu. 361 00:18:44,220 --> 00:18:47,335 Dan jika Anda mencoba itu sekarang, misalnya, Anda akan melihat, melalui tanggapan dalam 362 00:18:47,335 --> 00:18:51,470 Beberapa detik, beberapa angkutan berikutnya akan dari Mather ke quad jika ada. 363 00:18:51,470 --> 00:18:52,260 Dan ada lain berhenti. 364 00:18:52,260 --> 00:18:56,060 Anda dapat mengetikkan Boylston atau lainnya seperti berhenti di kampus, dan seharusnya 365 00:18:56,060 --> 00:18:57,760 mengenali kata-kata. 366 00:18:57,760 --> 00:18:58,590 >> Jadi parse.com. 367 00:18:58,590 --> 00:19:01,630 Ini adalah layanan lain bahwa kita telah menunjuk beberapa siswa di untuk 368 00:19:01,630 --> 00:19:04,390 proyek akhir yang indah dalam bahwa itu gratis untuk 369 00:19:04,390 --> 00:19:05,660 jumlah yang wajar pemakaian. 370 00:19:05,660 --> 00:19:08,820 Dan jika aku pergi ke parse.com Anda akan melihat bahwa ini adalah sebuah alternatif untuk 371 00:19:08,820 --> 00:19:13,230 benar-benar memiliki sesuatu seperti database MySQL Anda sendiri. 372 00:19:13,230 --> 00:19:14,490 Dan terus terang, itu hanya jenis irama. 373 00:19:14,490 --> 00:19:17,450 Ini adalah apa yang ada di dalamnya dari awan bahkan pada hari berawan. 374 00:19:17,450 --> 00:19:21,580 >> Jadi parse.com memungkinkan Anda untuk melakukan banyak hal yang menarik. 375 00:19:21,580 --> 00:19:23,610 Dan ada alternatif lain ini di luar sana. 376 00:19:23,610 --> 00:19:26,870 Misalnya, Anda dapat menggunakannya sebagai end database punggung. 377 00:19:26,870 --> 00:19:28,980 Jadi Anda tidak perlu memiliki sebuah perusahaan hosting web. 378 00:19:28,980 --> 00:19:31,180 Anda tidak perlu memiliki database MySQL. 379 00:19:31,180 --> 00:19:32,850 Anda malah dapat menggunakan back end mereka. 380 00:19:32,850 --> 00:19:36,350 >> Jika Anda melakukan sebuah proyek mobile Android atau iOS atau sejenisnya, tahu bahwa 381 00:19:36,350 --> 00:19:39,776 terdapat hal-hal seperti layanan dorongan sehingga Anda dapat mendorong peringatan ke teman Anda 382 00:19:39,776 --> 00:19:41,390 atau layar rumah pengguna Anda '. 383 00:19:41,390 --> 00:19:43,600 Dan kemudian sekelompok lainnya fitur juga. 384 00:19:43,600 --> 00:19:47,200 >> Jadi jika Anda memiliki minat, check out website dan website seperti mereka 385 00:19:47,200 --> 00:19:50,720 hanya melihat berapa banyak orang lain bahu Anda dapat berdiri untuk membuat 386 00:19:50,720 --> 00:19:53,350 perangkat lunak benar-benar keren dari Anda sendiri. 387 00:19:53,350 --> 00:19:56,690 >> Sekarang dalam hal otentikasi, sebuah FAQ, adalah bagaimana Anda benar-benar menjamin 388 00:19:56,690 --> 00:20:01,220 bahwa pengguna Anda adalah orang-orang di kampus, Mahasiswa Harvard atau dosen atau staf? 389 00:20:01,220 --> 00:20:05,350 Jadi CS50 memiliki otentikasi sendiri layanan yang disebut CS50 ID. 390 00:20:05,350 --> 00:20:09,940 Pergi ke URL itu dan Anda dapat membatasi Anda website untuk siapa pun dengan Harvard 391 00:20:09,940 --> 00:20:11,340 ID, misalnya. 392 00:20:11,340 --> 00:20:12,550 Jadi tahu bahwa kita bisa mengatasinya. 393 00:20:12,550 --> 00:20:15,280 Kalian tidak boleh dalam bisnis untuk mengatakan, apa ID Harvard Anda? 394 00:20:15,280 --> 00:20:16,160 Apa PIN Harvard Anda? 395 00:20:16,160 --> 00:20:17,550 Sekarang saya melakukan sesuatu dengan itu. 396 00:20:17,550 --> 00:20:18,740 Kami akan melakukan semua itu. 397 00:20:18,740 --> 00:20:21,710 Dan apa yang kami akan memberikan Anda kembali adalah nama seseorang dan alamat email, tapi 398 00:20:21,710 --> 00:20:23,010 tidak apa-apa sensitif. 399 00:20:23,010 --> 00:20:26,240 400 00:20:26,240 --> 00:20:30,380 >> Sebuah aplikasi pada perangkat mobile, dapat dibuat untuk bekerja pada perangkat mobile, tapi 401 00:20:30,380 --> 00:20:32,630 itu tidak cukup dirancang untuk itu. 402 00:20:32,630 --> 00:20:35,640 Jadi, Anda akan berakhir menghabiskan non sepele jumlah waktu melakukannya. 403 00:20:35,640 --> 00:20:38,040 Jadi saya akan mencegah rute itu untuk saat ini. 404 00:20:38,040 --> 00:20:41,570 Ini benar-benar ditujukan untuk aplikasi berbasis web. 405 00:20:41,570 --> 00:20:42,650 >> Jadi web hosting. 406 00:20:42,650 --> 00:20:44,450 Jadi, jika Anda belum melihat pada homepage kursus itu - 407 00:20:44,450 --> 00:20:46,610 dan di sinilah kita akan mulai cerita - 408 00:20:46,610 --> 00:20:50,900 web hosting adalah semua tentang membayar untuk biasanya layanan, host server yang dimiliki 409 00:20:50,900 --> 00:20:54,800 oleh orang lain di web yang memiliki Alamat IP, dan Anda kemudian menempatkan Anda 410 00:20:54,800 --> 00:20:55,880 situs di atasnya. 411 00:20:55,880 --> 00:20:58,620 Dan mereka biasanya memberikan email rekening dan database 412 00:20:58,620 --> 00:21:00,160 dan fitur seperti lainnya. 413 00:21:00,160 --> 00:21:02,930 >> Ketahuilah bahwa jika Anda tidak ingin benar-benar membayar untuk itu, pergi ke URL yang 414 00:21:02,930 --> 00:21:06,280 sana dan CS50 benar-benar memiliki non-profit account yang dapat Anda gunakan untuk 415 00:21:06,280 --> 00:21:11,490 sebenarnya belum http://proyek dalam alat 416 00:21:11,490 --> 00:21:12,470 untuk proyek akhir Anda. 417 00:21:12,470 --> 00:21:16,465 Jika Anda benar-benar ingin menjadi sesuatu seperti, isawyouharvard.com, 418 00:21:16,465 --> 00:21:19,730 Anda dapat membeli nama domain - meskipun Bukankah itu satu tertentu - dan 419 00:21:19,730 --> 00:21:24,070 maka Anda dapat pergi tentang hosting di web server publik seperti kami dapat menawarkan 420 00:21:24,070 --> 00:21:25,170 kalian lewat sini. 421 00:21:25,170 --> 00:21:27,240 >> Dan sebenarnya kalau asing, jika Anda belum pernah ke 422 00:21:27,240 --> 00:21:30,590 isawyouharvard.com, satu, pergi ke sana. 423 00:21:30,590 --> 00:21:37,310 Tapi dua, tahu bahwa itu adalah muda Nama wanita dengan Tej Untuk Toor Terlalu dua 424 00:21:37,310 --> 00:21:41,550 tahun yang lalu, tiga tahun lalu, yang merupakan CS50 alumni yang terjadi satu atau dua hari 425 00:21:41,550 --> 00:21:46,280 sebelum CS50 adil mengirimkan email ke milis rumahnya dan voila. 426 00:21:46,280 --> 00:21:49,770 Dua hari kemudian oleh CS50 adil, dia punya ratusan pengguna semua merayap pada 427 00:21:49,770 --> 00:21:53,240 satu sama lain di website-nya dan mengatakan bagaimana mereka telah melihat 428 00:21:53,240 --> 00:21:55,250 dia atau dia di kampus. 429 00:21:55,250 --> 00:21:57,600 Jadi itulah salah satu CS50 favorit kisah sukses dari 430 00:21:57,600 --> 00:21:59,650 proyek akhir CS50. 431 00:21:59,650 --> 00:22:04,090 >> Jadi bagaimana Anda pergi tentang menempatkan sebuah situs web seperti itu di internet? 432 00:22:04,090 --> 00:22:07,140 Nah, ada beberapa seperti bahan di sini. 433 00:22:07,140 --> 00:22:09,310 Jadi satu, Anda harus membeli nama domain. 434 00:22:09,310 --> 00:22:12,440 Ada tandan tempat di dunia dari mana Anda dapat 435 00:22:12,440 --> 00:22:13,940 membeli nama domain. 436 00:22:13,940 --> 00:22:16,660 Dan misalnya, salah satu yang kami sarankan hanya karena populer 437 00:22:16,660 --> 00:22:18,855 dan murah disebut namecheap.com. 438 00:22:18,855 --> 00:22:22,860 Tapi Anda bisa pergi godaddy.com dan puluhan orang lain di luar sana. 439 00:22:22,860 --> 00:22:24,420 Anda dapat membaca tentang review. 440 00:22:24,420 --> 00:22:26,250 >> Tapi untuk sebagian besar itu tidak penting dari siapa Anda 441 00:22:26,250 --> 00:22:27,720 membeli nama domain. 442 00:22:27,720 --> 00:22:30,780 Dan mereka bervariasi dalam harga dan mereka berbeda dalam akhiran. 443 00:22:30,780 --> 00:22:37,140 Akhiran seperti. Com,. Net, . Org, io., Tv., Mereka 444 00:22:37,140 --> 00:22:38,650 sebenarnya bervariasi dalam harga. 445 00:22:38,650 --> 00:22:43,630 Tetapi jika kita ingin melakukan sesuatu seperti cats.com kita bisa pergi ke website ini, 446 00:22:43,630 --> 00:22:44,280 klik Pencarian. 447 00:22:44,280 --> 00:22:46,370 Agaknya satu ini diambil. 448 00:22:46,370 --> 00:22:50,170 Namun ternyata, catsagainst.com tersedia. 449 00:22:50,170 --> 00:22:52,100 pluscats.com tersedia. 450 00:22:52,100 --> 00:22:53,780 Lovecats, catscorner, dampcats.net. 451 00:22:53,780 --> 00:22:56,320 452 00:22:56,320 --> 00:22:59,135 Semua ini mudah-mudahan semu acak. 453 00:22:59,135 --> 00:23:04,670 Jika Anda ingin cats.pw, $ 1500 saja, yang sedikit gila. 454 00:23:04,670 --> 00:23:08,100 Jadi seseorang telah benar-benar menyambar semua kucing nama domain terkait di sini untuk 455 00:23:08,100 --> 00:23:09,840 harga yang bervariasi. 456 00:23:09,840 --> 00:23:12,360 >> Sebagai samping, mari kita lihat. 457 00:23:12,360 --> 00:23:13,710 Siapa yang memiliki cats.com? 458 00:23:13,710 --> 00:23:16,290 Ketahuilah bahwa kalian memiliki Anda inginkan cukup 459 00:23:16,290 --> 00:23:17,540 perintah canggih sekarang. 460 00:23:17,540 --> 00:23:20,592 Seperti saya dapat mengetik secara harfiah yang cats.com? 461 00:23:20,592 --> 00:23:23,730 Dan karena cara internet terstruktur Anda benar-benar dapat melihat siapa 462 00:23:23,730 --> 00:23:25,440 telah terdaftar ini. 463 00:23:25,440 --> 00:23:30,240 Rupanya orang ini [Tak terdengar] menggunakan layanan proxy. 464 00:23:30,240 --> 00:23:33,900 Jadi siapa pun yang memiliki cats.com tidak ingin dunia tahu siapa mereka. 465 00:23:33,900 --> 00:23:36,610 Jadi mereka sudah terdaftar jika melalui beberapa layanan privasi acak. 466 00:23:36,610 --> 00:23:39,100 Tapi kadang-kadang Anda benar-benar mendapatkan pemilik yang sebenarnya. 467 00:23:39,100 --> 00:23:41,420 >> Dan ini adalah untuk mengatakan, terutama jika Anda mengejar beberapa startup dan Anda 468 00:23:41,420 --> 00:23:44,640 benar-benar ingin beberapa nama domain dan Anda bersedia membayar orang lain untuk 469 00:23:44,640 --> 00:23:48,050 itu, Anda dapat mengetahui kontak informasi dengan cara itu. 470 00:23:48,050 --> 00:23:49,940 >> Tetapi juga menarik adalah ini. 471 00:23:49,940 --> 00:23:53,380 Mari saya gulir ke atas untuk bagian ini. 472 00:23:53,380 --> 00:23:55,330 Jadi ini adalah bahwa output yang sama. 473 00:23:55,330 --> 00:23:56,990 Dan ini hanya norak. 474 00:23:56,990 --> 00:24:00,740 Begitu rupanya cats.com dapat milikmu untuk harga yang tepat. 475 00:24:00,740 --> 00:24:03,170 Tapi apa yang menarik di sini adalah bahwa nama server - 476 00:24:03,170 --> 00:24:06,040 ini jumlah penyalahgunaan apa nama Server seharusnya - nama Anda 477 00:24:06,040 --> 00:24:08,876 server tidak seharusnya thisdomainforsale.com. 478 00:24:08,876 --> 00:24:11,050 Jika kita benar-benar memilih sesuatu seperti - 479 00:24:11,050 --> 00:24:15,181 mari kita memilih sesuatu yang sedikit lebih sah seperti, yang google.com, 480 00:24:15,181 --> 00:24:17,030 dan gulir ke atas sini. 481 00:24:17,030 --> 00:24:18,280 Jadi di sini - 482 00:24:18,280 --> 00:24:20,600 483 00:24:20,600 --> 00:24:21,740 apa yang terjadi di sana? 484 00:24:21,740 --> 00:24:22,480 Menarik. 485 00:24:22,480 --> 00:24:25,290 Di luar yang - 486 00:24:25,290 --> 00:24:26,610 Mari kita menjaga kunci lebih rendah. 487 00:24:26,610 --> 00:24:28,370 >> Siapa mit.edu? 488 00:24:28,370 --> 00:24:28,810 OK. 489 00:24:28,810 --> 00:24:29,900 Ini sangat membantu. 490 00:24:29,900 --> 00:24:31,400 Jadi ini adalah apa yang saya harapkan. 491 00:24:31,400 --> 00:24:33,930 Penggunaan yang sah dari layanan DNS. 492 00:24:33,930 --> 00:24:36,750 Nama server di sini menunjukkan berikut. 493 00:24:36,750 --> 00:24:40,880 Ini adalah cara MIT mengatakan, setiap kali seseorang di dunia ini, di mana pun mereka 494 00:24:40,880 --> 00:24:46,950 adalah, jenis dalam mit.edu dan hit Enter, laptop Anda, apakah Mac atau PC, akan 495 00:24:46,950 --> 00:24:51,830 entah bagaimana akhirnya mengetahui bahwa orang di dunia yang tahu apa 496 00:24:51,830 --> 00:24:58,130 Alamat IP untuk mit.edu atau salah satu sub domain di mit.edu atau salah 497 00:24:58,130 --> 00:25:01,660 ini server di sini - dan itu benar-benar Sepertinya infrastruktur MIT adalah 498 00:25:01,660 --> 00:25:03,370 cukup kuat seperti yang Anda harapkan. 499 00:25:03,370 --> 00:25:07,050 Mereka memiliki beberapa nama server yang baik untuk redundansi. 500 00:25:07,050 --> 00:25:09,840 Dan pada kenyataannya, mereka tampaknya global didistribusikan di seluruh dunia. 501 00:25:09,840 --> 00:25:13,250 Sekelompok dari mereka tampaknya berada di AS, beberapa di Asia, satu di Eropa, dua 502 00:25:13,250 --> 00:25:14,540 di tempat lain. 503 00:25:14,540 --> 00:25:18,000 >> Tapi intinya di sini adalah bahwa DNS yang kita telah mengambil untuk diberikan dan 504 00:25:18,000 --> 00:25:21,990 umumnya digambarkan sebagai tabel Excel besar yang memiliki alamat IP dan domain 505 00:25:21,990 --> 00:25:25,890 nama sebenarnya cukup canggih layanan hirarkis sehingga dalam 506 00:25:25,890 --> 00:25:29,170 dunia sebenarnya ada jumlah terbatas server yang pada dasarnya tahu di mana 507 00:25:29,170 --> 00:25:32,880 semua. com adalah atau semua tersebut. jaring, semua 508 00:25:32,880 --> 00:25:34,650 . Orgs adalah, dan sebagainya. 509 00:25:34,650 --> 00:25:37,820 >> Jadi, ketika Anda pergi ke depan dan membeli domain Nama dari tempat seperti Nama Murah atau 510 00:25:37,820 --> 00:25:41,450 Go Daddy atau website lain, salah satu langkah-langkah kunci yang Anda harus lakukan 511 00:25:41,450 --> 00:25:45,180 Anda, jika Anda melakukan ini bahkan untuk akhir Anda proyek, adalah memberitahu petugas 512 00:25:45,180 --> 00:25:49,020 dari siapa Anda membeli domain Nama, yang di dunia tahu Anda 513 00:25:49,020 --> 00:25:52,310 alamat IP website, yang nama server Anda. 514 00:25:52,310 --> 00:25:55,750 >> Jadi jika Anda menggunakan, misalnya CS50 ini account hosting - kita kebetulan memiliki 515 00:25:55,750 --> 00:25:57,760 akun ini melalui dreamhost.com yang merupakan 516 00:25:57,760 --> 00:25:59,560 web populer hosting perusahaan - 517 00:25:59,560 --> 00:26:03,530 mereka akan memberitahu Anda bahwa Anda harus membeli domain Anda dan memberitahu dunia bahwa 518 00:26:03,530 --> 00:26:09,410 server nama domain Anda adalah ns1.dreamhost.com, ns2.dreamhost.com, 519 00:26:09,410 --> 00:26:11,470 dan ns3.dreamhost.com. 520 00:26:11,470 --> 00:26:12,600 >> Tapi itu. 521 00:26:12,600 --> 00:26:15,480 Membeli nama domain berarti memberi mereka uang dan mendapatkan kepemilikan 522 00:26:15,480 --> 00:26:17,190 domain, tapi itu lebih seperti sewa meskipun. 523 00:26:17,190 --> 00:26:20,060 Anda mendapatkannya selama satu tahun dan kemudian mereka tagihan Anda recurringly untuk sisa 524 00:26:20,060 --> 00:26:22,130 hidup Anda sampai Anda membatalkan nama domain. 525 00:26:22,130 --> 00:26:24,510 Dan kemudian Anda memberitahu mereka siapa nama server adalah. 526 00:26:24,510 --> 00:26:26,190 Tapi kemudian Anda sudah selesai dengan registrar Anda. 527 00:26:26,190 --> 00:26:30,130 Dan dari sana Anda akan berinteraksi hanya dengan perusahaan web hosting Anda, yang 528 00:26:30,130 --> 00:26:32,030 dalam kasus CS50 akan menjadi Dreamhost. 529 00:26:32,030 --> 00:26:36,080 Tapi sekali lagi, dokumentasi lebih akan diberikan kepada Anda jika Anda memutuskan untuk pergi 530 00:26:36,080 --> 00:26:37,170 rute itu. 531 00:26:37,170 --> 00:26:40,750 >> Jadi jika Anda melakukan ini setelah kursus ini end, cukup googling web hosting 532 00:26:40,750 --> 00:26:42,830 perusahaan akan muncul ribuan pilihan. 533 00:26:42,830 --> 00:26:45,720 Dan saya biasanya akan mendorong Anda untuk meminta teman-teman yang mungkin telah menggunakan 534 00:26:45,720 --> 00:26:49,350 perusahaan sebelumnya jika mereka sarankan mereka dan memiliki pengalaman yang baik. 535 00:26:49,350 --> 00:26:52,680 >> Karena ada banyak terbang di malam hari web hosting perusahaan, seperti seorang pria di 536 00:26:52,680 --> 00:26:55,220 basement dengan server yang memiliki alamat IP. 537 00:26:55,220 --> 00:26:58,980 Dia memiliki beberapa tambahan RAM dan hard disk ruang dan hanya menjual web hosting 538 00:26:58,980 --> 00:27:02,380 rekening meskipun tidak ada cara yang Server bisa menangani ratusan 539 00:27:02,380 --> 00:27:04,050 pengguna atau ribuan pengguna. 540 00:27:04,050 --> 00:27:06,260 Jadi menyadari Anda akan mendapatkan apa yang Anda bayar. 541 00:27:06,260 --> 00:27:09,510 >> Untuk sementara cukup untuk rumah pribadi saya Halaman - dan ini benar-benar diterima 542 00:27:09,510 --> 00:27:11,830 karena aku, seperti, dua pengunjung per bulan - 543 00:27:11,830 --> 00:27:14,990 Saya membayar, seperti, $ 2,95 per bulan. 544 00:27:14,990 --> 00:27:17,230 Dan aku cukup yakin itu di ruang bawah tanah seseorang. 545 00:27:17,230 --> 00:27:20,800 Tapi sekali lagi, Anda tidak mendapatkan selalu jaminan uptime atau 546 00:27:20,800 --> 00:27:21,840 skalabilitas. 547 00:27:21,840 --> 00:27:24,560 Jadi sekali lagi, Anda biasanya melihat pada sesuatu yang lebih dari itu. 548 00:27:24,560 --> 00:27:26,220 >> Nah, bagaimana dengan SSL? 549 00:27:26,220 --> 00:27:27,690 Jadi apa yang SSL digunakan untuk? 550 00:27:27,690 --> 00:27:30,320 Sekarang mari kita mulai untuk mengarahkan dalam arah keamanan dan hal-hal yang 551 00:27:30,320 --> 00:27:32,330 dapat merugikan kita. 552 00:27:32,330 --> 00:27:36,890 Terutama karena Anda usaha keluar pada Anda sendiri. 553 00:27:36,890 --> 00:27:41,650 >> Apa SSL, atau apa yang SSL digunakan untuk? 554 00:27:41,650 --> 00:27:42,660 Keamanan, OK. 555 00:27:42,660 --> 00:27:44,000 Jadi itu digunakan untuk keamanan. 556 00:27:44,000 --> 00:27:44,640 Apa artinya? 557 00:27:44,640 --> 00:27:47,170 Jadi singkatan dari Secure Socket Layer. 558 00:27:47,170 --> 00:27:52,330 Dan hal ini ditunjukkan oleh URL yang dimulai dengan https://. 559 00:27:52,330 --> 00:27:58,410 Banyak dari kita mungkin pernah diketik https://, tetapi Anda akan sering menemukan bahwa 560 00:27:58,410 --> 00:28:03,000 browser Anda diarahkan dari HTTP untuk HTTPS sehingga semuanya ada 561 00:28:03,000 --> 00:28:04,260 setelah dienkripsi. 562 00:28:04,260 --> 00:28:10,810 >> FYI, menggunakan SSL membutuhkan biasanya yang Anda memiliki alamat IP yang unik. 563 00:28:10,810 --> 00:28:13,940 Dan biasanya untuk mendapatkan alamat IP yang unik Anda perlu membayar web hosting 564 00:28:13,940 --> 00:28:15,850 perusahaan beberapa dolar lebih per bulan. 565 00:28:15,850 --> 00:28:19,850 Jadi menyadari hal ini sangat mudah dilaksanakan hari ini dengan membeli sebuah IP 566 00:28:19,850 --> 00:28:22,930 alamat dan dengan membeli apa yang disebut sertifikat SSL. 567 00:28:22,930 --> 00:28:26,520 Tapi menyadari bahwa itu tidak datang di beberapa biaya tambahan. 568 00:28:26,520 --> 00:28:30,880 Dan, seperti yang kita akan mencoba untuk menakut-nakuti hanya dalam bit, itu bahkan tidak perlu 100% 569 00:28:30,880 --> 00:28:34,040 pelindung apa pun itu Anda mencoba untuk melindungi. 570 00:28:34,040 --> 00:28:38,620 >> Jadi untuk keamanan, aku pikir aku akan melakukan semacam Shalawat acak di sini. 571 00:28:38,620 --> 00:28:42,820 Seperti yang anda ketahui dari kuliah CS50 ini video, tim produksi kami telah menjadi 572 00:28:42,820 --> 00:28:46,770 fan seperti yang telah saya mengambil benar-benar baik fotografi kampus, dan udara 573 00:28:46,770 --> 00:28:48,370 fotografi yang paling baru-baru ini. 574 00:28:48,370 --> 00:28:51,450 Jika Anda pernah melihat ke atas dan Anda melihat sesuatu yang terbang dengan kamera kecil, 575 00:28:51,450 --> 00:28:53,410 itu benar-benar mungkin CS50. 576 00:28:53,410 --> 00:28:55,830 Dan saya hanya berpikir saya akan berbagi menit beberapa rekaman tim memiliki 577 00:28:55,830 --> 00:28:59,450 berkumpul, terutama karena kami melihat ke semester musim semi dan musim gugur mendatang. 578 00:28:59,450 --> 00:29:03,320 Jika salah satu dari Anda memiliki bakat untuk fotografi, videografi, kami akan 579 00:29:03,320 --> 00:29:05,570 senang untuk membuat Anda terlibat belakang layar. 580 00:29:05,570 --> 00:29:07,595 Tapi lebih pada detail-detail dalam seminggu. 581 00:29:07,595 --> 00:29:18,560 >> [MUSIK] 582 00:29:18,560 --> 00:29:20,750 >> DAVID J. Malan: Ternyata ada golf mini di atas 583 00:29:20,750 --> 00:29:22,754 stadion yang kita tidak pernah tahu tentang. 584 00:29:22,754 --> 00:30:06,150 >> [MUSIK] 585 00:30:06,150 --> 00:30:08,440 >> DAVID J. Malan: Anda dapat melihat garis dari pesawat tak berawak di sana. 586 00:30:08,440 --> 00:30:24,160 >> [MUSIK] 587 00:30:24,160 --> 00:30:26,280 >> DAVID J. Malan: Bagian yang terbaik di sini adalah, menonton pelari di sebelah kiri. 588 00:30:26,280 --> 00:30:52,900 >> [MUSIK] 589 00:30:52,900 --> 00:30:56,920 >> DAVID J. Malan: Contoh lain dari apa yang Anda dapat melakukannya dengan teknologi yang 590 00:30:56,920 --> 00:30:58,900 hanya menyinggung, terus terang, berkaitan dengan keamanan. 591 00:30:58,900 --> 00:31:01,710 Tapi saya pikir itu akan menjadi lebih cara yang menyenangkan hanya mengatakan, keamanan. 592 00:31:01,710 --> 00:31:07,780 Jadi mari kita lihat jika kita tidak bisa menakut-nakuti kalian sekarang dengan tidak hanya sedikit beberapa 593 00:31:07,780 --> 00:31:10,590 ancaman, tetapi juga yang mendasari memahami apa ancaman ini 594 00:31:10,590 --> 00:31:13,830 yang sehingga Anda dapat bergerak maju memutuskan bagaimana dan apakah untuk membela 595 00:31:13,830 --> 00:31:17,290 diri terhadap hal-hal ini dan pada Setidaknya untuk berhati-hati dari mereka yang Anda 596 00:31:17,290 --> 00:31:20,530 membuat keputusan mengenai apakah atau tidak untuk mengirim email itu, apakah atau tidak untuk login 597 00:31:20,530 --> 00:31:24,920 ke situs web itu, apakah atau tidak untuk menggunakan kafe cyber Wi-Fi gratis 598 00:31:24,920 --> 00:31:28,210 point sehingga Anda tahu apa yang ancaman memang di sekitar Anda. 599 00:31:28,210 --> 00:31:30,990 >> Jadi Jonathan disebut sesuatu seperti ini pada hari Senin. 600 00:31:30,990 --> 00:31:32,220 Ia memiliki layar tembakan jendela. 601 00:31:32,220 --> 00:31:33,630 Yang satu ini adalah sebuah Mac. 602 00:31:33,630 --> 00:31:36,850 Berapa banyak dari Anda pernah menginstal perangkat lunak pada Mac atau PC? 603 00:31:36,850 --> 00:31:38,420 Jelas semua orang. 604 00:31:38,420 --> 00:31:41,590 Berapa banyak dari Anda telah memberikan banyak pemikiran untuk mengetikkan kata sandi Anda 605 00:31:41,590 --> 00:31:43,030 ketika diminta? 606 00:31:43,030 --> 00:31:44,740 Maksudku, bahkan aku tidak, terus terang. 607 00:31:44,740 --> 00:31:48,730 Jadi beberapa dari kita baik di menjadi paranoid. 608 00:31:48,730 --> 00:31:50,490 Tapi mempertimbangkan apa yang Anda benar-benar lakukan di sini. 609 00:31:50,490 --> 00:31:53,280 >> Pada Mac khas atau PC Anda memiliki akun administrator. 610 00:31:53,280 --> 00:31:56,450 Dan biasanya Anda satu-satunya menggunakan laptop setidaknya hari ini. 611 00:31:56,450 --> 00:31:59,780 Jadi account Anda, Malan atau JHarvard atau apapun itu, adalah 612 00:31:59,780 --> 00:32:00,830 account administrator. 613 00:32:00,830 --> 00:32:03,530 Dan apa itu artinya Anda telah akar akses ke komputer Anda. 614 00:32:03,530 --> 00:32:06,180 Anda dapat menginstal apa pun yang Anda inginkan, menghapus apa pun yang Anda inginkan. 615 00:32:06,180 --> 00:32:10,800 >> Dan biasanya hari ini, karena keputusan desain tanggal dari tahun yang lalu, 616 00:32:10,800 --> 00:32:14,560 cara yang paling lunak terinstal adalah sebagai administrator. 617 00:32:14,560 --> 00:32:18,180 Dan bahkan jika Mac atau PC memiliki setidaknya mendapatkan cukup cerdas atas 618 00:32:18,180 --> 00:32:22,010 tahun dengan inkarnasi terbaru Mac OS dan Windows untuk tidak lari Anda 619 00:32:22,010 --> 00:32:26,130 Username secara default sebagai administrator, ketika Anda men-download beberapa 620 00:32:26,130 --> 00:32:29,160 program baru dari internet dan mencoba untuk menginstalnya, Anda mungkin akan 621 00:32:29,160 --> 00:32:30,880 akan diminta untuk memasukkan sandi Anda. 622 00:32:30,880 --> 00:32:34,790 Tapi menangkap adalah pada titik itu, Anda harfiah menyerahkan kunci-kunci Anda 623 00:32:34,790 --> 00:32:38,620 komputer melalui apa pun acak Program baru saja Anda download dan 624 00:32:38,620 --> 00:32:41,590 memungkinkan untuk menginstal apapun yang diinginkannya. 625 00:32:41,590 --> 00:32:45,050 >> Dan seperti Jonathan disinggung, menyadari bahwa itu mungkin mengatakan bahwa ia ingin 626 00:32:45,050 --> 00:32:49,350 menginstal perangkat lunak Anda bahwa Anda peduli tentang, Spotify atau iTunes atau apa pun 627 00:32:49,350 --> 00:32:50,900 itu Anda mencoba untuk menginstal. 628 00:32:50,900 --> 00:32:54,710 Tapi kau benar-benar mempercayai penulis atau penulis perangkat lunak untuk 629 00:32:54,710 --> 00:32:57,570 hanya melakukan apa program yang seharusnya dilakukan. 630 00:32:57,570 --> 00:33:02,320 >> Tapi ada apa-apa menghentikan sebagian besar program pada kebanyakan 631 00:33:02,320 --> 00:33:06,910 sistem operasi dari menghapus file, dari meng-upload ke beberapa perusahaan 632 00:33:06,910 --> 00:33:10,040 website, dari trolling sekitar, untuk mengenkripsi hal. 633 00:33:10,040 --> 00:33:12,970 Dan lagi, kita sudah semacam dibangun infrastruktur seluruh atas 634 00:33:12,970 --> 00:33:14,930 tahun pada kepercayaan. 635 00:33:14,930 --> 00:33:18,690 Dan menyadari bahwa Anda baru saja mempercayai orang acak dan random 636 00:33:18,690 --> 00:33:20,050 perusahaan untuk sebagian besar. 637 00:33:20,050 --> 00:33:24,860 >> Dan Yonatan disinggung juga, kadang-kadang perusahaan-perusahaan itu sendiri adalah semacam 638 00:33:24,860 --> 00:33:26,410 sengaja berbahaya, oke? 639 00:33:26,410 --> 00:33:30,200 Sony menangkap banyak Flack beberapa tahun lalu untuk menginstal apa yang disebut 640 00:33:30,200 --> 00:33:33,220 rootkit kit di komputer orang tanpa sepengetahuan mereka. 641 00:33:33,220 --> 00:33:36,570 Dan inti dari ini adalah bahwa ketika Anda membeli CD misalnya bahwa mereka 642 00:33:36,570 --> 00:33:40,050 tidak ingin Anda dapat menyalin atau rip musik off, CD akan 643 00:33:40,050 --> 00:33:42,600 menginstal, tanpa Anda tahu, rootkit pada komputer Anda. 644 00:33:42,600 --> 00:33:46,020 Rootkit hanya berarti perangkat lunak yang berjalan sebagai administrator yang berpotensi 645 00:33:46,020 --> 00:33:47,260 melakukan hal-hal buruk. 646 00:33:47,260 --> 00:33:50,780 >> Tapi di antara hal hal ini lakukan adalah menyembunyikan itu sendiri. 647 00:33:50,780 --> 00:33:53,660 Jadi beberapa dari Anda mungkin cukup cerdas dengan komputer Anda dan tahu, well, aku 648 00:33:53,660 --> 00:33:57,310 hanya dapat membuka Task Manager atau Activity Monitor dan aku dapat melihat sama sekali 649 00:33:57,310 --> 00:33:59,150 dari program bernama arcanely yang sedang berjalan. 650 00:33:59,150 --> 00:34:01,760 Dan jika sesuatu terlihat mencurigakan Aku akan membunuhnya atau menghapusnya. 651 00:34:01,760 --> 00:34:02,980 Tapi itulah yang rootkit lakukan. 652 00:34:02,980 --> 00:34:07,070 Ini dasarnya mengatakan, jika menjalankan Task Manager, tidak menunjukkan diri. 653 00:34:07,070 --> 00:34:08,500 >> Jadi software itu ada. 654 00:34:08,500 --> 00:34:12,710 Dan hanya jika Anda benar-benar, benar-benar tampak keras Anda bahkan bisa menemukannya. 655 00:34:12,710 --> 00:34:15,670 Dan ini dilakukan dalam nama perlindungan salinan. 656 00:34:15,670 --> 00:34:18,230 Tapi bayangkan apa yang bisa telah dilakukan sebaliknya. 657 00:34:18,230 --> 00:34:19,699 >> Sekarang dalam hal melindungi diri. 658 00:34:19,699 --> 00:34:22,190 Banyak website yang mengagumkan ramah dalam bahwa mereka menempatkan ini 659 00:34:22,190 --> 00:34:26,480 ikon gembok di situs mereka yang berarti bahwa website tersebut aman. 660 00:34:26,480 --> 00:34:28,870 Ini dari bankofamerica.com pagi ini. 661 00:34:28,870 --> 00:34:32,239 Jadi, apa yang ikon gembok kecil ada berarti sebelah tombol Sign In? 662 00:34:32,239 --> 00:34:35,699 663 00:34:35,699 --> 00:34:36,790 >> Benar-benar tidak. 664 00:34:36,790 --> 00:34:39,560 Ini berarti seseorang yang tahu bagaimana menggunakan Photoshop untuk membuat gambar dari 665 00:34:39,560 --> 00:34:40,590 ikon gembok. 666 00:34:40,590 --> 00:34:44,449 Seperti harfiah, fakta bahwa itu ada dimaksudkan untuk menjadi positif 667 00:34:44,449 --> 00:34:46,880 sinyal kepada pengguna seperti, ooh, situs aman. 668 00:34:46,880 --> 00:34:50,449 Harus saya percaya situs ini dan sekarang mengetikkan username dan password saya. 669 00:34:50,449 --> 00:34:53,870 Dan ini telah menjadi konvensional untuk tahun, baru-baru pagi ini. 670 00:34:53,870 --> 00:34:56,949 >> Tapi mempertimbangkan kebiasaan yang ini semakin kita ke dalam. 671 00:34:56,949 --> 00:35:00,600 Pertimbangkan pesan implisit bahwa semua dari bank-bank dalam hal ini telah 672 00:35:00,600 --> 00:35:01,830 mengirimkan selama bertahun-tahun. 673 00:35:01,830 --> 00:35:05,160 Jika Anda melihat gembok, lalu kencangkan. 674 00:35:05,160 --> 00:35:05,340 Baiklah? 675 00:35:05,340 --> 00:35:10,520 >> Jadi bagaimana Anda bisa menyalahgunakan sistem yang kepercayaan jika Anda adalah orang jahat? 676 00:35:10,520 --> 00:35:14,100 Pasang gembok di website Anda, dan logis, pengguna telah 677 00:35:14,100 --> 00:35:17,260 dikondisikan selama bertahun-tahun untuk mengasumsikan gembok berarti aman. 678 00:35:17,260 --> 00:35:19,310 Dan sebenarnya mungkin aman. 679 00:35:19,310 --> 00:35:24,810 Anda mungkin memiliki sangat aman SSL koneksi HTTPS ke 680 00:35:24,810 --> 00:35:26,452 website palsu. com. 681 00:35:26,452 --> 00:35:30,150 Dan tidak ada orang lain di dunia dapat melihat bahwa Anda akan menyerahkan dia 682 00:35:30,150 --> 00:35:32,790 username dan password Anda ke akun Anda. 683 00:35:32,790 --> 00:35:35,110 >> Meskipun ini, mungkin, adalah sedikit lebih meyakinkan. 684 00:35:35,110 --> 00:35:38,600 Jadi ini adalah screen shot dari atas dari browser saya pagi ini di 685 00:35:38,600 --> 00:35:39,910 bankofamerica.com. 686 00:35:39,910 --> 00:35:43,270 Dan perhatikan di sini juga kita memiliki ikon gembok. 687 00:35:43,270 --> 00:35:48,040 Apa artinya dalam konteks ini di Chrome setidaknya? 688 00:35:48,040 --> 00:35:49,520 >> Jadi ini sekarang menggunakan SSL. 689 00:35:49,520 --> 00:35:51,220 Jadi ini sebenarnya adalah sebuah hal yang lebih baik. 690 00:35:51,220 --> 00:35:54,250 Dan fakta bahwa Chrome membuat hijau dimaksudkan untuk menarik perhatian kita 691 00:35:54,250 --> 00:35:56,750 dengan fakta bahwa ini adalah tidak hanya melalui SSL. 692 00:35:56,750 --> 00:36:01,400 Ini adalah perusahaan yang seseorang ada diverifikasi sebenarnya 693 00:36:01,400 --> 00:36:02,520 bankofamerica.com. 694 00:36:02,520 --> 00:36:05,970 Dan itu berarti bahwa Bank of America, ketika membeli mereka disebut SSL 695 00:36:05,970 --> 00:36:09,680 sertifikat, acak dasarnya besar, nomor agak acak yang menerapkan 696 00:36:09,680 --> 00:36:14,710 keamanan bagi mereka, mereka telah diverifikasi oleh beberapa ketiga yang independen 697 00:36:14,710 --> 00:36:15,570 pihak yang mengatakan, yep. 698 00:36:15,570 --> 00:36:19,240 Ini sebenarnya adalah CEO Bank Amerika mencoba untuk membeli sertifikat. 699 00:36:19,240 --> 00:36:23,290 Krom karena itu akan percaya bahwa otoritas sertifikasi dan katakan dalam 700 00:36:23,290 --> 00:36:25,265 hijau, ini bankofamerica.com. 701 00:36:25,265 --> 00:36:27,997 Dan Bank of America hanya membayar beberapa ratus dolar untuk itu atau beberapa 702 00:36:27,997 --> 00:36:30,800 ribu sebagai lawan beberapa puluhan dolar. 703 00:36:30,800 --> 00:36:34,940 >> Tapi di sini juga, berapa banyak dari Anda yang pernah berperilaku secara berbeda karena 704 00:36:34,940 --> 00:36:38,576 URL di browser Anda hijau, bukan hitam? 705 00:36:38,576 --> 00:36:39,900 Benar? 706 00:36:39,900 --> 00:36:40,600 Jadi beberapa dari kita. 707 00:36:40,600 --> 00:36:42,115 Dan itu bagus untuk menjadi paranoid. 708 00:36:42,115 --> 00:36:45,910 Tetapi bahkan kemudian, Anda yang bahkan melihat hal-hal, apakah Anda benar-benar 709 00:36:45,910 --> 00:36:50,720 berhenti masuk ke sebaliknya aman situs jika URL tidak hijau? 710 00:36:50,720 --> 00:36:53,380 Baiklah, jadi mungkin tidak, kan? 711 00:36:53,380 --> 00:36:56,740 Setidaknya sebagian besar dari kita, jika tidak hijau, kemungkinan besar Anda hanya akan 712 00:36:56,740 --> 00:36:57,440 menjadi seperti, apa pun. 713 00:36:57,440 --> 00:36:58,950 Seperti, saya ingin login ke website ini. 714 00:36:58,950 --> 00:37:00,200 Itulah sebabnya aku di sini. 715 00:37:00,200 --> 00:37:02,390 Aku akan masuk tetap. 716 00:37:02,390 --> 00:37:04,500 >> Sebagai samping, Chrome sedikit lebih baik tentang hal ini. 717 00:37:04,500 --> 00:37:07,990 Tapi ada banyak browser seperti Firefox misalnya, setidaknya untuk 718 00:37:07,990 --> 00:37:12,190 beberapa waktu, di mana ikon gembok adalah, Anda benar-benar dapat menempatkan setiap 719 00:37:12,190 --> 00:37:13,250 icon Anda sendiri. 720 00:37:13,250 --> 00:37:17,480 Biarkan aku melihat apa versi terbaru Firefox terlihat seperti. 721 00:37:17,480 --> 00:37:20,040 Jadi, jika kita pergi ke CS50.net. 722 00:37:20,040 --> 00:37:21,580 >> OK, jadi mereka sudah lebih baik juga. 723 00:37:21,580 --> 00:37:24,970 Apa browser yang digunakan untuk lakukan adalah seperti, inilah misalnya [? SAAS itu?] 724 00:37:24,970 --> 00:37:25,790 Crest di sini. 725 00:37:25,790 --> 00:37:29,240 Itulah yang disebut favorit icon untuk website. 726 00:37:29,240 --> 00:37:30,190 Tahun yang lalu - 727 00:37:30,190 --> 00:37:34,720 sebenarnya tidak begitu lama - yang sedikit perisai pasti benar 728 00:37:34,720 --> 00:37:36,560 di sini di samping URL. 729 00:37:36,560 --> 00:37:40,300 Karena beberapa jenius memutuskan bahwa hanya akan terlihat cantik berkelas untuk memiliki 730 00:37:40,300 --> 00:37:43,150 logo yang tepat grafis Anda di samping URL Anda. 731 00:37:43,150 --> 00:37:45,310 Dan desain bijaksana, yang benar-benar cukup menarik. 732 00:37:45,310 --> 00:37:47,240 >> Jadi apa yang orang jahat mulai lakukan? 733 00:37:47,240 --> 00:37:50,500 Mereka mulai mengubah favorit mereka ikon, atau ikon default untuk 734 00:37:50,500 --> 00:37:55,250 homepage menjadi tidak lambang tapi gembok, yang memiliki 735 00:37:55,250 --> 00:37:56,600 sekali tidak ada artinya. 736 00:37:56,600 --> 00:37:59,760 Selain ikon favorit mereka adalah gembok itu tidak ada 737 00:37:59,760 --> 00:38:01,250 indikasi keamanan. 738 00:38:01,250 --> 00:38:04,040 >> Jadi pelajaran di sini adalah pasangan saya pikir. 739 00:38:04,040 --> 00:38:07,820 Salah satunya adalah bahwa sebenarnya ada beberapa mekanisme bermaksud baik untuk 740 00:38:07,820 --> 00:38:12,850 mengajarkan pengguna tentang keamanan bahkan jika Anda bahkan tidak menyadari apa yang hijau 741 00:38:12,850 --> 00:38:15,110 berarti atau apa yang bahkan HTTPS dimaksud. 742 00:38:15,110 --> 00:38:19,130 Tetapi jika mekanisme tersebut membawa kita ke kebiasaan buruk website percaya 743 00:38:19,130 --> 00:38:23,390 ketika kita melihat orang-sinyal positif, mereka sangat mudah disalahgunakan seperti yang kita lihat 744 00:38:23,390 --> 00:38:26,480 hanya beberapa saat yang lalu dengan sesuatu konyol seperti ini. 745 00:38:26,480 --> 00:38:29,100 >> Jadi pembajakan sesi datang ke bermain, seperti yang kita katakan sebelumnya, 746 00:38:29,100 --> 00:38:30,510 dengan cookie misalnya. 747 00:38:30,510 --> 00:38:32,130 Dan apa ini benar-benar berarti? 748 00:38:32,130 --> 00:38:35,930 Yah dengan pembajakan sesi ini semua tentang mencuri cookie seseorang. 749 00:38:35,930 --> 00:38:39,860 Jadi jika saya membuka Chrome di sini, untuk Misalnya, dan aku membuka Inspektur 750 00:38:39,860 --> 00:38:41,550 di sini dan saya pergi ke Tab Jaringan - 751 00:38:41,550 --> 00:38:42,830 dan kami telah melakukan ini sebelumnya - 752 00:38:42,830 --> 00:38:48,900 dan saya pergi ke sesuatu seperti http://facebook.com Enter, keseluruhan 753 00:38:48,900 --> 00:38:52,280 banyak hal yang terjadi di layar karena semua gambar dan CSS dan 754 00:38:52,280 --> 00:38:53,490 File JavaScript. 755 00:38:53,490 --> 00:38:59,420 >> Tapi kalau saya lihat yang satu ini di sini melihat bahwa Facebook memang menanam satu 756 00:38:59,420 --> 00:39:02,310 atau lebih cookie pada saya Browser sini. 757 00:39:02,310 --> 00:39:05,610 Jadi ini pada dasarnya tangan perangko yang mewakili saya. 758 00:39:05,610 --> 00:39:08,580 Dan sekarang semoga browser saya akan menyajikan ini lagi dan lagi ketika 759 00:39:08,580 --> 00:39:10,560 meninjau situs web tersebut. 760 00:39:10,560 --> 00:39:15,810 Tapi itu hanya aman, kita mengatakan beberapa minggu yang lalu, jika Anda menggunakan SSL. 761 00:39:15,810 --> 00:39:18,860 >> Tetapi bahkan SSL sendiri bisa dikompromikan. 762 00:39:18,860 --> 00:39:21,800 Pertimbangkan setelah semua cara kerja SSL. 763 00:39:21,800 --> 00:39:28,860 Ketika browser Anda terhubung ke remote server melalui https://, singkat cerita, 764 00:39:28,860 --> 00:39:30,110 kriptografi adalah terlibat. 765 00:39:30,110 --> 00:39:34,750 Ini tidak sesederhana Caesar atau Visionaire atau bahkan DES, DES dari 766 00:39:34,750 --> 00:39:36,110 ketika kembali pset2. 767 00:39:36,110 --> 00:39:37,410 Ini lebih canggih dari itu. 768 00:39:37,410 --> 00:39:39,110 Ini disebut kriptografi kunci publik. 769 00:39:39,110 --> 00:39:42,845 Tapi benar-benar besar dan benar-benar acak nomor yang digunakan untuk berebut 770 00:39:42,845 --> 00:39:47,125 informasi antara titik A, Anda, dan titik B, seperti facebook.com. 771 00:39:47,125 --> 00:39:52,570 >> Tapi masalahnya adalah, berapa banyak dari kita lagi pernah ketik https:// untuk memulai 772 00:39:52,570 --> 00:39:55,790 koneksi website kami dalam modus aman? 773 00:39:55,790 --> 00:40:00,900 Maksudku, berapa banyak dari Anda bahkan Jenis http://facebook.com? 774 00:40:00,900 --> 00:40:02,290 Baiklah, jika Anda melakukannya, seperti, halo. 775 00:40:02,290 --> 00:40:03,510 Anda tidak perlu melakukan itu lagi, kan? 776 00:40:03,510 --> 00:40:05,190 Browser akan mencari tahu. 777 00:40:05,190 --> 00:40:08,070 >> Tapi kebanyakan dari kita memang ketik facebook.com. 778 00:40:08,070 --> 00:40:10,960 Karena jika kita menggunakan browser, browser mendapatkan cukup cerdas dengan 779 00:40:10,960 --> 00:40:14,920 2013 untuk berasumsi jika Anda menggunakan Browser, Anda mengetik alamat, Anda 780 00:40:14,920 --> 00:40:18,550 mungkin ingin mengaksesnya tidak melalui email atau pesan instan. 781 00:40:18,550 --> 00:40:21,250 Maksudmu HTTP dan Port 80. 782 00:40:21,250 --> 00:40:22,970 Mereka konvensi telah diadopsi. 783 00:40:22,970 --> 00:40:24,830 >> Tapi bagaimana kerja redirection? 784 00:40:24,830 --> 00:40:26,170 Nah, perhatikan apa yang terjadi di sini. 785 00:40:26,170 --> 00:40:27,590 Jika saya kembali ke Chrome - 786 00:40:27,590 --> 00:40:31,920 dan mari kita lakukan ini dalam mode penyamaran mode sehingga semua saya 787 00:40:31,920 --> 00:40:33,620 cookie dibuang. 788 00:40:33,620 --> 00:40:38,130 Dan biarkan aku pergi di sini untuk, lagi, facebook.com. 789 00:40:38,130 --> 00:40:39,490 Dan mari kita lihat apa yang terjadi. 790 00:40:39,490 --> 00:40:43,372 >> Ingat bahwa permintaan pertama adalah memang hanya untuk facebook.com. 791 00:40:43,372 --> 00:40:46,580 Tapi apa adalah respon yang saya dapatkan? 792 00:40:46,580 --> 00:40:48,520 Itu bukan 200 OK. 793 00:40:48,520 --> 00:40:53,550 Itu 300, atau 301, yang merupakan redirect memberitahu saya untuk pergi ke 794 00:40:53,550 --> 00:40:59,050 http://www.facebook.com, yang di mana Facebook ingin aku pergi. 795 00:40:59,050 --> 00:41:01,900 Tapi kalau kita melihat permintaan berikutnya, dan kita telah melihat ini sebelumnya, 796 00:41:01,900 --> 00:41:04,370 perhatikan apa tanggapan kedua mereka. 797 00:41:04,370 --> 00:41:10,280 Khususnya bahwa mereka ingin saya sekarang untuk pergi ke versi SSL dari Facebook. 798 00:41:10,280 --> 00:41:11,800 >> Jadi di sini adalah kesempatan. 799 00:41:11,800 --> 00:41:15,440 Ini adalah fitur yang sangat berguna hanya web dan HTTP. 800 00:41:15,440 --> 00:41:19,570 Jika pengguna akhir seperti Facebook ingin aku untuk tetap pada versi aman dari mereka 801 00:41:19,570 --> 00:41:20,850 website, yang besar. 802 00:41:20,850 --> 00:41:23,130 Mereka akan mengarahkan saya untuk diriku sendiri. 803 00:41:23,130 --> 00:41:25,250 Dan jadi saya tidak perlu bahkan berpikir tentang itu. 804 00:41:25,250 --> 00:41:29,200 >> Tapi bagaimana jika antara titik A dan B, antara Anda dan Facebook, ada beberapa 805 00:41:29,200 --> 00:41:32,220 orang jahat, ada beberapa sistem administrator di Harvard yang ingin tahu 806 00:41:32,220 --> 00:41:34,240 untuk melihat siapa teman-teman Anda. 807 00:41:34,240 --> 00:41:36,760 Atau ada beberapa - 808 00:41:36,760 --> 00:41:38,340 tahun yang lalu, ini digunakan untuk terdengar gila - 809 00:41:38,340 --> 00:41:41,950 tapi ada beberapa badan pemerintah seperti NSA yang sebenarnya tertarik 810 00:41:41,950 --> 00:41:44,390 pada siapa Anda sedang menyembul di Facebook. 811 00:41:44,390 --> 00:41:45,910 Dimana kesempatan sana? 812 00:41:45,910 --> 00:41:49,305 Nah, selama seseorang memiliki cukup teknis savvy dan mereka memiliki akses 813 00:41:49,305 --> 00:41:53,350 ke jaringan yang sebenarnya Anda melalui Wi-Fi atau kawat fisik, 814 00:41:53,350 --> 00:41:54,570 apa yang bisa mereka lakukan? 815 00:41:54,570 --> 00:41:57,520 >> Nah, jika mereka berada di jaringan yang sama dengan Anda dan mereka tahu sesuatu tentang 816 00:41:57,520 --> 00:42:02,050 TCP / alamat IP dan IP dan DNS dan bagaimana semua yang bekerja, bagaimana jika yang 817 00:42:02,050 --> 00:42:05,970 man in the middle, bagaimana jika yang Nasional Badan Keamanan, apa pun itu 818 00:42:05,970 --> 00:42:11,480 mungkin, tapi bagaimana jika entitas yang hanya bereaksi lebih cepat dari Facebook ke 819 00:42:11,480 --> 00:42:15,820 permintaan HTTP Anda dan berkata, oh, aku Facebook. 820 00:42:15,820 --> 00:42:19,300 Silakan, dan inilah HTML untuk facebook.com. 821 00:42:19,300 --> 00:42:20,720 >> Komputer pretty darn cepat. 822 00:42:20,720 --> 00:42:25,990 Jadi Anda bisa menulis sebuah program yang berjalan pada server seperti nsa.gov bahwa ketika 823 00:42:25,990 --> 00:42:29,790 mendengar permintaan dari Anda untuk facebook.com, sangat cepat di belakang 824 00:42:29,790 --> 00:42:34,000 adegan mendapat pembuatan facebook.com nyata sempurna [? esque?] aman 825 00:42:34,000 --> 00:42:38,290 Koneksi SSL antara NSA dan antar Facebook, mendapatkan bahwa HTML sangat 826 00:42:38,290 --> 00:42:42,670 aman untuk halaman login, dan kemudian server NSA hanya merespon Anda 827 00:42:42,670 --> 00:42:44,942 dengan halaman login untuk facebook.com. 828 00:42:44,942 --> 00:42:49,120 >> Sekarang berapa banyak dari Anda bahkan akan melihat bahwa Anda menggunakan Facebook melalui HTTP 829 00:42:49,120 --> 00:42:53,375 masih pada saat itu karena Anda telah sengaja terhubung ke nsa.gov dan 830 00:42:53,375 --> 00:42:53,870 bukan Facebook? 831 00:42:53,870 --> 00:42:54,980 URL tidak berubah. 832 00:42:54,980 --> 00:42:57,040 Semua ini sedang dilakukan belakang layar. 833 00:42:57,040 --> 00:42:59,470 Tapi kebanyakan dari kita, termasuk saya sendiri, mungkin tidak akan melihat 834 00:42:59,470 --> 00:43:00,800 seperti detail kecil. 835 00:43:00,800 --> 00:43:05,510 >> Jadi, Anda mungkin memiliki sempurna dikerjakan hubungan antara Anda dan apa yang Anda 836 00:43:05,510 --> 00:43:08,660 pikir Facebook, tapi ada disebut man in the middle. 837 00:43:08,660 --> 00:43:12,480 Dan ini adalah istilah umum bagi manusia serangan tengah di mana Anda memiliki beberapa 838 00:43:12,480 --> 00:43:17,670 entitas antara Anda dan titik B yang entah bagaimana memanipulasi, mencuri, atau 839 00:43:17,670 --> 00:43:18,960 menonton data Anda. 840 00:43:18,960 --> 00:43:22,750 Jadi, bahkan SSL tidak pasti, terutama jika Anda telah tertipu 841 00:43:22,750 --> 00:43:26,790 tidak menyalakannya karena cara ini mekanisme yang mendasari benar-benar bekerja. 842 00:43:26,790 --> 00:43:30,670 >> Jadi pelajaran hari kemudian juga jika Anda benar-benar ingin menjadi paranoid - 843 00:43:30,670 --> 00:43:32,110 dan bahkan di sini ada ancaman - 844 00:43:32,110 --> 00:43:37,112 Anda benar-benar harus mulai masuk ke kebiasaan mengetik di https://www 845 00:43:37,112 --> 00:43:39,850 apapun nama domain Anda benar-benar peduli. 846 00:43:39,850 --> 00:43:41,820 >> Dan sebagai samping juga ada ancaman lain dengan 847 00:43:41,820 --> 00:43:43,410 menganggap untuk pembajakan. 848 00:43:43,410 --> 00:43:47,440 Sangat sering ketika Anda pertama kali mengunjungi website seperti facebook.com, kecuali 849 00:43:47,440 --> 00:43:51,050 Server telah dikonfigurasi untuk mengatakan bahwa bahwa cap tangan itu menempatkan pada Anda 850 00:43:51,050 --> 00:43:56,140 kemarin harus mengamankan dirinya sendiri, Anda Browser mungkin sangat baik, setelah 851 00:43:56,140 --> 00:44:00,620 mengunjungi hal-hal seperti facebook.com google.com, twitter.com, browser Anda 852 00:44:00,620 --> 00:44:04,280 mungkin menyajikan bahwa cap tangan saja untuk ditampar dan berkata, tidak. 853 00:44:04,280 --> 00:44:05,660 Gunakan SSL. 854 00:44:05,660 --> 00:44:07,030 >> Tapi itu terlambat pada saat itu. 855 00:44:07,030 --> 00:44:10,940 Jika Anda telah mengirimkan tangan Anda cap, cookie Anda, di jelas dengan 856 00:44:10,940 --> 00:44:15,180 tidak ada SSL, Anda memiliki sepersekian detik kerentanan di mana seseorang mengendus 857 00:44:15,180 --> 00:44:19,530 lalu lintas Anda, apakah teman sekamar atau NSA, kemudian dapat menggunakan cookie yang sama, dan 858 00:44:19,530 --> 00:44:23,860 dengan sedikit cerdas teknis, hadir sebagai nya sendiri. 859 00:44:23,860 --> 00:44:25,930 >> Serangan lain Anda mungkin tidak berpikir tentang. 860 00:44:25,930 --> 00:44:30,120 Yang satu ini benar-benar pada Anda jika Anda sekrup up ini dalam penulisan beberapa website yang 861 00:44:30,120 --> 00:44:31,580 entah bagaimana menggunakan SQL. 862 00:44:31,580 --> 00:44:34,610 Jadi di sini, misalnya, adalah layar menembak login Harvard. 863 00:44:34,610 --> 00:44:36,380 Dan ini adalah contoh umum sesuatu dengan 864 00:44:36,380 --> 00:44:37,480 username dan password. 865 00:44:37,480 --> 00:44:38,440 Super umum. 866 00:44:38,440 --> 00:44:41,310 Jadi mari kita asumsikan bahwa SSL ada dan tidak ada laki-laki di tengah atau 867 00:44:41,310 --> 00:44:41,920 sesuatu seperti itu. 868 00:44:41,920 --> 00:44:45,660 Sekarang kita berfokus pada server kode yang mungkin Anda tulis. 869 00:44:45,660 --> 00:44:49,830 >> Nah, ketika saya mengetik username dan password, anggaplah bahwa layanan PIN 870 00:44:49,830 --> 00:44:51,740 diimplementasikan di PHP. 871 00:44:51,740 --> 00:44:53,990 Dan Anda mungkin memiliki beberapa kode pada server seperti ini. 872 00:44:53,990 --> 00:44:57,740 Dapatkan nama pengguna dari pos Super global dan mendapatkan password, dan kemudian 873 00:44:57,740 --> 00:45:01,130 jika mereka menggunakan beberapa pset7 seperti kode ada fungsi permintaan 874 00:45:01,130 --> 00:45:01,820 yang mungkin melakukan hal ini. 875 00:45:01,820 --> 00:45:06,320 Pilih Bintang dari pengguna dimana username sama itu dan sandi sama itu. 876 00:45:06,320 --> 00:45:08,120 >> Yang terlihat, pada pandangan pertama, benar-benar masuk akal. 877 00:45:08,120 --> 00:45:11,090 Ini adalah sintaksis kode PHP yang valid. 878 00:45:11,090 --> 00:45:13,160 Logikanya tidak ada salah dengan ini. 879 00:45:13,160 --> 00:45:15,710 Mungkin ada beberapa baris yang benar-benar melakukan sesuatu dengan 880 00:45:15,710 --> 00:45:18,150 Hasil yang datang kembali dari database. 881 00:45:18,150 --> 00:45:20,580 Tapi ini rentan untuk alasan berikut. 882 00:45:20,580 --> 00:45:23,760 >> Perhatikan bahwa, seperti warga negara yang baik, Saya telah dimasukkan ke dalam tanda kutip, tunggal 883 00:45:23,760 --> 00:45:25,380 kutipan, nama pengguna. 884 00:45:25,380 --> 00:45:26,980 Dan saya dimasukkan ke dalam tanda kutip tunggal password. 885 00:45:26,980 --> 00:45:28,830 Dan itu hal yang baik karena mereka tidak seharusnya angka. 886 00:45:28,830 --> 00:45:30,660 Biasanya mereka akan menjadi teks. 887 00:45:30,660 --> 00:45:32,290 Jadi aku mengutip mereka seperti string. 888 00:45:32,290 --> 00:45:37,470 >> Dan jika sekarang saya maju lebih jauh bagaimana jika - dan saya telah menghapus peluru dari 889 00:45:37,470 --> 00:45:38,870 PIN layanan sementara - 890 00:45:38,870 --> 00:45:41,650 bagaimana jika saya mencoba untuk login sebagai Presiden [? Scroob?] 891 00:45:41,650 --> 00:45:52,540 tapi saya mengklaim bahwa sandi saya adalah 12345 'OR '1' = '1, dan pemberitahuan 892 00:45:52,540 --> 00:45:53,830 apa yang belum saya lakukan. 893 00:45:53,830 --> 00:45:56,140 Aku tidak menutup lain kutip tunggal. 894 00:45:56,140 --> 00:45:58,500 Karena aku cukup tajam di sini sebagai orang jahat. 895 00:45:58,500 --> 00:46:01,870 Dan aku menganggap mereka Anda tidak sangat baik dengan Anda 896 00:46:01,870 --> 00:46:03,450 PHP dan MySQL kode. 897 00:46:03,450 --> 00:46:06,740 Saya menduga bahwa Anda tidak memeriksa untuk kehadiran tanda kutip. 898 00:46:06,740 --> 00:46:11,190 >> Jadi apa yang baru saja terjadi adalah bahwa ketika Anda pengguna telah mengetikkan string itu, 899 00:46:11,190 --> 00:46:15,060 pertanyaan Anda tentang untuk buat terlihat seperti ini. 900 00:46:15,060 --> 00:46:18,180 Dan cerita panjang pendek, jika Anda dan sesuatu bersama-sama atau Anda atau sesuatu 901 00:46:18,180 --> 00:46:21,740 bersama-sama ini akan kembali baris dari database. 902 00:46:21,740 --> 00:46:26,570 Karena selalu hal 1 sama dengan 1. 903 00:46:26,570 --> 00:46:30,400 >> Dan hanya karena Anda tidak mengantisipasi bahwa pengguna Anda, baik atau buruk, mungkin 904 00:46:30,400 --> 00:46:35,340 memiliki apostrof di nama mereka Anda telah menciptakan sebuah query SQL yang masih 905 00:46:35,340 --> 00:46:39,040 valid, dan akan kembali hasil sekarang lebih dari Anda mungkin telah dimaksudkan. 906 00:46:39,040 --> 00:46:42,340 Dan orang ini buruk sekarang memiliki berpotensi login ke server Anda 907 00:46:42,340 --> 00:46:47,060 karena database Anda kembali berturut-turut bahkan jika ia tidak tahu apa 908 00:46:47,060 --> 00:46:49,410 [? ] Sandi sebenarnya Scroob itu? Adalah. 909 00:46:49,410 --> 00:46:50,640 >> Oh, saya menyadari kesalahan ketik di sini. 910 00:46:50,640 --> 00:46:53,260 Saya harus katakan sandi sama 12345 seperti sebelumnya 911 00:46:53,260 --> 00:46:54,990 contoh atau 1 sama dengan 1. 912 00:46:54,990 --> 00:46:56,400 Aku akan memperbaikinya online yang. 913 00:46:56,400 --> 00:46:59,960 >> Jadi mengapa kami telah Anda gunakan query fungsi dengan tanda tanya? 914 00:46:59,960 --> 00:47:04,000 Salah satu hal fungsi permintaan tidak bagi Anda adalah ia memastikan bahwa 915 00:47:04,000 --> 00:47:07,660 ketika Anda lewat di argumen setelah koma sini seperti ini bahwa permintaan 916 00:47:07,660 --> 00:47:10,330 yang sebenarnya dikirim ke Database terlihat seperti ini. 917 00:47:10,330 --> 00:47:13,830 Sebuah jelek banyak untuk melihat, tetapi kembali garis miring telah otomatis 918 00:47:13,830 --> 00:47:19,030 dimasukkan untuk menghindari tepat bahwa serangan injeksi yang saya menunjukkan 919 00:47:19,030 --> 00:47:20,270 saat yang lalu. 920 00:47:20,270 --> 00:47:24,930 >> Sekarang menyenangkan xkcd bahwa saya pikir saya akan menarik di sini mudah-mudahan sekarang harus menjadi 921 00:47:24,930 --> 00:47:28,546 sedikit lebih dimengerti adalah salah satu ini di sini. 922 00:47:28,546 --> 00:47:39,460 923 00:47:39,460 --> 00:47:40,265 >> Sedikit? 924 00:47:40,265 --> 00:47:42,370 Mungkin kita perlu sedikit lebih diskusi tentang itu. 925 00:47:42,370 --> 00:47:47,810 Jadi ini menyinggung anak kecil bernama Bobby yang telah entah bagaimana diambil 926 00:47:47,810 --> 00:47:52,250 keuntungan dari sebuah situs web yang hanya percaya bahwa apa yang pengguna telah diketik 927 00:47:52,250 --> 00:47:55,100 di tidak, pada kenyataannya, kode SQL, tapi sebenarnya string. 928 00:47:55,100 --> 00:47:56,830 >> Sekarang Anda mungkin ingat drop yang - 929 00:47:56,830 --> 00:48:00,190 Anda mungkin telah melihat ini - penurunan berarti menghapus tabel, menghapus database. 930 00:48:00,190 --> 00:48:02,235 Jadi jika Anda pada dasarnya mengklaim bahwa Nama Anda adalah Robert "; droptabl 931 00:48:02,235 --> 00:48:03,485 estudentsomething,] 932 00:48:03,485 --> 00:48:06,340 933 00:48:06,340 --> 00:48:09,370 Anda mungkin sangat baik mengelabui database tidak hanya ke memeriksa bahwa Anda 934 00:48:09,370 --> 00:48:13,530 Robert memang, tapi titik koma juga lanjutkan untuk menjatuhkan meja. 935 00:48:13,530 --> 00:48:17,560 >> Dan serangan injeksi SQL dapat sebenarnya sebagai ancaman karena hal ini 936 00:48:17,560 --> 00:48:20,740 dimana Anda dapat menghapus data seseorang, Anda dapat memilih lebih dari data 937 00:48:20,740 --> 00:48:23,440 dimaksudkan, Anda dapat menyisipkan atau memperbarui data. 938 00:48:23,440 --> 00:48:26,520 Dan Anda benar-benar bisa melihat ini pada saat latihan di rumah, bukan untuk berbahaya 939 00:48:26,520 --> 00:48:29,730 tujuan tapi hanya untuk pembelajaran, adalah setiap kali Anda akan diminta untuk login 940 00:48:29,730 --> 00:48:35,180 ke website, terutama semacam sangat umum situs non, sangat populer, 941 00:48:35,180 --> 00:48:38,630 coba log in sebagai John O'Reilly atau seseorang dengan 942 00:48:38,630 --> 00:48:39,740 apostrof di nama mereka. 943 00:48:39,740 --> 00:48:42,990 Atau benar-benar hanya ketik apostrof, tekan Enter, dan lihat apa yang terjadi. 944 00:48:42,990 --> 00:48:47,990 >> Dan terlalu sering, tragis, orang belum dibersihkan masukan dan 945 00:48:47,990 --> 00:48:51,690 memastikan bahwa hal-hal seperti kutipan atau titik koma yang melarikan diri. 946 00:48:51,690 --> 00:48:54,430 Itulah sebabnya di pset7 kita berikan Anda fungsi ini query. 947 00:48:54,430 --> 00:48:59,510 Tapi jangan di bawah menghargai persis apa yang dilakukannya untuk Anda. 948 00:48:59,510 --> 00:49:01,800 >> Jadi dengan mengatakan bahwa, menikmati menggunakan web minggu ini. 949 00:49:01,800 --> 00:49:04,660 Dan kita akan melihat Anda pada hari Senin. 950 00:49:04,660 --> 00:49:06,180 >> Pada CD50 berikutnya. 951 00:49:06,180 --> 00:49:18,614 >> [MUSIK]