Pemrograman PERL Lanjutan Bagian 17: Common Gateaway Interface

perl-logo

Pada tulisan sebelumnya membahas mengenai checkbox, radio button, text area, dan drop down box pada program CGI. Untuk tulisan hari ini akan membahas mengenai cookie pada program CGI.

Menggunakan Cookie di CGI

Protokol HTTP merupakan protokol yang stateless. Namun untuk website yang komersial, hal tersebut dibutuhkan untuk menjaga informasi session diantaranya halaman yang berbeda-beda. Sebagai contoh satu pengguna melakukan pendaftaran akhir setelah transaksi yang menjangkau banyak halaman. Tapi bagaimana untuk menjaga informasi session banyak pengguna yang melewati semua halaman web?

Cara Kerja Cookie di CGI

Server anda mengirimkan beberapa data ke browser pengunjung dalam form cookie. Browser boleh menerima cookie. Jika ya, hal tersebut akan disimpan dalam record plain text pada hard drive pengunjung. Sekarang ketika pengunjung sampai ke halaman lain di situs anda, cookie masih tersedia untuk didapatkan kembali. Sekali didapatkan kembali, server anda tahu apa yang disimpan.

Record plaint text dari cookie terdiri dari 5 bagian field yang berisi string:
Expires: Merupakan tanggal dimana cookie kadaluarsa. Jika kosong, cookie akan kadaluarsa ketika pengunjung keluar dari browser.

Domain: Merupakan nama domain situs anda.

Path: Lokasi ke direktori atau halaman web yang mengatur cookie. Bisa saja kosong jika anda ingin mengambil kembali cookie dari berbagai direktori atau halaman.

Secure: Jika field ini berisi kata “secure” maka cookie hanya boleh mengambil kembali dengan server yang aman. Jika kosong, tidak ada pembatasan.

Name=Value: Cookie telah diatur dan diambil kembali dalam form of key dan value pairs.

Mengatur Cookie

Hal ini sangat mudah untuk mengirim cookie ke browser. Cookie ini akan dikirim terus dengan HTTP Header. Asumsikan anda ingin mengatur UserID dan Password sebagai cookie. Hal ini diselesaikan dengan script berikut.

kodecgi17

cgi18

 

Disini kita menggunakan Set-Cookie HTTP Header untuk mengatur cookie. Hal ini opsional untuk mengatur attribut cookie seperti expire, domain dan path. Hal ini penting untuk mencatat cookie sebelum mengirim line “Content-type:text/html\r\n\r\n”.

 

Mengambil Kembali Cookie

Hal ini sangat mudah untuk mengambil semua cookie yang diatur. Cookie akan disimpan dalam variabel environment CGI yaitu HTTP_COOKIE dan akan nampak seperti dibawah ini.

cgi19

Berikut contoh script untu mengambil kembali cookie.

kodecgi18

Hasilnya akan seperti berikut.

cgi20

Semoga tulisan hari ini bermanfaat.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s