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