Skip to Content
DeveloperKeamanan

Keamanan

Server memeriksa identitas, organisasi, resource, dan penugasan sebelum mengizinkan tindakan. Kode dan pengujian menunjukkan batas keamanan yang benar-benar berlaku.

Batas kritis

  1. Sesi: cookie memuat token acak, sedangkan database menyimpan hash-nya. Jangan pindahkan sesi ke localStorage.
  2. Otorisasi: peran saja tidak cukup. Untuk tiap tindakan sensitif, periksa kepemilikan, organisasi, grant, dan penugasan.
  3. Mutasi: handler memvalidasi schema, origin, rate limit, versi, dan idempotensi. Server tidak mempercayai readiness atau hasil penilaian dari browser.
  4. Assessment: penyelesaian dan pencabutan harus memperbarui hasil, kecocokan, readiness, audit, dan receipt dalam satu transaksi.
  5. File: periksa izin sebelum membaca file privat. URL langsung tidak boleh melewati pemeriksaan. Validasi format bukan pemindaian antivirus.
  6. Profil skill: token hanya membuka field terpilih dan bisa kedaluwarsa atau dicabut. Jangan cache respons privat sebagai halaman publik.
  7. Demo: pisahkan data dan proses reset demo. Jangan pindahkan assessment sintetis ke data live.

Header dan secret

next.config.ts mengatur CSP, MIME sniffing, framing, referrer policy, dan HSTS di production. Jangan longgarkan header keamanan demi paket dokumentasi. Jangan tulis kredensial database atau Blob, password, maupun token share ke log, MDX, query bantuan, screenshot, atau telemetry.

Help mencari artikel statis secara lokal. Query pencarian muncul di URL, jadi jangan masukkan token atau isi Karya privat.

Verifikasi

Jalankan bun run test:security untuk menguji akses yang harus ditolak, dan bun run audit:dependencies untuk memeriksa dependency production. Tinjau tiap temuan sesuai pemakaian paket; build yang lolos tidak membuktikan keamanan.

Setelah mengubah keamanan, periksa kembali tests/security, terutama inventory guard, pemeriksaan origin, batas antarorganisasi, dan rate limit bersama.

Last updated on