ProbeHunt

Atur Permissions-Policy

Header web · sekitar 5 menit

Dengan bahasa sederhana

Kunci fitur browser yang sensitif (kamera, mikrofon, lokasi, pembayaran) yang tidak dibutuhkan situs Anda, supaya kode sisipan atau pihak ketiga tidak bisa memintanya.

Apa risikonya

Skrip pihak ketiga atau hasil injeksi bisa meminta akses kamera, mikrofon, atau lokasi atas nama situs Anda.

Cara memperbaikinya

Pilih platform yang dipakai situs Anda. Tidak yakin? Teruskan halaman ini ke pengelola website Anda.

Nginx

# inside the server { } block
add_header Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()" always;

Apache / .htaccess

<IfModule mod_headers.c>
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
</IfModule>

Cloudflare

Rules → Transform Rules → Modify Response Header
  Set static: Permissions-Policy = camera=(), microphone=(), geolocation=(), payment=(), usb=()

# Cloudflare Pages: add to public/_headers
/*
  Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()

Vercel

// vercel.json
{ "headers": [ { "source": "/(.*)", "headers": [
  { "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=(), payment=(), usb=()" }
] } ] }

Netlify

# public/_headers
/*
  Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()

WordPress

// functions.php (child theme) — or use your security plugin's "HTTP headers" setting
add_action('send_headers', function () {
  header('Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()');
});
Sebelum mengubah apa pun: Jangan masukkan fitur yang memang dipakai situs Anda (mis. hapus geolocation=() jika ada pencari lokasi toko).

Pastikan sudah berhasil

Jalankan ulang cek ProbeHunt.

Jalankan ulang cek gratis

Referensi