Keamanan website bukan hal yang bisa diabaikan. Setiap tahun, jutaan website menjadi korban serangan cyber. Artikel ini membahas langkah-langkah dasar namun krusial untuk mengamankan website Anda.
1. CSRF Protection
Cross-Site Request Forgery (CSRF) adalah serangan yang memaksa pengguna terautentikasi melakukan aksi yang tidak diinginkan. Pencegahannya:
- Gunakan CSRF token di setiap form
- Verifikasi token di server sebelum memproses request
- Regenerasi token setelah login
2. Password Hashing
Jangan pernah menyimpan password dalam bentuk plain text atau MD5. Gunakan algoritma modern seperti bcrypt:
// PHP - Hash password
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
// Verify
$valid = password_verify($input, $hash);
3. Brute Force Protection
Implementasikan pembatasan percobaan login:
- Batasi maksimal 5 percobaan login
- Kunci akun selama 15 menit setelah gagal
- Log semua percobaan login yang gagal
4. Security Headers
Tambahkan HTTP security headers melalui konfigurasi server:
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
5. Input Validation
Selalu validasi dan sanitasi semua input dari pengguna. Ini adalah garis pertahanan pertama terhadap serangan XSS dan SQL injection.
Security is not a product, but a process. — Bruce Schneier