Mata Kuliah: Pemrograman Berbasis Web
π§ 1. Pengertian Session dan Authentication
7
π Deskripsi
- Authentication adalah proses verifikasi identitas pengguna (login).
- Session adalah mekanisme untuk menyimpan status login pengguna di server.
π§ Narasi
Web bersifat stateless (tidak menyimpan keadaan). Artinya, setiap request dianggap baru. Session digunakan untuk βmengingatβ pengguna setelah login sehingga tidak perlu login ulang setiap membuka halaman.
π 2. Konsep HTTP Stateless
6
π Deskripsi
HTTP tidak menyimpan informasi antar request.
π§ Narasi
Tanpa session, server tidak tahu apakah request berasal dari user yang sama. Oleh karena itu, diperlukan mekanisme tambahan seperti session atau cookie.
πͺ 3. Cookie vs Session
5
π Deskripsi
Perbedaan antara cookie dan session:
π§± Tabel Perbandingan
| Aspek | Cookie | Session |
|---|---|---|
| Penyimpanan | Client (browser) | Server |
| Keamanan | Lebih rendah | Lebih aman |
| Ukuran | Terbatas | Lebih besar |
π§ Narasi
Session lebih aman karena data disimpan di server, sedangkan cookie bisa diakses dari browser.
π 4. Konsep Authentication (Login System)
8
π Deskripsi
Authentication dilakukan dengan:
- Username
- Password
π Alur
- User input data
- Data dikirim ke server
- Dicek ke database
- Jika cocok β login berhasil
π§ Narasi
Authentication memastikan hanya pengguna yang valid dapat mengakses sistem.
π₯οΈ 5. Implementasi Session di PHP
6
π Deskripsi
Session di PHP digunakan untuk menyimpan data user.
π» Contoh
session_start();
$_SESSION['user'] = "Budi";
π§ Narasi
session_start() wajib dipanggil sebelum menggunakan session.
π 6. Implementasi Login dengan Session
7
π Deskripsi
Session digunakan untuk menyimpan status login.
π» Contoh
if ($username == "admin" && $password == "123") {
session_start();
$_SESSION['login'] = true;
}
π§ Narasi
Setelah login berhasil, session digunakan untuk mengakses halaman lain.
πͺ 7. Proteksi Halaman (Authorization)
7
π Deskripsi
Membatasi akses halaman hanya untuk user login.
π» Contoh
session_start();
if (!isset($_SESSION['login'])) {
header("Location: login.php");
}
π§ Narasi
Authorization memastikan user yang belum login tidak bisa mengakses halaman tertentu.
πͺ 8. Logout Session
8
π Deskripsi
Logout digunakan untuk menghapus session.
π» Contoh
session_start();
session_destroy();
π§ Narasi
Setelah logout, user harus login kembali untuk mengakses sistem.
π 9. Keamanan Authentication
8
π Deskripsi
Authentication harus aman.
π§± Teknik
| Teknik | Fungsi |
|---|---|
| Hashing | Enkripsi password |
| HTTPS | Keamanan data |
| Session timeout | Batas waktu login |
π» Contoh
$password = password_hash("123", PASSWORD_DEFAULT);
π§ Narasi
Password tidak boleh disimpan dalam bentuk asli (plain text).
β οΈ 10. Kesalahan Umum
6
π Deskripsi
Kesalahan umum:
- Lupa
session_start() - Tidak validasi login
- Tidak proteksi halaman
π§ Narasi
Kesalahan ini bisa menyebabkan celah keamanan.
π 11. Alur Lengkap Sistem Login
8
π Deskripsi
Alur sistem:
- Login
- Session dibuat
- Akses halaman
- Logout
π§ Narasi
Siklus ini adalah dasar semua aplikasi berbasis user.
π§ͺ 12. Studi Kasus Mini Project
π― Tugas
Buat sistem:
- Form login
- Validasi user
- Session login
- Proteksi halaman
- Logout
π― 13. Kesimpulan
- Session menyimpan status user
- Authentication memverifikasi user
- Authorization mengontrol akses
- Keamanan sangat penting
π Penutup
Materi ini menjadi dasar untuk:
β‘οΈ Sistem login lengkap
β‘οΈ Role-based access control
β‘οΈ Framework seperti Laravel