@@ -357,7 +357,10 @@ def skip_unreadable_post(record):
357357 'ietf.middleware.SMTPExceptionMiddleware' ,
358358 'ietf.middleware.Utf8ExceptionMiddleware' ,
359359 'ietf.middleware.redirect_trailing_period_middleware' ,
360+ 'django_referrer_policy.middleware.ReferrerPolicyMiddleware' ,
360361 'django.middleware.clickjacking.XFrameOptionsMiddleware' ,
362+ 'django.middleware.security.SecurityMiddleware' ,
363+ 'csp.middleware.CSPMiddleware' ,
361364 'ietf.middleware.unicode_nfkc_normalization_middleware' ,
362365)
363366
@@ -465,6 +468,22 @@ def skip_unreadable_post(record):
465468CORS_ALLOW_METHODS = ( 'GET' , 'OPTIONS' , )
466469CORS_URLS_REGEX = r'^(/api/.*|.*\.json|.*/json/?)$'
467470
471+ # Setting for django_referrer_policy.middleware.ReferrerPolicyMiddleware
472+ REFERRER_POLICY = 'strict-origin-when-cross-origin'
473+
474+ # Content security policy configuration (django-csp)
475+ CSP_DEFAULT_SRC = ("'self'" , "'unsafe-inline'" , "data: https://datatracker.ietf.org/ https://www.ietf.org/" )
476+
477+ # django.middleware.security.SecurityMiddleware
478+ SECURE_BROWSER_XSS_FILTER = True
479+ SECURE_CONTENT_TYPE_NOSNIFF = True
480+ SECURE_HSTS_INCLUDE_SUBDOMAINS = True
481+ #SECURE_HSTS_PRELOAD = True # Enable after testing
482+ SECURE_HSTS_SECONDS = 3600
483+ #SECURE_REDIRECT_EXEMPT
484+ #SECURE_SSL_HOST
485+ #SECURE_SSL_REDIRECT = True
486+
468487# Override this in your settings_local with the IP addresses relevant for you:
469488INTERNAL_IPS = (
470489# local
0 commit comments