Cookie dan sesi untuk Phoenix

high5 titik pemeriksaan

Cookie sesi adalah kunci akun. Atribut yang hilang mengubah satu celah XSS menjadi pengambilalihan akun penuh.

Yang harus ada di Phoenix

  • Atribut Secure pada setiap cookie
  • HttpOnly pada cookie sesi
  • SameSite=Lax atau Strict pada cookie sesi
  • Tidak ada ID sesi di URL atau localStorage
  • Rotasi sesi setelah login dan invalidasi saat logout

Cara memperbaiki

  1. 1Set atribut cookie di level framework agar semua cookie mewarisinya
  2. 2Pindahkan token dari localStorage ke cookie HttpOnly

Konteks Phoenix

Elixir web framework running on the BEAM with channels and LiveView.

LiveView pushes state over websockets; authorise every event handler, not just the initial render.