Как использовать 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'
Вернуться на верх