Kebijakan Keamanan Konten (CSP)
Konfigurasikan dan terapkan Kebijakan Keamanan Konten yang kuat untuk mengurangi serangan injeksi dan mengendalikan pemuatan sumber daya.
Kebijakan Keamanan Konten (CSP) adalah pelajaran Browser Extensions Development (Chrome & Edge) gratis di CoddyKit. Ini adalah pelajaran 3 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 Browser Extensions Development (Chrome & Edge), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Browser Extensions Development (Chrome & Edge) mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
What is CSP?
Welcome to Content Security Policy (CSP)! This powerful security feature helps protect your browser extensions and web pages from dangerous attacks like Cross-Site Scripting (XSS).
Think of CSP as a bouncer for your extension. It tells the browser exactly which sources are allowed to load scripts, styles, images, and other resources.
How CSP Works
CSP operates by defining a set of "directives" in your extension's manifest.json file. Each directive specifies valid sources for a particular type of resource.
- Scripts: Where JavaScript can load from.
- Styles: Where CSS can come from.
- Images: Allowed sources for images.
- Frames: Which URLs can be embedded in iframes.
If a resource tries to load from an unapproved source, the browser blocks it!
MV3's Default CSP
For Manifest V3 extensions, Chrome and Edge automatically apply a very strict default Content Security Policy. This helps ensure a baseline level of security.
You can customize or override this default CSP using the content_security_policy key within your manifest.json file. This is crucial when your extension needs to load resources from specific external domains.
`default-src`: The Catch-All
The default-src directive is your CSP's fallback. If you don't specify a directive for a particular resource type (like script-src or img-src), the browser will use the rules defined in default-src.
Common values:
'self': Allows resources only from the extension's own origin.https://example.com: Allows resources from a specific HTTPS domain.*: Allows resources from any origin (use with extreme caution!).
Restricting JavaScript (`script-src`)
The script-src directive is vital for preventing Cross-Site Scripting (XSS). It dictates where your extension can load JavaScript code from.
For extensions, always avoid using 'unsafe-inline' or 'unsafe-eval'. These directives allow inline scripts and eval(), which are major security risks. Load scripts from your extension's package or explicitly whitelisted safe domains.
Manifest with CSP
Here's how you'd define a basic CSP in your manifest.json to allow scripts only from your extension's package and images from any source:
{
"name": "My Secure Extension",
"version": "1.0",
"manifest_version": 3,
"action": {
"default_popup": "popup.html"
},
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self'; img-src *"
}
}Styles, Images & More
Just like with scripts, you can control other resource types:
style-src: Defines valid sources for CSS stylesheets. Use'self'or specific HTTPS URLs.img-src: Specifies allowed sources for images. You might use'self',data:(for base64 images), or specific image CDNs.
Always be as restrictive as possible to enhance security!
Beyond Basic Directives
CSP offers many more directives for fine-grained control:
object-src: Restricts sources for plugins like<object>,<embed>.frame-src: Controls which URLs can be loaded into<frame>,<iframe>, etc.connect-src: Limits where your extension can make network requests (e.g.,fetch(),XMLHttpRequest).
Principle of Least Privilege
When defining your CSP, always follow the "Principle of Least Privilege". This means only allowing exactly what your extension needs and nothing more.
- Start with the strictest possible CSP.
- Gradually add directives and sources as required.
- Avoid wildcards (
*) unless absolutely necessary and justified. - Regularly review your CSP as your extension evolves.
CSP Rule Check
You are building an extension and want to allow scripts only from your extension's own files, and images from any external HTTPS source. Which of the following CSP configurations would achieve this for extension_pages?
Recap: Secure with CSP
Great job! You've learned how Content Security Policy (CSP) is a critical defense mechanism for your browser extensions.
- CSP helps prevent XSS and other injection attacks.
- It works by whitelisting trusted sources for resources.
- Manifest V3 enforces a strict default CSP.
- Use directives like
default-src,script-src,style-src, andimg-srcto control content. - Always apply the Principle of Least Privilege when defining your CSP.
A well-configured CSP is key to building secure and robust extensions!
Belajar JavaScript dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kebijakan Keamanan Konten (CSP)” gratis?
Ya — teks lengkap “Kebijakan Keamanan Konten (CSP)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Browser Extensions Development (Chrome & Edge), upgrade ke CoddyKit PRO. Kursus Browser Extensions Development (Chrome & Edge) mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Kebijakan Keamanan Konten (CSP)”?
Konfigurasikan dan terapkan Kebijakan Keamanan Konten yang kuat untuk mengurangi serangan injeksi dan mengendalikan pemuatan sumber daya. Kamu berlatih Browser Extensions Development (Chrome & Edge) 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 Browser Extensions Development (Chrome & Edge)?
Tidak diperlukan pengalaman sebelumnya. Browser Extensions Development (Chrome & Edge) 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 3 dari 4.
Berapa lama pelajaran “Kebijakan Keamanan Konten (CSP)” 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 Browser Extensions Development (Chrome & Edge) ini?
Ya. Setiap pelajaran Browser Extensions Development (Chrome & Edge) 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
- Memahami Izin Lanjutan
- Praktik Pemrograman Aman
- Kebijakan Keamanan Konten (CSP)
- Izin Opsional dan Permintaan Saat Berjalan