Keamanan website bukan cuma soal "pakai SSL". Di bawah ini checklist yang paling sering berdampak besar untuk mencegah kebocoran data, deface, dan brute force.
A. Konfigurasi aplikasi (Laravel) 1) Production mode
- Pastikan APP_ENV=production dan APP_DEBUG=false.
- Jangan pernah expose error detail ke publik.
2) Proteksi endpoint login (rate limit)
- Aktifkan throttle untuk login/register/reset. Contoh (konsep):
- throttle: 10 request per menit per IP untuk endpoint sensitif.
3) Validasi input & upload file
- Validasi mime + ekstensi + ukuran.
- Simpan file upload di storage, bukan di folder yang bisa dieksekusi PHP. Contoh aturan (konsep):
- image|mimes:jpg,jpeg,png,webp|max:2048
4) Rotasi secret
- Jangan commit .env.
- Kalau pernah bocor: rotasi APP_KEY, API key, token payment, token bot, dsb.
B. Server & web server 1) HTTPS + HSTS
- Pakai HTTPS di semua halaman dan aktifkan HSTS setelah yakin tidak ada mixed content.
2) Security headers
- X-Content-Type-Options: nosniff
- Referrer-Policy: strict-origin-when-cross-origin
- Permissions-Policy sesuai kebutuhan
- CSP (bertahap) kalau sudah siap, karena bisa memblokir CDN.
C. Monitoring & backup 1) Monitoring minimal
- Pantau error 5xx, lonjakan traffic, dan login gagal berulang.
2) Backup + uji restore
- Backup database terjadwal, simpan offsite, dan uji restore bulanan.
Contoh SOP incident
- Matikan mode debug, blokir endpoint yang diserang, rotasi credential, cek log, dan restore dari backup bila perlu.
Kalau kamu mau, saya bisa audit cepat halaman login/admin/upload, lalu kasih prioritas fix yang paling cepat menaikkan keamanan.