Как использовать Content-Security-Policy для отключения заголовка "X-Frame-Options: deny"?
Я создал веб-сайт в Django
, который я развернул на heroku
. Я пытаюсь отобразить этот сайт на html-странице с помощью iframe. Однако, когда я загружаю свою html-страницу, я получаю ошибку: gkwhelps.herokuapp.com отклонил соединение. При осмотре страницы я получаю следующее сообщение:Refused to display 'http://gkwhelps.herokuapp.com/' in a frame because it set 'X-Frame-Options' to 'deny'.
Чтобы решить эту проблему, я изменил свою settings.py
следующим образом:
MIDDLEWARE = [
...
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
...
from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_exempt
@xframe_options_exempt
def ok_to_load_in_a_frame(request):
return HttpResponse("This page is safe to load in a frame on any site.")
и я обновил свой сайт. Но, несмотря на это, я все еще получаю ту же ошибку при перезагрузке страницы. Я не знаю, почему, но я обновил свой сайт.
Вы можете попробовать следующее для установки опции xframe одинакового происхождения
from django.views.decorators.clickjacking import xframe_options_sameorigin
@xframe_options_sameorigin
def ok_to_load_in_a_frame(request):
return HttpResponse("This page is safe to load in a frame on any site.")
Если вы хотите установить его для всего приложения, вы можете попробовать добавить следующую строку в файл settings.py
X_FRAME_OPTIONS = 'SAMEORIGIN'