From 23717cb9a03762ef44dbc829fb3887faa1e4b6e0 Mon Sep 17 00:00:00 2001 From: Seth Michael Larson Date: Fri, 11 Sep 2026 11:23:48 -0500 Subject: [PATCH] Add exceptions to Content-Security-Policy --- pydotorg/settings/base.py | 39 ++++++++++++++++++++++++++++++--------- templates/base.html | 14 +++++++------- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/pydotorg/settings/base.py b/pydotorg/settings/base.py index f4b81d413..0156dc007 100644 --- a/pydotorg/settings/base.py +++ b/pydotorg/settings/base.py @@ -2,6 +2,7 @@ from pathlib import Path +from csp.constants import NONCE, SELF, UNSAFE_INLINE from decouple import config from dj_database_url import parse as dj_database_url_parser from django.contrib.messages import constants @@ -311,16 +312,36 @@ # enforcing. Rollout tracked in #3041. CONTENT_SECURITY_POLICY_REPORT_ONLY = { "DIRECTIVES": { - "default-src": ["'self'"], - "script-src": ["'self'"], - "style-src": ["'self'"], - "img-src": ["'self'", "data:"], - "font-src": ["'self'"], - "connect-src": ["'self'"], - "frame-ancestors": ["'self'"], - "base-uri": ["'self'"], + "default-src": [SELF], + "script-src": [ + SELF, + NONCE, + "https://analytics.python.org", + "https://media.ethicalads.io", + "https://ajax.googleapis.com", + ], + "style-src": [ + SELF, + # Modernizr injects