HTML Academy · Pelajaran

Polisi Keselamatan Kandungan meta http-equiv

Tetapkan Polisi Keselamatan Kandungan melalui meta http-equiv

Pelajaran 1 daripada 413 langkah

Polisi Keselamatan Kandungan meta http-equiv ialah pelajaran HTML Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran HTML Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Apakah CSP?

Dasar Keselamatan Kandungan ialah dasar yang dikuatkuasakan oleh pelayar untuk mengehadkan sumber yang boleh dimuatkan dan dilaksanakan oleh halaman. Ia merupakan pertahanan terkuat terhadap Skrip Rentas Tapak: walaupun penyerang menyuntik tag <script>, pelayar enggan menjalankannya melainkan dasar membenarkannya.

Dua Cara Penghantaran

CSP boleh dihantar sebagai pengepala respons HTTP (Content-Security-Policy: ...) atau sebagai tag meta dalam HTML: <meta http-equiv="Content-Security-Policy" content="...">. Pengepala lebih diutamakan; tag meta berguna apabila anda tidak dapat mengawal pelayan.

<meta http-equiv="Content-Security-Policy"
  content="default-src 'self'; script-src 'self' https://cdn.example.com">

Arahan Biasa

default-src ialah sandaran untuk jenis sumber yang tidak dinyatakan. script-src, style-src, img-src, connect-src (XHR/fetch), font-src dan frame-src masing-masing mengehadkan jenis sumbernya. Benarkan asal tertentu atau gunakan 'self' untuk asal yang sama sahaja.

Kata Kunci self

'self' (dalam tanda petik) merujuk kepada asal halaman itu sendiri. script-src 'self' bermaksud "jalankan skrip yang dihoskan pada asal yang sama dengan halaman sahaja". Ini ialah asas bagi kebanyakan dasar; tambahkan CDN luaran tertentu jika diperlukan.

Menyekat Skrip Sebaris

Secara lalai, CSP menyekat semua tag <script> sebaris dan atribut pengendali acara (onclick). Ini ialah perlindungan XSS yang paling kukuh: <script> yang disuntik tidak boleh dijalankan kerana ia sebaris. Alihkan semua skrip ke fail luaran yang dirujuk oleh src.

Nonce dan Cincangan

Untuk skrip sebaris yang diperlukan, gunakan token rawak sekali guna: pelayan menjana token rawak bagi setiap permintaan, menetapkannya sebagai script-src 'nonce-RANDOM' dalam CSP dan menambah nonce="RANDOM" pada tag <script> yang sah. Skrip yang disuntik tidak mempunyai token tersebut lalu disekat.

<meta http-equiv="Content-Security-Policy"
  content="script-src 'nonce-abc123'">
<script nonce="abc123">// allowed</script>
<script>// blocked — no nonce</script>

unsafe-inline dan unsafe-eval

'unsafe-inline' membenarkan semula skrip dan gaya sebaris. 'unsafe-eval' membenarkan semula eval() dan new Function(). Kedua-duanya sangat melemahkan CSP — gunakan hanya sebagai pilihan terakhir semasa migrasi dan rancang untuk membuangnya.

Had Tag Meta

CSP yang dihantar melalui tag meta tidak boleh menggunakan arahan report-uri (atau ciri pelaporan lain). Ia juga berkuat kuasa lebih lewat berbanding pengepala — apa-apa sebelum tag meta tidak dilindungi. Pengepala jelas lebih baik; gunakan meta hanya sebagai sandaran.

Mod Laporan Sahaja

Uji dasar baharu tanpa menjejaskan laman: Content-Security-Policy-Report-Only: .... Pelayar melaporkan pelanggaran tanpa menyekatnya, jadi anda boleh memperhalus dasar sehingga semua sumber yang sah dibenarkan sebelum mengaktifkan penguatkuasaan.

Perangkap Biasa

Jika terlupa style-src 'unsafe-inline', gaya sebaris akan disekat (gaya ini sering dihasilkan oleh rangka kerja). Jika terlupa connect-src, AJAX ke API akan disekat. Sentiasa uji dasar dalam mod laporan sahaja terlebih dahulu dan semak konsol untuk melihat sumber yang disekat.

Strategi CSP Moden

CSP ketat menggabungkan script-src 'nonce-RANDOM' 'strict-dynamic' untuk skrip, serta senarai sumber yang dibenarkan dengan ketat bagi segala yang lain. 'strict-dynamic' membolehkan skrip yang mempunyai token sekali guna memuatkan skrip seterusnya tanpa menyenaraikan setiap skrip — jauh lebih mudah diselenggara berbanding senarai sumber yang dibenarkan mengikut asal.

Semakan Pengetahuan

Bagaimanakah CSP mempertahankan diri daripada serangan XSS walaupun penyerang berjaya menyuntik tag skrip?

Ringkasan

CSP ialah dasar yang dikuatkuasakan oleh pelayar untuk mengehadkan skrip, gaya, imej dan sumber lain yang boleh dimuatkan. Hantarkannya melalui pengepala respons (diutamakan) atau tag meta. Gunakan token sekali guna untuk skrip sebaris yang diperlukan, elakkan unsafe-inline/unsafe-eval dan uji dalam mod laporan sahaja terlebih dahulu. CSP ketat dengan 'nonce-X' 'strict-dynamic' ialah asas moden.

Percuma untuk bermula

Pelajari HTML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
40
Pelajaran
159

Soalan Lazim

Adakah pelajaran “Polisi Keselamatan Kandungan meta http-equiv” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran HTML Academy, termasuk “Polisi Keselamatan Kandungan meta http-equiv”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Polisi Keselamatan Kandungan meta http-equiv”?

Tetapkan Polisi Keselamatan Kandungan melalui meta http-equiv Anda berlatih HTML Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan HTML Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran HTML Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Polisi Keselamatan Kandungan meta http-equiv” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Polisi Keselamatan Kandungan meta http-equiv
  2. XSS melalui innerHTML dan Cara Mencegahnya
  3. Penyahkotakpasiran iframe dan Polisi Kebenaran
  4. HTTPS dan Integriti Sub sumber
← Kembali ke HTML Academy