session_set_save_handler Memblokir Session Captcha


Terkadang kode yang kita tulis hasilnya tidak sesuai dengan yang kita harapkan, seperti halnya kehidupan yang kita perjuangankan, hasilnya kadang tidak sesuai dengan harapan. Agar sesuai harapan, maka perlu diperbaiki.


Secara sederhana konsep kerja dari captcha php adalah menyimpan sebuah data captcha pada variabel $_SESSION, variabel tersebutlah yang kemudian akan diakses oleh halaman lain yang mengkases captcha tersebut lalu session yang tersimpan dijadikan parameter untuk dibandingkan dengan inputan user untuk menghasilkan nilai true/false.

Tapi dalam kasus yang saya alami, ternyata nilai session pada captcha sama sekali tidak bisa dibaca atau malah undefined seperti yang bisa Anda lihat pada gambar dibawah ini

session pada captcha tidak terbaca



Gambar diatas menunjukan variabel rand_code undefined, padahal nilai session tersebut sudah disimpan/didefinisikan pada captcha. Berjam – jam saya memikirkan kenapa nilai session pada captcha tidak terbaca, dan ternyata hal tersebut diakibatkan oleh session handler

Pada halaman index, saya membuat parameter seperti berikut :

session_set_save_handler($object, true);
session_start()

Artinya saya nantinya akan menyimpan nilai session pada handler dimana handler akan melakukan callback pada sebuah fungsi untuk menulis session ke database. Jadi seerhananya ketika nilai $_SESSION didefinisikan maka akan terjadi write session secara otomatis.

Jadi untuk mengatasi ini saya perlu mengilangkan nilai session_set_save_handler($object, true); pada halaman yang menggunakan captcha. Meskipun session_set_save_handler($object, true); tidak didefinisikan, tapi kita masih bisa melakukan proses baca pada session id yang sudah tersimpan sebelumnya, secara teknis bagian tersebut tidak mengaggu proses login.

Dalam implementasi login ketika session_set_save_handler($object, true); tidak didefinisikan, maka tidak akan ada session yang akan ditulis dan disimpan di database. Saya mungkin perlu melakukan uji coba selanjutnya untuk menerapkan sistem captcha pada halaman login dengan nilai session handler yang sebelumnya justru menganggu proses membaca nilai session captcha


0 Response to "session_set_save_handler Memblokir Session Captcha"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin