Content Security Policy generator
Pick the third-party services your site loads and get an Apache or nginx config back. The policy is built with the same package we use on our own Laravel projects, so a hand-configured server ends up sending exactly what a Laravel app would.
nginx
add_header Content-Security-Policy "base-uri 'self';connect-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com;default-src 'self';font-src 'self' fonts.gstatic.com data:;form-action 'self';frame-src 'self' *.googletagmanager.com *.googleadservices.com td.doubleclick.net;img-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com data:;media-src 'self';object-src 'none';script-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com 'unsafe-inline' 'unsafe-eval';style-src 'self' fonts.googleapis.com 'unsafe-inline'" always;
Apache
Header always set Content-Security-Policy "base-uri 'self';connect-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com;default-src 'self';font-src 'self' fonts.gstatic.com data:;form-action 'self';frame-src 'self' *.googletagmanager.com *.googleadservices.com td.doubleclick.net;img-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com data:;media-src 'self';object-src 'none';script-src 'self' *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.analytics.google.com *.g.doubleclick.net *.google.com pagead2.googlesyndication.com 'unsafe-inline' 'unsafe-eval';style-src 'self' fonts.googleapis.com 'unsafe-inline'"