Pengenalan kue
Pertama, kami memberikan pengenalan singkat tentang Cookie dan menjelaskan cara menggunakan ASP untuk memelihara cookie.
Cookie adalah file kecil yang disimpan di komputer klien, yang berarti bahwa setiap kali pengguna mengunjungi situs Anda, Anda dapat secara diam-diam menempatkan file yang berisi informasi relevan di hard drive mereka. File ini dapat berisi hampir semua informasi yang ingin Anda siapkan, termasuk informasi pengguna, status situs, dan banyak lagi. Dalam hal ini, terdapat potensi bahaya: informasi dapat dibaca oleh peretas. Untuk mencegah terjadinya masalah ini, cara yang efektif adalah cookie hanya dapat diakses oleh domain yang membuatnya. Artinya: misalnya, ytu.edu.cn hanya dapat mengakses cookie yang dibuat oleh ytu.edu.cn. Secara umum, ini bukan masalah; tetapi bagaimana jika Anda perlu berbagi informasi pengguna yang disimpan dalam cookie dengan dua situs berbeda di dua domain berbeda? Tentu saja, Anda dapat memilih untuk menyalin informasi pengguna, tetapi jika perlu, hanya bisakah Anda melakukannya mendaftar di satu situs dan menjadi pengguna terdaftar di situs lain? Atau, bagaimana jika kedua situs berbagi basis data pengguna dan mengharuskan pengguna untuk masuk secara otomatis? Saat ini, berbagi cookie di seluruh domain adalah rencana solusi terbaik.
Di sini, pertama-tama mari kita lihat beberapa kode pemrosesan cookie ASP untuk memudahkan referensi di masa mendatang.
'Buat Kue
Response.Cookies(MyCookie).Kedaluwarsa=Tanggal+365
Respon.Cookies(MyCookle).Domain=mydomaln.com
Response.Cookies(MyCookle)(Nama Pengguna)=strNama Pengguna
Respon.Cookies(MyCookle)(Kata Sandi)=strPassword
Membaca dan menulis cookie sangat sederhana. Kode di atas membuat cookie dan menetapkan properti untuk cookie: domain, waktu kedaluwarsa, dan nilai lain yang disimpan dalam cookie. Di sini, strUsename, strPassword adalah variabel yang disetel di suatu tempat sebelumnya. Kemudian, baca di cookie melalui pernyataan berikut.
'Baca Kue
datExpDate=Permintaan.Cookie(Cookie Saya)
strDomaln=Permintaan.Cookie(CookleSaya).Domain
strUsername=Permintaan.Cookies(MyCookle)(Nama Pengguna)
strPassword=Permintaan.Cookie(Cookie Saya)(Kata Sandi)
Untuk informasi lebih rinci, silakan lihat informasi ASP.
menyelesaikan
Trik untuk sekadar berbagi cookie adalah pengalihan, proses umumnya adalah:
1. Pengguna mengklik situsA.com.
2. Jika pengguna tidak memiliki cookie untuk siteA.com, arahkan pengguna ke siteB.com.
3. Jika pengguna memiliki cookie untuk siteB.com, arahkan pengguna kembali ke siteA.com bersama dengan tanda khusus (dijelaskan di bawah), jika tidak, arahkan saja pengguna ke siteA.com.
4. Buat cookie di siteA.com.
Tampaknya sederhana, tetapi analisislah dengan hati-hati: siteA.com dan siteB.com berbagi pengaturan pengguna yang sama, jadi jika pengguna memiliki cookie untuk siteB.com (sudah terdaftar), siteA.com juga dapat membaca cookie dan memberikan izin cookie karakteristik. Dengan cara ini, pengguna yang mengunjungi siteA.com akan terlihat telah mengunjungi siteB.com.
Pemeriksaan ini harus diterapkan dalam file cookies.inc yang terdapat di siteA.com. Mari kita lihat kode ini:
aku-1
'SiteA.com memeriksa cookie
Jika Request.Querystring(Dicentang)<>Benar maka
Jika bukan Request.Cookies(SiteA_Cookie).Haskeys maka
'Arahkan ke situsB.com
Respon.Redlrect(http://www.siteB.com/cookie.asp)
Berakhir jika
Berakhir jika
Jika pengguna memiliki cookie untuk siteA.com, tidak ada yang perlu dilakukan; pernyataan if pertama digunakan untuk menghilangkan loop tak terbatas. Mari kita lihat file cookie.asp di siteB.com untuk mendapatkan pemahaman lebih lanjut.
1-2
'SitusB.com
'Periksa cookie
Jika bukan Request.Cookies(SlteB_Cookle).Haskeys maka
'Arahkan ke situsA.com
Respons.Redirect(http://www.siteA.com/index.asp&?checked=True)
Kalau tidak
'Dapatkan nama pengguna
strUsername=Permintaan.Cookies(SiteB_Cookie)(Nama Pengguna)
'Kembalikan pengguna ke siteA.com dengan tanda khusus
Respons.Redlrect(http://www.siteA.com/index.asp&?checked=True&identrfer=&strUsername)
Berakhir jika
Jika pengguna masih belum memiliki cookie di siteB.com, kirim dia kembali ke siteA.com dan beri tahu aplikasi bahwa Anda telah memeriksa cookie dengan memberikan parameter yang disebut checkd dalam kueri. Jika tidak, kirim pengguna kembali ke siteB.com dan keluar dari loop.