diff --git a/public/training.html b/public/training.html index 9e9fa54..6e4feb6 100644 --- a/public/training.html +++ b/public/training.html @@ -106,4 +106,5 @@ - + + diff --git a/server.js b/server.js index f1cc27d..fd81911 100644 --- a/server.js +++ b/server.js @@ -578,7 +578,7 @@ async function handleTranslate(req,res){ // frame-src includes 'self' so our own pages (the Page Builder preview framing // a member's /p/ page) are not blocked by our own policy. -const CSP_BASE="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; media-src 'self' https://coolify-saasytop.nyc3.digitaloceanspaces.com; connect-src 'self'; font-src 'self' data:; form-action 'self'; frame-src 'self' https://www.youtube-nocookie.com"; +const CSP_BASE="default-src 'self'; script-src 'self' https://polhunter.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; media-src 'self' https://coolify-saasytop.nyc3.digitaloceanspaces.com; connect-src 'self' https://polhunter.com; font-src 'self' data:; form-action 'self'; frame-src 'self' https://www.youtube-nocookie.com"; // polhunter.com: the PolHunter embed on /training (2026-09-19) function securityHeaders(extra={}) { // Public pages must render inside safelist / traffic-exchange iframes, so framing stays open here; admin.html re-locks it via ADMIN_FRAME_HEADERS. return {