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/"
2. Menggunakan Arahan Berbeza:
Arahan biasa termasuk:
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'"
4. Mengendalikan Port:
Port bukan standard mesti dinyatakan dengan jelas:
content="default-src https://ajax.googleapis.com:443 https://example.com:123/free/stuff/"
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://"
6. Membenarkan Protokol Fail (fail://):
Gunakan parameter sistem fail:
content="default-src filesystem"
7. Membenarkan Gaya Sebaris dan Skrip:
Benarkan kandungan sebaris menggunakan sebaris tidak selamat:
content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"
8. Membenarkan Evals:
Membenarkan eval() memerlukan parameter tidak selamat-eval:
content="script-src 'unsafe-eval'"
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'"
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!