Jadual Kandungan
Mengapa anda memerlukan CSP?
Bagaimana CSP berfungsi?
Bagaimana untuk memulakan dengan CSP?
Soalan dan nota yang sering ditanya
Rumah hujung hadapan web Soal Jawab bahagian hadapan Apakah CSP Dasar Keselamatan Kandungan

Apakah CSP Dasar Keselamatan Kandungan

Jul 04, 2025 am 03:21 AM

Dasar Keselamatan Kandungan (CSP) menghalang serangan seperti XSS dengan mengehadkan sumber pemuatan sumber laman web. Mekanisme terasnya adalah untuk menetapkan senarai putih untuk mengelakkan skrip yang tidak dibenarkan daripada dilaksanakan. Langkah -langkah untuk membolehkan termasuk: 1. Tentukan dasar dan jelaskan sumber sumber yang dibenarkan; 2. Tambah header HTTP-Policy-Policy kandungan ke pelayan; 3. Ujian dan debug pada peringkat awal menggunakan mod laporan sahaja; 4. Strategi pemantauan dan pengoptimuman yang berterusan untuk memastikan bahawa mereka tidak mempengaruhi fungsi normal. Nota termasuk mengendalikan skrip dalam talian, penggunaan sumber pihak ketiga, sokongan keserasian, dan langkah-langkah keselamatan yang tidak dapat digantikan.

Dasar Keselamatan Kandungan (CSP) adalah mekanisme keselamatan yang membantu laman web mencegah dan mengurangkan serangan skrip jahat. Ringkasnya, ia menghalang kelemahan keselamatan seperti XSS (serangan skrip lintas tapak) daripada dieksploitasi dengan memberitahu penyemak imbas yang sumber boleh dimuatkan dan yang tidak boleh.

Idea terasnya ialah: Tidak semua sumber harus dimuatkan, hanya sumber kepercayaan anda harus dibenarkan untuk dilaksanakan.


Mengapa anda memerlukan CSP?

Tanpa CSP, laman web akan memuatkan sebarang skrip tertanam, gaya atau imej secara lalai, yang memberikan penyerang peluang untuk mengambil kesempatan. Sebagai contoh, pengguna berniat jahat mengemukakan sekeping kod JavaScript. Jika halaman tidak menapis cukup, kod akan dilaksanakan, yang mungkin mencuri kuki pengguna dan memulakan permintaan pemalsuan.

Fungsi CSP adalah untuk menyekat halaman dari memuatkan kandungan dari sumber yang ditentukan . Walaupun seseorang memasukkan kod berniat jahat, penyemak imbas tidak akan melaksanakannya selagi ia tidak datang dari sumber pada senarai putih.

Contohnya:

  • Apabila tidak ada CSP, penyerang menyuntik <script src="https://malicious.com/evil.js"></script> dan penyemak imbas seperti biasa.
  • Dengan CSP dan tetapan hanya membolehkan memuatkan JS dari pelayan anda sendiri, skrip luaran ini akan dipintas.

Bagaimana CSP berfungsi?

CSP meluluskan peraturan dasar melalui HTTP Response Header Content-Security-Policy . Selepas penyemak imbas menerima tajuk ini, ia akan menilai sama ada sumber dibenarkan dimuatkan mengikut peraturan.

Arahan CSP biasa termasuk:

  • default-src : Dasar lalai untuk jenis sumber lain yang tidak ditentukan secara berasingan
  • script-src : Kawalan di mana JavaScript boleh dimuatkan
  • style-src : mengawal sumber pemuatan stylesheets CSS
  • img-src : Sumber Imej Kawalan
  • connect-src : Kawalan sasaran permintaan rangkaian seperti XMLHTTPREQUEST, Ambil, dll.

Mari memberi contoh strategi yang mudah:

 Kandungan-keselamatan-dasar: skrip-src &#39;diri&#39;; objek-src &#39;tiada&#39;;

Makna strategi ini ialah: JavaScript hanya boleh dimuatkan dari nama domain semasa dan tidak membenarkan sebarang flash atau objek plug-in yang lain dimuatkan.


Bagaimana untuk memulakan dengan CSP?

Untuk membolehkan CSP, langkah utama adalah seperti berikut:

  1. Tentukan kandungan dasar

    • Tentukan sumber mana yang boleh dimuatkan dari mana sumber mengikut struktur laman web anda
    • Anda boleh berehat terlebih dahulu dan kemudian mengetatkan secara beransur -ansur
  2. Tambah header HTTP

    • Tambahkan Content-Security-Policy Header dalam Konfigurasi Pelayan
    • Sebagai contoh, di Nginx, anda boleh menambah ini:
       add_header kandungan-security-policy "script-src &#39;self&#39;; gaya-src &#39;self&#39; https://cdn.example.com;";
    • Ujian dan debugging

      • Pada peringkat awal, adalah disyorkan untuk menggunakan Content-Security-Policy-Report-Only mod untuk membolehkan pelayar melaporkan pelanggaran tetapi tidak benar-benar menyekat mereka.
      • Anda boleh menghantar log ke alamat yang ditentukan untuk analisis dalam kombinasi dengan report-uri atau report-to
    • Pemantauan dan pengoptimuman

      • Lihat sumber mana yang dipintas dan menyesuaikan dasar sehingga tidak menjejaskan fungsi normal

    • Soalan dan nota yang sering ditanya

      • Skrip sebaris akan disekat

        • Jika anda menggunakan kaedah penulisan <script>console.log(&#39;hello&#39;)</script> , ia akan disekat oleh CSP secara lalai
        • Penyelesaian: Gunakan fail JS pautan luaran, atau tambahkan tandatangan nonce
      • Berhati-hati dengan sumber pihak ketiga

        • Apabila menggunakan kod CDNS atau statistik, ingatlah untuk menyenaraikannya
        • Jika tidak, ia boleh menyebabkan gangguan gaya dan kegagalan fungsi.
      • Keserasian biasanya baik

        • Pelayar moden arus perdana menyokong CSP
        • Tetapi versi lama IE mungkin tidak diiktiraf
      • Jangan terlalu bergantung pada CSP

        • Ia adalah "lapisan tambahan" dan tidak dapat menggantikan langkah -langkah keselamatan asas seperti penapisan input, melarikan diri output, dll.

      Secara umum, CSP adalah alat yang berkesan meningkatkan keselamatan front-end. Walaupun konfigurasi agak menyusahkan pada mulanya, sekali ditubuhkan, ia dapat mengurangkan risiko serangan seperti XSS. Pada dasarnya itu sahaja. Jika laman web anda sudah dalam talian, anda juga boleh mencuba dalam mod laporan sahaja.

      Atas ialah kandungan terperinci Apakah CSP Dasar Keselamatan Kandungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1511
276
Menyelam mendalam ke webassembly (WASM) untuk pemaju depan Menyelam mendalam ke webassembly (WASM) untuk pemaju depan Jul 27, 2025 am 12:32 AM

WebAssembly (WASM) isagame-changerforfront-enddevelopersseekinghigh-performanceWebapplications.1.wasmisabinaryInstructionFatThatRunsatnear-nativespeed, enablinglanguageslikerust, c, andgoexecuteinthebrowser.2.itreBrowser.2.itreBrowser.2

Rendering sisi pelayan dengan Next.js dijelaskan Rendering sisi pelayan dengan Next.js dijelaskan Jul 23, 2025 am 01:39 AM

Server-siderendering (ssr) innext.jsgenerateshtmlontheserverforachrequest, InfrovingPormanceAndSeo.1.ssrisidealfordynamiccontentthatchangesfrequents, suchasuserdashboard

Tajuk keselamatan untuk aplikasi frontend Tajuk keselamatan untuk aplikasi frontend Jul 18, 2025 am 03:30 AM

Front-end applications should set security headers to improve security, including: 1. Configure basic security headers such as CSP to prevent XSS, X-Content-Type-Options to prevent MIME guessing, X-Frame-Options to prevent click hijacking, X-XSS-Protection to disable old filters, HSTS to force HTTPS; 2. Tetapan CSP harus dielakkan menggunakan garis yang tidak selamat dan tidak selamat, gunakan nonce atau hash dan membolehkan ujian mod pelaporan; 3. Pengepala yang berkaitan dengan HTTPS termasuk permintaan peningkatan automatik HSTS dan dasar perujuk untuk mengawal rujukan; 4. Tajuk lain yang disyorkan seperti Permis

Pembangunan Frontend untuk Realiti Maya (VR) di Web Pembangunan Frontend untuk Realiti Maya (VR) di Web Jul 19, 2025 am 02:35 AM

Inti VR Web Front-End Development terletak pada pengoptimuman prestasi dan reka bentuk interaktif. Anda perlu menggunakan WebXR untuk membina pengalaman asas dan menyemak sokongan peranti; Pilih A-Frame atau Tiga.js Rangka Kerja; Secara seragam memproses logik input peranti yang berbeza; meningkatkan prestasi dengan mengurangkan panggilan lukisan, mengawal kerumitan model, dan mengelakkan pengumpulan sampah yang kerap; Reka bentuk UI dan interaksi yang menyesuaikan diri dengan ciri -ciri VR, seperti klik pandangan, pengiktirafan status pengawal dan susun atur elemen UI yang munasabah.

Pemantauan ralat dan penyelesaian pembalakan frontend Pemantauan ralat dan penyelesaian pembalakan frontend Jul 20, 2025 am 01:39 AM

Inti pemantauan dan pembalakan ralat front-end adalah untuk menemui dan mencari masalah secepat mungkin, dan elakkan aduan pengguna sebelum mengenali mereka. 1. Penangkapan kesilapan asas memerlukan penggunaan window.onerror dan window. 2. Apabila memilih sistem pelaporan ralat, berikan keutamaan kepada alat seperti Sentry, Logrocket, BugsNag, dan memberi perhatian kepada sokongan Sourcemap, penjejakan tingkah laku pengguna dan fungsi statistik pengelompokan; 3. Kandungan yang dilaporkan hendaklah termasuk maklumat penyemak imbas, URL halaman, timbunan ralat, identiti pengguna dan maklumat kegagalan permintaan rangkaian; 4. Kawalan kekerapan log untuk mengelakkan letupan log melalui strategi seperti deduplikasi, pengehadan semasa, dan pelaporan hierarki.

Memahami Corak Delegasi Acara JavaScript Memahami Corak Delegasi Acara JavaScript Jul 21, 2025 am 03:46 AM

Delegasi acara adalah teknik yang menggunakan mekanisme gelembung peristiwa untuk menyerahkan pemprosesan peristiwa elemen kanak -kanak kepada elemen induk. Ia mengurangkan penggunaan memori dan menyokong pengurusan kandungan dinamik dengan mengikat pendengar pada elemen induk. Langkah -langkah khusus adalah: 1. 2. Gunakan Event.Target untuk menentukan unsur -unsur kanak -kanak yang mencetuskan peristiwa dalam fungsi panggil balik; 3. Melaksanakan logik yang sepadan berdasarkan unsur -unsur kanak -kanak. Kelebihannya termasuk meningkatkan prestasi, memudahkan penyelenggaraan kod dan menyesuaikan diri dengan unsur -unsur yang ditambah secara dinamik. Apabila menggunakannya, anda harus memberi perhatian kepada sekatan gelembung peristiwa, elakkan pemantauan berpusat yang berlebihan, dan dengan munasabah memilih elemen induk.

Mengoptimumkan pemuatan fon untuk prestasi web Mengoptimumkan pemuatan fon untuk prestasi web Jul 18, 2025 am 03:55 AM

Kelajuan pemuatan laman web boleh diperbaiki dengan mengoptimumkan pemuatan fon. 1. Gunakan font-paparan: swap, membolehkan fon sistem dipaparkan terlebih dahulu dan kemudian digantikan dengan fon tersuai untuk mengelakkan teks kosong; 2. Pramuat Font Kata Kunci Skrin Pertama untuk Memendekkan Kelewatan Pemuatan; 3. Mengurangkan bilangan varian dan format fon, hanya memuatkan berat fon yang diperlukan dan memberi keutamaan kepada penggunaan format WOFF2; 4. Sebagai tindak balas kepada masalah fon Cina yang berlebihan, anda boleh memuatkan set aksara seperti yang diperlukan atau menggunakan alternatif fon sistem untuk meningkatkan masa lukisan pertama dan pengalaman membaca.

Pengurusan Negeri Pertunjukan Pertama dengan Zustand Pengurusan Negeri Pertunjukan Pertama dengan Zustand Jul 25, 2025 am 04:32 AM

Zustandisalisightweight, PerformantStateManagementsolutionForreActAppsthatavoidsredux'sboilerplate; 1.useSelectiveStateslicingtopreventunnessaryre-rendersbyselecselectingonlytheneedstateProperty;

See all articles