|
5 | 5 |
|
6 | 6 | import environ |
7 | 7 | import sentry_sdk |
| 8 | +from csp.constants import SELF, UNSAFE_INLINE |
8 | 9 | from django.core.exceptions import ImproperlyConfigured |
9 | 10 | from django.utils.translation import gettext_lazy as _ |
10 | 11 | from sentry_sdk.integrations.django import DjangoIntegration |
11 | 12 |
|
12 | 13 | from palvelutarjotin import __version__ |
13 | | -from palvelutarjotin.consts import CSP |
14 | 14 |
|
15 | 15 | checkout_dir = environ.Path(__file__) - 2 |
16 | 16 | assert os.path.exists(checkout_dir("manage.py")) |
|
269 | 269 | CORS_ALLOW_ALL_ORIGINS = env.bool("CORS_ALLOW_ALL_ORIGINS") |
270 | 270 |
|
271 | 271 | # Configure the default CSP rule for different source types |
272 | | -CSP_DEFAULT_SRC = [CSP.SELF] |
273 | | - |
274 | | -# CSP_STYLE_SRC includes 'unsafe-inline' for inline styles added by `django-helusers`. |
275 | | -CSP_STYLE_SRC = [ |
276 | | - CSP.SELF, |
277 | | - CSP.UNSAFE_INLINE, |
278 | | - "cdn.jsdelivr.net", |
279 | | - "blob:", |
280 | | -] |
281 | | - |
282 | | -CSP_SCRIPT_SRC = [ |
283 | | - CSP.SELF, |
284 | | - "cdn.jsdelivr.net", # /graphql/ endpoint |
285 | | - "blob:", |
286 | | -] |
287 | | - |
288 | | -CSP_FONT_SRC = [ |
289 | | - CSP.SELF, |
290 | | - "data:", # /graphql/ endpoint uses "data:font/woff2" |
291 | | -] |
292 | | - |
293 | | -CSP_IMG_SRC = [ |
294 | | - CSP.SELF, |
295 | | - "blob:", |
296 | | - "data:", |
297 | | -] |
| 272 | +CONTENT_SECURITY_POLICY = { |
| 273 | + "DIRECTIVES": { |
| 274 | + "default-src": [SELF], |
| 275 | + "font-src": [SELF, "data:"], # /graphql/ endpoint uses "data:font/woff2" |
| 276 | + "img-src": [SELF, "blob:", "data:"], |
| 277 | + "script-src": [SELF, "cdn.jsdelivr.net", "blob:"], # /graphql/ endpoint |
| 278 | + "style-src": [ |
| 279 | + SELF, |
| 280 | + UNSAFE_INLINE, |
| 281 | + "cdn.jsdelivr.net", |
| 282 | + "blob:", |
| 283 | + ], # 'unsafe-inline' needed for `django-helusers`. |
| 284 | + } |
| 285 | +} |
298 | 286 |
|
299 | 287 | AUTHENTICATION_BACKENDS = [ |
300 | 288 | "axes.backends.AxesBackend", |
|
0 commit comments