add_header X-Frame-Options DENY; в nginx conf не работает, я все еще вижу iframe в нашем приложении

add_header X-Frame-Options DENY; похоже, у нас не работает.

мы намерены отображать одну из наших размещенных страниц в качестве iframe для проблем, связанных с PCI, и нам это удалось, но чтобы избежать перехвата кликов, нам рекомендовали использовать x-frame-options DENY, но мы не можем этого сделать, поскольку мы хотим, чтобы наши пользователи использовали фрейм, который мы разработали, поэтому решением может быть использование x-frame-options ALLOW FROM uri.

мы пытаемся add_header X-Frame-Options DENY; увидеть, ограничивает ли наше приложение iframe в первую очередь, но iframe все еще виден. мы несколько раз проверяли, может ли заголовок добавления быть в неправильном месте в конфигурации nginx, но это не так.

P.S. изображение ниже предназначено для справки, но мы все еще можем видеть, что приложение angular успешно отрисовывает кадр :(

ОТКЛОНИТЬ


person Manoj    schedule 24.01.2019    source источник
comment
почему content-typetext/plain?!   -  person cnst    schedule 28.01.2019
comment
Я вставил это изображение, потому что мы видим его в каждом файле, отображаемом в приложении. @cnst   -  person Manoj    schedule 28.01.2019
comment
Встраиваете ли вы при тестировании iframe из другого домена?   -  person Guerric P    schedule 28.01.2019
comment
нет, iframe из того же домена [родительский (somename.mylab.io) и дочерний, что и в iframe (othername.mylab.io)]   -  person Manoj    schedule 28.01.2019
comment
можете ли вы подтвердить, что заголовок x-frame-options установлен в ответ на запрос index.html, а не какой-либо актив или вызов API   -  person Guerric P    schedule 28.01.2019
comment
в этом случае разрешить от uri не работает   -  person Manoj    schedule 28.01.2019


Ответы (3)


Вероятно, вы используете старый браузер, потому что он работает в Chrome 68. Вы можете проверить ошибку Javascript и заголовки HTTP, нажав F12.

<iframe src="https://www.facebook.com"></iframe>

person Guerric P    schedule 28.01.2019
comment
Нет, я пытался использовать последние версии Chrome и Firefox. @youkouleley - person Manoj; 28.01.2019
comment
Вы можете подтвердить, что не видите страницу Facebook, когда запускаете мой фрагмент? - person Guerric P; 28.01.2019
comment
мой друг, я хочу видеть такое же поведение в своем приложении. Я пробовал тот же пример много лет назад. вопрос почему не работает в моем приложении!! - person Manoj; 28.01.2019

Допустим, ваша размещенная страница находится в URI1, а ваша размещенная страница — в URI2.

Каковы заголовки ответа, когда вы отправляете запрос GET для прямого получения URI1?

Я думаю, что вы добавляете «x-frame-option» в ответ для URI2 вместо URI1.

person ofirule    schedule 02.02.2019

Добавьте приведенный ниже код в блок location в nginx.conf.

add_header X-Frame-Options "DENY" always;

Пример

 location / {
        expires -1;
        add_header Pragma "no-cache";
        add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0, post-check=0, pre-check=0';
        add_header X-Frame-Options "DENY" always;
        root  <root directory>;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html?$args;
   }
person Mohammed Jasir A    schedule 18.01.2021