MODUL 11 MEMBUAT LOGIN USER Halaman web adalah suatu halaman rumah di dalam dunia maya, di sini kita dapat menampilkan tentang segala inspirasi, imajinasi, mimpi maupun uneg-uneg sekalipun. Ibarat sebuah rumah yang mempunyai pintu dan kunci, suatu halaman web juga dapat di amankan dengan menggunakan beberapa cara : 1. Menerapkan Login & Password dengan system .htaccess 2. Menerapkan Login & Password dengan menggunakan session PHP dan MySQL 3. dll. Untuk bagian pertama sangat sederhana, karena ini memanfaatkan kelebihan yang di miliki oleh apache. Dalam modul ini akan menjelaskan pengamanan halaman web menggunakan session pada PHP dan MySQL. Ada beberapa hal yang harus kita perhatikan dalam membuat halaman login dengan menggunakan session pada PHP dan MySQL, beberapa hal tersebut antara lain : 1. Pastikan form login adalah form dari server kita. 2. Amankan input text untuk user dan password, metoda, dan format data. 3. Hindari penggunaan register global (untuk PHP v 4.2.0 keatas sdh di-disable secara default). 4. Expired time dari login yang dilakukan. 5. Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung. Langkah-langkahnya adalah sebagai berikut: Jika anda mencoba dari komputer stand-alone, jalankan dulu webserver dan database server anda. 1. Database Setiap user yang login akan dicek username dan passwordnya dari tabel user yang terdapat pada database, dalam percobaan kali ini kita membuat database dengan nama login. Raka Yusuf: Pemrograman Berbasis Web 2 (Modul 11) #1/8 http://www.mercubuana.ac.id
</div></div></td> .style4 {color: #333333; } .style11 {color: #FFFFFF} --> </style></head> <body> <form method=post action=proses.php> <table width="350" height="102" border="0"> <tr><td width="100"><div align="center" class="style4"> <div align="left"> <pre>Nama : </pre> </div></div></td> <td width="200"><input name="username" type="text" value="" size="30"></td> </tr> <tr><td><div align="left"> <pre class="style4">Password : </pre> </div></td> <td><input name=pas type="password" size= 30></td> <tr> <td height="21" colspan="4"><div align="center"> <input name="login" type="submit" class="mainoption" id="login" value="Login"> </table> </form> </body> </html> Halaman yang akan terbuat: Nama Password : Login Raka Yusuf: Pemrograman Berbasis Web 2 (Modul 11) #3/8 http://www.mercubuana.ac.id
users untuk username dan password yang di isikan pada halaman login users untuk username dan password yang di isikan pada halaman login.php. Kemudian session_start() dimaksudkan untuk menginisialisasi suatu data session. Dia akan membuat sebuah session baru atau melanjutkan session yang sudah ada berdasarkan pada session yang sedang terjadi akibat dari pertukaran data session lewat request GET, POST atau cookie. 5. Jika username dan password dapat ditemukan lalu script akan mengarahkan user ke halaman tabelmaster.php (halaman ini diperuntukan untuk yang memiliki hak akses level 1), atau akan mengarahkan user ke halaman user.php (diperuntukan untuk user biasa) dan sebaliknya jika username atau password salah maka user akan diarahkan kembali ke halaman proses.php. Sekarang kita perlu membuat script atau dokumen yaitu tabelmaster.php dan user.php. File tabelmaster.php dan user.php adalah suatu halaman web yang merupakan halaman yang boleh diakses atau dimasuki user yang sudah berhasil login dengan benar. File tabelmaster.php dan user.php nantinya tidak akan bisa diakses langsung dari browser sebelum suatu user melakukan login dengan benar. Pada halaman tabelmaster.php dan user.php juga akan berisi link untuk logout sehingga session dari user tersebut bisa hilang dan kemudian kembali ke halaman proses.php. Berikut ini adalah script dari file tabelmaster.php dan user.php. Latihan 5 : tabelmaster.php <?php include ("koneksimysql.php"); mysql_select_db("login"); $perintah="SELECT * FROM users"; $hasil=mysql_query($perintah); session_start(); if (!empty ($namauser) AND !empty ($passuser)) { echo("<H3>Selamat Datang Admin</H3>" .$namauser); echo("<br>"); echo("<br><a href=logout.php>Logout</a>"); } else { echo("Maaf, Untuk mengakses halaman ini "); echo("anda harus login terlebih dahulu<BR><BR><HR>"); Raka Yusuf: Pemrograman Berbasis Web 2 (Modul 11) #5/8 http://www.mercubuana.ac.id