Checklist keamanan website PHP Native sebelum live, mulai dari konfigurasi production, validasi upload, CSRF, HTTPS, sampai proteksi folder sensitif.
Kenapa keamanan perlu dicek sebelum website live?
Website yang berjalan normal di lokal belum tentu siap dipasang di hosting. Saat sudah online, file konfigurasi, form admin, upload gambar, dan endpoint publik bisa menjadi target jika tidak dikunci dengan benar.
Checklist ini membantu memastikan website PHP Native lebih siap production sebelum dipakai untuk portfolio, company profile, blog, atau aplikasi internal sederhana.
1. Matikan mode development
Pastikan error detail tidak tampil ke pengunjung. Gunakan mode production agar pesan error dicatat ke log, bukan ditampilkan di browser. Informasi seperti path file, query, atau konfigurasi server tidak boleh bocor.
2. Gunakan HTTPS dan cookie aman
Aktifkan SSL dari hosting dan pastikan URL canonical, asset, serta Open Graph memakai HTTPS. Session cookie sebaiknya menggunakan HttpOnly, SameSite, dan Secure saat HTTPS aktif.
3. Lindungi folder sensitif
Folder seperti app, config, database, routes, dan storage tidak boleh bisa diakses langsung dari browser. Jika memakai Apache, rule .htaccess harus memblok folder tersebut sebelum rule rewrite ke public berjalan.
4. Validasi upload file
Jangan hanya percaya ekstensi file. Upload harus memeriksa ekstensi, MIME type, ukuran file, dan validitas gambar. Folder uploads juga sebaiknya tidak bisa mengeksekusi file PHP atau script lain.
5. Pakai CSRF untuk form admin
Semua aksi yang mengubah data seperti tambah, edit, hapus, upload, dan mark read perlu token CSRF. Ini mencegah request palsu dari halaman lain saat admin sedang login.
6. Perkuat akun admin
Gunakan password kuat dan jangan biarkan password default. Tambahkan rate limit login, session timeout, dan aktivitas log agar percobaan mencurigakan lebih mudah dilacak.
7. Backup sebelum update
Sebelum upload perubahan besar, buat backup database dan file. Backup membuat proses recovery lebih aman jika ada kesalahan deploy atau data berubah tidak sesuai.
Kesimpulan
Keamanan PHP Native tidak harus rumit, tetapi harus disiplin. Dengan production mode, HTTPS, proteksi folder, validasi upload, CSRF, dan password admin yang kuat, website akan jauh lebih siap dipakai di hosting.