webzod
account

Send the Content-Security-Policy as an HTTP header on Apache

headers.csp.meta_only · effort: about an hour

Why it matters

A policy in a meta tag cannot use frame-ancestors, reporting or sandbox, and it only protects what comes after the tag in the page. The same policy sent as a response header covers the whole document.

Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.

The fix

  1. Stage 1: add the policy as a report-only header in the virtual host or .htaccess (mod_headers), optionally followed by ; frame-ancestors 'self', and reload.
  2. Stage 2: rename it to Content-Security-Policy and remove the meta tag.
apache
Header always set Content-Security-Policy-Report-Only "<content value of the meta tag>"

Read the documentation (opens in a new tab)

Scan your domain to see whether this applies to you.