Rumah > hujung hadapan web > tutorial js > Bagaimanakah Dasar Keselamatan Kandungan (CSP) Berfungsi: Panduan Komprehensif?

Bagaimanakah Dasar Keselamatan Kandungan (CSP) Berfungsi: Panduan Komprehensif?

Barbara Streisand
Lepaskan: 2024-11-11 06:55:03
asal
657 orang telah melayarinya

How Does Content Security Policy (CSP) Work: A Comprehensive Guide?

Cara CSP Berfungsi: Panduan Komprehensif untuk Dasar Keselamatan Kandungan

Pengenalan:

Kandungan Dasar Keselamatan (CSP) ialah mekanisme keselamatan yang berkuasa yang melindungi tapak web daripada kandungan berniat jahat dan serangan skrip merentas tapak (XSS). Dengan menentukan sumber mana pelayar boleh memuatkan sumber, CSP mengurangkan risiko kandungan yang tidak dipercayai menyusup ke tapak web anda dengan berkesan.

Memahami Pengepala HTTP Kandungan-Keselamatan-Dasar:

Teg Content-Security-Policy terdiri daripada arahan yang menentukan sumber yang sah untuk memuatkan pelbagai jenis kandungan. Setiap arahan diikuti dengan senarai parameter yang dipisahkan oleh ruang yang mentakrifkan sumber yang dibenarkan.

1. Membenarkan Berbilang Sumber:

Untuk membenarkan berbilang sumber, cuma senaraikannya selepas arahan:

content="default-src https://example1.com/js/ https://example2.com/js/"
Salin selepas log masuk

2. Menggunakan Arahan Berbeza:

Arahan biasa termasuk:

  • default-src: Dasar lalai untuk memuatkan kebanyakan sumber
  • script-src: Sumber yang sah untuk JavaScript fail
  • style-src: Sumber yang sah untuk fail CSS
  • img-src: Sumber yang sah untuk imej
  • connect-src: Sasaran yang sah untuk permintaan AJAX atau WebSockets

3. Menggabungkan Arahan:

Berbilang arahan boleh digabungkan menjadi satu meta-tag menggunakan koma bertitik:

content="default-src 'self' https://example.com/js/; style-src 'self'"
Salin selepas log masuk

4. Mengendalikan Port:

Port bukan standard mesti dinyatakan dengan jelas:

content="default-src https://ajax.googleapis.com:443 https://example.com:123/free/stuff/"
Salin selepas log masuk

5. Membenarkan Protokol Berbeza:

Protokol standard dibenarkan secara lalai. Untuk membenarkan protokol bukan standard (cth., WebSockets), gunakan connect-src:

content="default-src 'self'; connect-src ws://"
Salin selepas log masuk

6. Membenarkan Protokol Fail (fail://):

Gunakan parameter sistem fail:

content="default-src filesystem"
Salin selepas log masuk

7. Membenarkan Gaya Sebaris dan Skrip:

Benarkan kandungan sebaris menggunakan sebaris tidak selamat:

content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"
Salin selepas log masuk

8. Membenarkan Evals:

Membenarkan eval() memerlukan parameter tidak selamat-eval:

content="script-src 'unsafe-eval'"
Salin selepas log masuk

9. Maksud 'diri':

'diri' merujuk kepada skema, hos dan port yang sama seperti fail yang mengandungi dasar kandungan. Ini tidak termasuk localhost atau sumber sistem fail tempatan.

Bahaya Arahan Wildcard:

Walaupun content="default-src *" mungkin kelihatan seperti cara yang mudah untuk membenarkan semua sumber, ia tidak secara tersirat memberikan kebenaran untuk inlining atau evals. Untuk membuka tapak anda sepenuhnya kepada semua kandungan, gunakan:

content="default-src * 'unsafe-inline' 'unsafe-eval'"
Salin selepas log masuk

Kesimpulan:

CSP ialah alat keselamatan yang berkuasa yang boleh mengurangkan risiko serangan XSS dengan ketara. Dengan memahami pelbagai arahan dan parameter, anda boleh menguatkuasakan dasar keselamatan tersuai untuk tapak web anda dengan berkesan. Adalah penting untuk diingat bahawa CSP tidak boleh digunakan sebagai pengganti untuk amalan pengekodan selamat tetapi sebagai lapisan perlindungan tambahan terhadap kemungkinan ancaman.

Atas ialah kandungan terperinci Bagaimanakah Dasar Keselamatan Kandungan (CSP) Berfungsi: Panduan Komprehensif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan