Skip to content

Commit 667b8f9

Browse files
committed
💩(backend) headers to allow trusted iframe origin
This is a test to allow external site to display docs in an iframe.
1 parent 4a81e15 commit 667b8f9

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/backend/core/middleware.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from django.utils.deprecation import MiddlewareMixin
2+
3+
class CSPFrameAncestorsMiddleware(MiddlewareMixin):
4+
5+
def process_response(self, request, response):
6+
response.headers['Content-Security-Policy'] = (
7+
response.headers.get('Content-Security-Policy', '')
8+
+ "frame-ancestors 'self' http://localhost:8075;"
9+
)
10+
return response

src/backend/impress/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,15 @@ class Base(Configuration):
282282
"django.contrib.sessions.middleware.SessionMiddleware",
283283
"django.middleware.locale.LocaleMiddleware",
284284
"django.middleware.clickjacking.XFrameOptionsMiddleware",
285+
"core.middleware.CSPFrameAncestorsMiddleware",
285286
"corsheaders.middleware.CorsMiddleware",
286287
"django.middleware.common.CommonMiddleware",
287288
"django.middleware.csrf.CsrfViewMiddleware",
288289
"django.contrib.auth.middleware.AuthenticationMiddleware",
289290
"django.contrib.messages.middleware.MessageMiddleware",
290291
"dockerflow.django.middleware.DockerflowMiddleware",
291292
]
293+
X_FRAME_OPTIONS = "SAMEORIGIN"
292294

293295
AUTHENTICATION_BACKENDS = [
294296
"django.contrib.auth.backends.ModelBackend",

0 commit comments

Comments
 (0)