Как проверить, загружается ли сайт в iframe

Мне нужно проверить, правильно ли загружен сайт в iframe. На моем веб-сайте пользователи могут POST настраиваемый веб-сайт, который будет отображаться в iframe. Но некоторые сайты защищены от вставки в iframe (например, google или facebook).

Как я могу проверить, загружается ли веб-сайт в iframe и может ли он использоваться в iframe?

PS: Я не показываю никакого кода, потому что у меня нет кода и я понятия не имею, как это сделать. (Мой веб-сайт работает на Java, поэтому нет Apache или PHP).


person debute    schedule 12.05.2014    source источник
comment
См. это: stackoverflow.com/a/21263774/1355315   -  person Abhitalks    schedule 12.05.2014
comment
возможный дубликат Detect X-Frame-Options   -  person Farid Nouri Neshat    schedule 12.05.2014
comment
Кстати, как вы можете пометить это как дубликат, когда я не работаю на PHP?   -  person debute    schedule 20.05.2014


Ответы (1)


Проверьте заголовок ответа HTTP на наличие X-Frame- Параметры. Facebook отправляет X-Frame-Options=DENY, что означает «Страница не может отображаться во фрейме, независимо от того, пытается ли сайт это сделать».

Заголовок ответа HTTP X-Frame-Options можно использовать, чтобы указать, следует ли разрешить браузеру отображать страницу в <frame>, <iframe> или <object>. Сайты могут использовать это, чтобы избежать атак кликджекинга, гарантируя, что их контент не будет встроен в другие сайты.

Проверьте это: Доступ к заголовкам HTTP веб-страницы в JavaScript

person Chankey Pathak    schedule 12.05.2014
comment
Нет. Вам нужно проверить заголовки, которые веб-сайт отправляет вам. Вы можете использовать get_headers. Или вы хотите javascript? stackoverflow.com/ вопросы/220231/ - person s-ol; 12.05.2014
comment
Извините, забыл сказать, что мой сайт работает на Java. У меня нет Apache или PHP. - person debute; 12.05.2014
comment
+1. Это вполне подходящий ответ на вопрос. Почему минус? На самом деле это вопрос, который неясен. - person Abhitalks; 12.05.2014
comment
http://www.mkyong.com/java/how-to-get-http-response-header-in-java/ для Java или ответ stackoverflow, на который я ссылался выше, если вы хотите сделать это динамически в js. - person s-ol; 12.05.2014
comment
Есть также JS, который намного проще и может отменять фреймы: if ( location.href != parent.location.href ) { parent.location.href = location.href; } Как вы это проверяете? - person Rudie; 12.05.2014
comment
@abhitalks Я не минусовал ... Спасибо, ребята, я попробую все возможности. - person debute; 12.05.2014
comment
Как правило, это не будет работать в JavaScript, о чем, я думаю, спрашивающий на самом деле спрашивает, потому что запрос, вероятно, будет отклонен из-за ограничений Access Control Allow Origin. Я не уверен, что есть хороший ответ на этот вопрос. Но этот точно не тот. - person aychedee; 12.05.2014