PHP part 6

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




<--- materi sebelunya

Discussion