Monday, July 2, 2012

ASP.NET Cookies Overview

Cookie adalah serangkaian teks yang disimpan pada komputer oleh situs web yang kita kunjungi. Pada umumnya cookie menyimpan pengaturan atau preferensi kita untuk suatu situs web tertentu, misalnya bahasa yang dipilih, atau lokasi (negara) kita. Ketika kita kembali ke situs web tersebut, browser akan mengirimkan cookie yang bersesuaian kepada situs web yang bersangkutan. Dengan cara ini, situs dapat menampilkan informasi yang sesuai dengan pengaturan atau preferensi kita sebelumnya.

Cookie dapat menyimpan berbagai jenis informasi, termasuk di antaranya informasi pribadi seperti nama, alamat rumah, alamat email, atau nomor telepon. Akan tetapi informasi ini hanya akan disimpan jika kita pernah memberikan informasi ini kepada situs tersebut. Situs web tidak dapat mengakses informasi yang tidak pernah kita berikan kepada situs web tersebut, dan situs web juga tidak dapat mengakses berkas lainnya pada komputer kita.

Secara bawaan (default), aktivitas menyimpan dan mengirim cookie tidak pernah terlihat oleh pengguna. Akan tetapi, kita dapat mengubah pengaturan pada browser sehingga kita dapat mengizinkan atau menolak permintaan penyimpanan cookie, menghapus cookie yang tersimpan saat browser ditutup, dan lain sebagainya.

Menulis Cookies:
Cara 1:
Response.Cookies("userName").Value = "fritsMacho"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)
Cara 2:
Dim aCookie As New HttpCookie("lastVisit")
aCookie.Value = DateTime.Now.ToString()
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)
Nah itu kalo valuenya cuma 1, gimana kalo lebih ddari 1?
Cara 1:
Response.Cookies("userInfo")("userName") = "fritsMacho"
Response.Cookies("userInfo")("lastVisit") = DateTime.Now.ToString()
Response.Cookies("userInfo").Expires = DateTime.Now.AddDays(1)
Cara 2:
Dim aCookie As New HttpCookie("userInfo")
aCookie.Values("userName") = "fritsMacho"
aCookie.Values("lastVisit") = DateTime.Now.ToString()
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)
Kita juga bisa membatasi cookies yang akan disimpan pada server, dengan cara menentukan properti Path dimana cookie itu disimpan, Contoh:

Dim appCookie As New HttpCookie("AppCookie")
appCookie.Value = "written " & DateTime.Now.ToString()
appCookie.Expires = DateTime.Now.AddDays(1)
appCookie.Path = "/Application1" //path untuk nyimpen cookiesnya
Response.Cookies.Add(appCookie)

Nah, itu kan cara nyimpen cookies. Kalo kita mau ambil/read cookienya bagaimana? Ini dia:
Dim i As Integer
Dim output As System.Text.StringBuilder = New System.Text.StringBuilder
Dim aCookie As HttpCookie
For i = 0 to Request.Cookies.Count - 1
    aCookie = Request.Cookies(i)
    output.Append("Cookie name = " & Server.HtmlEncode(aCookie.Name) _
        & "<br />")
    output.Append("Cookie value = " & _
        Server.HtmlEncode(aCookie.Value) & "<br /><br />")
Next
Label1.Text = output.ToString()
Biar afdol, kita juga bisa menghapus cookies yang tadi kita buat, caranya adalah:
Dim aCookie As HttpCookie
Dim i As Integer
Dim cookieName As String
Dim limit As Integer = Request.Cookies.Count - 1
For i = 0 To limit
    cookieName = Request.Cookies(i).Name
    aCookie = New HttpCookie(cookieName)
    aCookie.Expires = DateTime.Now.AddDays(-1)
    Response.Cookies.Add(aCookie)
Next
Semoga Membantu, God bless

0 komentar:

Post a Comment

 
Design by Frits Hendrico Tarihoran | Bloggerized by fritshendrico - Premium Blogger Themes | Revivalist, History Maker