Prinsip Keamanan
Keamanan End-to-End
Keamanan Basisdata
Pengamanan Password
Tidak menyimpan data password dalam bentuk “clear text” di dalam basisdata
Gunakan fungsi/function hashing untuk enkripsi data: md5, sha2, …
Pengamanan Password lanjutan ke 2
Buat tabel untuk menyimpan data user dan password. Contoh: tabel (admin)
Tambahkan data ke tabel admin
SQL Injection
Jangan menggunakan pernyataan SQL yang menggabungkan masukan user secara langsung gunakan PDO Prepared Statements:
prepare(),
bindValue(),
execute()
Script Injection
Jangan secara langsung menampilkan masukan user yang berupa skrip –> gunakan fungsi/function (htmlspecialchars)
XML Attack
XML attack adalah Denial-of-Service (DoS) attack
Merupakan XML schema yang well-formed dan valid
Implementasi keamanan yang lemah
1. Tidak mengimplementasikan sistem keamanan terbaru (Web Browser, Web Server, …)
2. Tidak mengimplementasikan mekanisme password yang baik
3. Hanya mengandalkan validasi client-side
4. Kecerobohan pengembang aplikasi web (developer problem)
Developer Problem
1. Error reporting tidak diaktifkan
2. Variabel tanpa inisialisasi nilai
3. Variabel global: php.ini –> register_global = On
Session
Session untuk Authorization: Kategori halaman web
Session untuk Authorization: Kategori halaman web
Untuk halaman non-publik, tambahkan skrip seperti contoh berikut:
Session untuk Authorization: Halaman LOGIN
Buat halaman login.php –> halaman ini harus dikirimkan ke dirinya sendiri (cek konsep self-submission)
selanjutnya