Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan
Hindari menyimpan token atau PII di localStorage.
Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.
Penyimpanan Berupa Teks Biasa
localStorage dan sessionStorage menyimpan data tanpa enkripsi pada media penyimpanan di bawah profil pengguna. Proses apa pun yang memiliki akses ke sistem berkas—termasuk perangkat lunak berbahaya, alat pencadangan, atau pengguna lain yang sedang masuk—dapat membaca setiap nilai yang Anda simpan tanpa melalui browser.
Dapat Diakses oleh Skrip Apa Pun
Semua skrip yang berjalan pada asal tersebut menggunakan Storage yang sama. Serangan XSS yang berhasil, SDK pihak ketiga yang telah disusupi, atau ekstensi browser berbahaya dapat memanggil localStorage.getItem dan mengambil setiap nilai yang tersimpan. Tidak ada isolasi per skrip.
Jangan Pernah Menyimpan Token Autentikasi
Jangan menyimpan token sesi, JWT, token penyegaran, atau kunci API di localStorage. Jika penyerang menyisipkan satu baris JavaScript saja, token tersebut langsung bocor. Gunakan cookie dengan atribut httpOnly, Secure, dan SameSite agar token tidak pernah dapat diakses dari JavaScript.
Jangan Pernah Menyimpan Kata Sandi
Menyimpan kata sandi dalam bentuk apa pun—teks biasa, hash, atau terenkripsi—merupakan tindakan yang keliru di sisi klien. Melakukan hashing di sisi klien tidak membantu jika penyerang dapat membaca hash tersebut dan menggunakannya kembali. Penanganan kata sandi sepenuhnya menjadi tanggung jawab server dengan hash kata sandi khusus seperti bcrypt.
Jangan Pernah Menyimpan Data Kartu Kredit
PCI-DSS melarang penyimpanan nomor kartu, CVV, data pita magnetik, atau tanggal kedaluwarsa di penyimpanan sisi klien. Sebagai gantinya, gunakan penyedia pembayaran yang menggunakan token (Stripe, Braintree, Adyen) dan mengembalikan token berumur singkat yang terikat pada asal Anda.
Jangan Pernah Menyimpan Pengenal Pribadi
ID pemerintah, tanggal lahir lengkap, alamat rumah, dan data medis menarik perhatian regulator (GDPR, HIPAA) serta penyerang. Simpan hanya data yang diperlukan untuk sesi saat ini, minta kembali data tersebut saat diperlukan, dan biarkan server menyimpan sumber kebenaran.
XSS Melipatgandakan Dampak
Bug XSS yang membocorkan document.cookie memang berbahaya. Bug yang sama pada halaman yang menyimpan token di localStorage akan menyerahkan semua nilai yang tersimpan kepada penyerang sekaligus. Perlakukan localStorage sebagai permukaan dengan risiko "jika satu skrip disusupi, semuanya ikut disusupi".
Enkripsi Tidak Menyelamatkan Anda
Mengenkripsi nilai dengan kunci yang juga berada di JavaScript tidak memberikan perlindungan nyata — penyerang yang dapat membaca teks tersandi juga dapat membaca kuncinya. Rahasia yang sebenarnya harus tetap berada di sisi server dan diterbitkan ulang, bukan disimpan secara permanen di sisi klien.
Hal yang Aman Disimpan
Preferensi antarmuka pengguna (tema, bilah samping yang diciutkan, bahasa), penanda fitur yang tidak sensitif, isi formulir draf, dan status sementara panduan langkah demi langkah semuanya aman. Data tersebut memang dapat dilihat pengguna, dan kebocorannya tidak memungkinkan pengambilalihan akun.
localStorage.setItem("theme", "dark");
localStorage.setItem("sidebar:collapsed", "true");
localStorage.setItem("draft:post-123", draftMarkdown);Gunakan Cookie untuk Autentikasi
Keluarkan autentikasi melalui Set-Cookie: token=...; HttpOnly; Secure; SameSite=Strict. Penanda HttpOnly membuat cookie tidak dapat dijangkau oleh JavaScript, sehingga menetralkan sebagian besar muatan XSS pencuri token meskipun masih terdapat bug lain di halaman tersebut.
Mitigasi dalam Penggunaan Penyimpanan
Jika Anda harus menyimpan sementara data yang tampak sensitif, batasi cakupannya dengan ketat (TTL singkat, hapus saat keluar, hapus saat tab ditutup melalui sessionStorage), terapkan Kebijakan Keamanan Konten yang ketat untuk memblokir skrip yang disisipkan, dan audit setiap skrip pihak ketiga yang berjalan di halaman terautentikasi.
Pemeriksaan Pengetahuan
Mengapa token autentikasi yang disimpan di localStorage dianggap sebagai risiko keamanan?
Ringkasan
Web Storage berupa teks biasa, dapat dibaca skrip, dan dibagikan per asal. Jangan pernah menaruh token autentikasi, kata sandi, data pembayaran, atau informasi pribadi yang diatur regulasi di sana. Simpan rahasia dalam cookie httpOnly dan gunakan localStorage hanya untuk status antarmuka pengguna yang tidak berbahaya dan memang dapat dilihat pengguna.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan” gratis?
Ya — teks lengkap “Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan”?
Hindari menyimpan token atau PII di localStorage. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai HTML Academy?
Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- localStorage vs sessionStorage
- Mendapatkan Mengatur dan Menghapus Item
- Mendengarkan Peristiwa Penyimpanan
- Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan