Latihan 1: Content Security Policy (CSP) — Security

Latihan 1 dari materi Content Security Policy (CSP) di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi function buildCSP(directives) supaya me-return string Content-Security-Policy.

directives adalah object: kuncinya nama directive, nilainya array sumber.

  1. Tiap directive jadi satu potongan: nama directive, spasi, lalu sumber-sumbernya disambung dengan spasi.
  2. Sambung potongan-potongan itu dengan titik koma dan spasi (; ). Gak ada titik koma di ujung.
  3. Urutannya sama dengan urutan kunci di object.

Nilai yang harus di-return:

  1. buildCSP({"default-src": ["'self'"], "script-src": ["'self'", "https://cdn.example.com"]}) me-return "default-src 'self'; script-src 'self' https://cdn.example.com"
  2. buildCSP({"default-src": ["'self'"]}) me-return "default-src 'self'"
  3. buildCSP({"img-src": ["'self'", "data:", "https://images.com"], "font-src": ["https://fonts.gstatic.com"]}) me-return "img-src 'self' data: https://images.com; font-src https://fonts.gstatic.com"

Baris console.log(buildCSP(...)) di kode awal sudah ada, biarkan begitu. Yang diuji adalah nilai yang di-return function-nya, jadi jangan tulis string-nya langsung.

Hint