Web Security

Desdulianto

Pemrograman Web Dengan PHP - Web Security - Desdulianto

Bahasan

  • HTTPS
  • SQL Injection
  • Cross-site Request Forgery (CSRF)
  • Resources
Pemrograman Web Dengan PHP - Web Security - Desdulianto

HTTPS

  • Komunikasi data HTTP bersifat plain text
  • HTTPS mengenkripsi data HTTP sehingga data yang disadap tidak bisa dibaca oleh penyerang
  • Menggunakan skema enkripsi public key/shared key
    • Server mengirimkan certificate yang terdiri dari public key dan identitas server yang di-sign oleh Certificate Authority (CA)
    • Client menverifikasi identitas sertifikat server, dan melakukan secret key exchange dengan server
    • Komunikasi selanjutnya dilakukan secara terenkripsi
Pemrograman Web Dengan PHP - Web Security - Desdulianto

SQL Injection

  • Penyerang mengirimkan data yang tanpa sengaja dieksekusi sebagai perintah SQL
  • Data input tidak divalidasi dan disanitasi dengan benar dan ketat
  • Hindari memasang parameter ke SQL query dengan string interpolation
    • Gunakan prepared statement
    • Validasi dan sanitasi input
Pemrograman Web Dengan PHP - Web Security - Desdulianto

Cross-site Request Forgery (CSRF)

  • Code di-inject sebagai content halaman web, user yang mengunjungi halaman web ini secara tidak sadar akan mengeksekusi code penyerang
  • Sanitasi content dari user, ketika disimpan dan ketika ditampilkan
  • CSRF token pada form
  • Implementasi CORS untuk menfilter request AJAX dari domain tertentu
Pemrograman Web Dengan PHP - Web Security - Desdulianto

Resources

Pemrograman Web Dengan PHP - Web Security - Desdulianto