Bismillah

6
Bismillah… pada artikel kali ini saya akan mencoba memaparkan bagaimana teknik atau ide dalam membuat sistem login untuk aplikasi multi user. Dalam suatu aplikasi bisa jadi terdapat lebih dari satu user dan dengan level yang berbeda-beda. Dengan adanya pembagian level tersebut diharapkan adanya hak akses yang berbeda. Untuk memudahkan Anda dalam membayangkan hal ini, misalkan terdapat 5 user katakanlah A, B, C, D dan E dimana user A, B dan C adalah level ‘administrator’, sedangkan D dan E user biasa. Nah… user A, B, dan C ini misalkan berhak mengakses halaman 1, 2 dan 3 dari aplikasi sedangkan D dan E hanya boleh mengakses halaman 3 saja. Dengan kata lain hak akses ke halaman-halaman tersebut ditentukan oleh level usernya. Pemberian hak akses pada masing-masing user ini bisa dalam bentuk link menu. Ketika seorang user telah melakukan login, dan loginnya sukses maka akan muncul menu link ke halaman-halaman yang boleh diaksesnya. Sebagai gambaran misalnya pada contoh di atas, setelah user A login dan loginnya berhasil maka akan muncul menu link menuju ke halaman 1, 2 dan 3 karena si A ini levelnya Administrator. Namun untuk si D, karena levelnya user biasa, maka hanya akan muncul menu link menuju halaman 3 saja. Nah… lantas bagaimana ide dan teknik dalam membuat sistem login terkait dengan hak akses untuk multi user seperti kasus di atas? Inilah yang akan saya beberkan rahasianya dalam artikel ini. Artikel ini merupakan request dari xfreecode (member saya ) sekaligus salah satu dari sekian banyak trik dan teknik yang saya paparkan pada peserta kursus online PHP bersama saya. Ide dan teknik untuk menyelesaikan kasus di atas sebenarnya hanyalah pada penggunaan SESSION. Setelah user berhasil login, maka dibaca level usernya. Untuk memudahkan pengecekan level user ini, maka level user disimpan pada SESSION. Nah.. level user yang tersimpan dalam SESSION inilah yang nantinya akan banyak dicek untuk keperluan pembatasan hak akses user pada halaman-halaman yang sifatnya private. OK.. OK… sudah paham deh idenya, tapi gini… bagaimana seandainya ada user yang nakal? misalkan user E dengan level user biasa kebetulan tahu link URL menuju ke halaman 1. Lantas si E ini mencoba mem bypass link menuju halaman 1 melalui URL langsung tanpa melewati menu link, padahal halaman 1 ini adalah restricted

description

Bismillah

Transcript of Bismillah

Bismillah pada artikel kali ini saya akan mencoba memaparkan bagaimana teknik atau ide dalam membuat sistem login untuk aplikasi multi user. Dalam suatu aplikasi bisa jadi terdapat lebih dari satu user dan dengan level yang berbeda-beda. Dengan adanya pembagian level tersebut diharapkan adanya hak akses yang berbeda. Untuk memudahkan Anda dalam membayangkan hal ini, misalkan terdapat 5 user katakanlah A, B, C, D dan E dimana user A, B dan C adalah level administrator, sedangkan D dan E user biasa. Nah user A, B, dan C ini misalkan berhak mengakses halaman 1, 2 dan 3 dari aplikasi sedangkan D dan E hanya boleh mengakses halaman 3 saja. Dengan kata lain hak akses ke halaman-halaman tersebut ditentukan oleh level usernya. Pemberian hak akses pada masing-masing user ini bisa dalam bentuk link menu. Ketika seorang user telah melakukan login, dan loginnya sukses maka akan muncul menu link ke halaman-halaman yang boleh diaksesnya. Sebagai gambaran misalnya pada contoh di atas, setelah user A login dan loginnya berhasil maka akan muncul menu link menuju ke halaman 1, 2 dan 3 karena si A ini levelnya Administrator. Namun untuk si D, karena levelnya user biasa, maka hanya akan muncul menu link menuju halaman 3 saja.Nah lantas bagaimana ide dan teknik dalam membuat sistem login terkait dengan hak akses untuk multi user seperti kasus di atas? Inilah yang akan saya beberkan rahasianya dalam artikel ini. Artikel ini merupakan request dari xfreecode (member saya) sekaligus salah satu dari sekian banyak trik dan teknik yang saya paparkan pada peserta kursus online PHP bersama saya.Ide dan teknik untuk menyelesaikan kasus di atas sebenarnya hanyalah pada penggunaan SESSION. Setelah user berhasil login, maka dibaca level usernya. Untuk memudahkan pengecekan level user ini, maka level user disimpan pada SESSION. Nah.. level user yang tersimpan dalam SESSION inilah yang nantinya akan banyak dicek untuk keperluan pembatasan hak akses user pada halaman-halaman yang sifatnya private.OK.. OK sudah paham deh idenya, tapi gini bagaimana seandainya ada user yang nakal? misalkan user E dengan level user biasa kebetulan tahu link URL menuju ke halaman 1. Lantas si E ini mencoba mem bypass link menuju halaman 1 melalui URL langsung tanpa melewati menu link, padahal halaman 1 ini adalah restricted area bagi user biasa (dalam hal ini si E). Nah lo gimana hayoo?? ya seorang programmer harus pinter-pinter ngakali. Trus Gimana ngakalinya? ya sebelum bagian script yang menampilkan konten pada halaman 1 terlebih dahulu harus mengecek level usernya sebagai administrator atau tidak, melalui pengecekan SESSION nya. Jika ya, maka tampilkan kontennya, dan jika tidak maka munculkan pesan Anda mau mencoba masuk ya?? Kagak boleh atuh OK.. deh stop berteori, sekarang lets do it! Untuk studi kasusnya, misalkan kita punya data user sebagaimana tersaji dalam tabel berikut iniview sourceprint?1.CREATE TABLE user (2.username varchar(20),3.password varchar(20),4.level varchar(20),5.PRIMARY KEY(username)6.);view sourceprint?1.INSERT INTO `user` VALUES ('a', 'pass1', 'admin');2.INSERT INTO `user` VALUES ('b', 'pass2', 'admin');3.INSERT INTO `user` VALUES ('c', 'pass3', 'user');4.INSERT INTO `user` VALUES ('d', 'pass4', 'user');5.INSERT INTO `user` VALUES ('e', 'pass5', 'user');Wah.. passwordnya kok tidak dienkripsi? he 3x ya itu saya sengaja karena supaya Anda bisa mencoba script yang saya buat ini. Memang sebaiknya passwordnya Anda enkripsi, paling tidak menggunakan md5(). Nah.. selanjutnya kita buat form loginnya.login.htmview sourceprint?01.02.03.04.Masukkan Username 05.06.07.08.Masukkan Password 09.10.11.12.13.14.15.16.Form login sudah dibuat, berikutnya kita buat script untuk memproses loginnya.loginsubmit.phpview sourceprint?01.