Autentikasi menjawab siapa penggunanya; otorisasi menjawab apa yang boleh dilakukannya. Section ini membangun keduanya dari nol: password hashing yang benar, registrasi dan login, session-based authentication, remember-me, reset password, dan verifikasi email. Bagian lanjutan membahas role dan permission, token untuk API, gambaran OAuth2 dan OpenID Connect, multi-factor authentication, serta checklist keamanan autentikasi.
Pelajari perbedaan mendasar antara pembuktian identitas dan pemberian hak akses agar 401 dan 403 tidak pernah tertukar.
Buka → # Password HashingPelajari cara menyimpan kata sandi dengan password_hash dan password_verify agar database yang bocor tidak serta-merta membuka semua akun.
Buka → # Registrasi PenggunaPelajari cara membangun alur registrasi yang aman mulai dari validasi email, aturan username, hashing password, hingga penanganan email duplikat.
Buka → # Login dan LogoutPelajari cara membangun alur login dan logout PHP: verifikasi password, pesan error generik, session, logout semua perangkat, hingga rate limiting.
Buka → # Session-Based AuthenticationPelajari cara membangun autentikasi berbasis session: menyimpan user_id, resolusi current user, guard halaman privat, dan pencegahan session fixation.
Buka → # Remember-MePelajari cara mengintegrasikan token remember-me ke alur autentikasi: auto-login dari cookie, masa berlaku token, dan invalidasi saat password berubah.
Buka → # Password ResetPelajari cara membangun alur reset password dengan token sekali pakai: permintaan, tautan email, verifikasi hash, jendela waktu, dan pencegahan user enumeration.
Buka → # Email VerificationPelajari cara membangun alur verifikasi email dengan token sekali pakai untuk memastikan alamat email benar-benar milik pengguna.
Buka → # Role-Based Access ControlPelajari cara menerapkan role-based access control untuk mengatur peran dan hak akses pengguna di aplikasi PHP.
Buka → # Permission ModelingPelajari cara memodelkan permission sebagai satuan hak akses yang lebih halus dan fleksibel dibandingkan role.
Buka → # API Token AuthenticationPelajari cara mengautentikasi klien API dengan personal access token yang di-hash, ber-scope, dan dapat dicabut.
Buka → # OAuth2 dan OpenID ConnectPelajari cara kerja OAuth2 dan OpenID Connect untuk login pihak ketiga dan delegasi akses tanpa mengelola sandi tambahan.
Buka → # Multi-Factor AuthenticationPelajari cara menambah faktor kedua autentikasi dengan TOTP, kode cadangan, dan WebAuthn agar kata sandi yang dicuri tidak cukup untuk membuka akun.
Buka → # Authentication SecurityPelajari checklist keamanan autentikasi lengkap: kebijakan kata sandi, rate limiting, pesan galat generik, anti-enumerasi, dan pencatatan peristiwa login.
Buka →