2015-07-02 1 views
8

Я сделал страницу, которая имеет iframe. Внутри iframe Я хочу показать несколько разных ссылок, например, статью из фейсбука, новости или видео на YouTube или любой другой возможный URL. Но из-за заголовка Xframe я не могу этого сделать. Я говорил по следующей ссылке: https://docs.djangoproject.com/en/1.8/ref/clickjacking/ и Django XFrameOptionsMiddleware (X-Frame-Options) - allow iframe by client IPКак удалить заголовок Xframe Options в django?

но не получают никакой помощи.

Мой settings.py файла MIDDLEWARE_CLASSES является:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

Из http://django-secure.readthedocs.org/en/latest/middleware.html, я обнаружил, что с помощью декоратора @frame_deny_exempt мою проблему можно решить. Тем не менее, я получаю ту же ошибку в хром-консоли, то есть Refused to display '<URL>' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN, SAMEORIGIN'.

Любая помощь с этим ??

ответ

1

У вас здесь что-то не так, если я хорошо понимаю. X-Frame-Options о браузере в честь вашего заголовка о том, будет ли ваш сайт разрешен в iframe, а не разрешать третий сайт в вашем iframe.

Соответственно, это происходит из заголовков другого сайта. Так, например, facebook установил вышеприведенный заголовок на DENY, и поэтому любой браузер, соблюдающий это, не позволит вашему сайту представлять его независимо от того, какие заголовки вашего сайта.

+1

Вы правы. Большое спасибо за разъяснение моей проблемы ... :) – amulya349

4

У меня есть несколько сайтов Django, и кто-то хотел показать их в iframe. Это невозможно, потому что значения заголовка «x-frame-options» всегда SAMEORIGIN. Я не смог удалить значение заголовка «x-frame-options» независимо от того, что я сделал.

Итак, наконец, я решил сделать последнее курортное решение, которое должно изменить httpd.conf. Я добавил эту строку:

 
    Header always set X-Frame-Options ALLOWALL 

И показано в iframe.

Смежные вопросы