Kamis, 29 Mei 2025

Membuat Login System dengan Password Hash dan Dua Role (Admin & User) FREE DOWNLOAD CODE

 

Sistem login merupakan komponen penting dalam pengembangan aplikasi web yang memerlukan autentikasi pengguna. Dalam artikel ini, kita akan membangun sebuah sistem login dengan fitur-fitur berikut:

  • Password Hashing untuk keamanan.

  • Dua Role (Admin & User) dengan hak akses berbeda.

  • Struktur Folder yang Terorganisir.

Kita akan menjelaskan fungsi masing-masing file dalam struktur folder loginhash tanpa menampilkan kode secara langsung, karena kode akan disediakan dalam bentuk file download.


Struktur Folder dan File

Berikut adalah daftar file yang akan digunakan dalam sistem login:

1. index.php (Halaman Login)

File ini berfungsi sebagai halaman utama untuk login pengguna. Fitur yang dimiliki:

  • Form input username dan password.

  • Validasi login menggunakan session.

  • Redirect ke dashboard setelah login berhasil.

  • Menampilkan pesan error jika login gagal.

2. dashboard.php (Halaman Redirect Berdasarkan Role)

File ini berperan sebagai penghubung setelah login berhasil.

  • Memeriksa apakah pengguna sudah login (isLoggedIn()).

  • Redirect ke admin.php jika role = admin.

  • Redirect ke user.php jika role = user.

3. functions.php (Kumpulan Fungsi Bantuan)

Berisi fungsi-fungsi utilitas yang digunakan di seluruh sistem:

  • isLoggedIn(): Memeriksa apakah pengguna sudah login.

  • isAdmin(): Memeriksa apakah role pengguna adalah admin.

  • redirect($location): Mengarahkan pengguna ke halaman tertentu.

  • sanitizeInput($data): Membersihkan input dari karakter berbahaya (XSS prevention).

4. config.php (Konfigurasi Database & Session)

File ini berisi:

  • Koneksi database menggunakan PDO (PHP Data Objects).

  • Inisialisasi session (session_start()).

  • Konfigurasi dasar seperti nama database, username, password, dll.

5. auth.php (Proses Autentikasi & Manajemen User)

File ini menangani:

  • Proses Login:

    • Mengecek username & password di database.

    • Memverifikasi password menggunakan password_verify().

    • Menyimpan data user ke session jika login berhasil.

  • Proses Tambah User (Admin Only):

    • Hanya admin yang bisa menambahkan user baru.

    • Password di-hash menggunakan password_hash().

    • Menyimpan data user ke database.

6. admin.php (Halaman Khusus Admin)

Halaman ini hanya bisa diakses oleh role admin, berisi:

  • Daftar semua user (jika diperlukan).

  • Fitur CRUD (Create, Read, Update, Delete) untuk manajemen user.

  • Opsi untuk menambahkan user baru.

7. user.php (Halaman Khusus User Biasa)

Halaman ini untuk pengguna dengan role user, berisi:

  • Informasi dasar user.

  • Fitur yang lebih terbatas dibanding admin.

8. add_user.php (Form Tambah User Baru - Admin Only)

Halaman ini digunakan admin untuk:

  • Menambahkan user baru dengan role admin/user.

  • Form input username, password, dan role.

  • Validasi sebelum disimpan ke database.

9. logout.php (Proses Logout)

File ini bertugas:

  • Menghapus semua data session (session_destroy()).

  • Mengarahkan pengguna kembali ke halaman login (index.php).


Alur Kerja Sistem Login

  1. Pengguna membuka index.php → Masukkan username & password.

  2. auth.php memverifikasi login:

    • Jika benar, data user disimpan di session dan diarahkan ke dashboard.php.

    • Jika salah, kembali ke index.php dengan pesan error.

  3. dashboard.php memeriksa role:

    • Jika admin, redirect ke admin.php.

    • Jika user, redirect ke user.php.

  4. Admin bisa menambah user melalui add_user.php.

  5. Logout → Hapus session dan kembali ke index.php.

     

    📥 Downloads File Disini!!!! 


Kesimpulan

Sistem login ini menggunakan password hashing untuk keamanan dan dua role (admin & user) untuk kontrol akses. Dengan struktur yang terorganisir, sistem ini mudah dikembangkan dengan fitur tambahan seperti:

  • Password reset.

  • Remember me (cookie-based login).

  • Captcha untuk mencegah brute force.

File-file di atas dapat di-download dan diimplementasikan langsung dalam proyek PHP Anda. Semoga artikel ini membantu! 🚀

Penting: untuk login pertaman (user: admin , Password : admin123 dan untuk user login username:user , password: user123)

Tidak ada komentar:

Posting Komentar

Panduan Lengkap Membuat Database, Tabel, Menambah User, dan Memberikan Privilege di Ubuntu Server

Dalam dunia administrasi server, pengelolaan database merupakan salah satu keterampilan fundamental yang harus dikuasai. Ubuntu Server, seba...