2011-01-18 6 views
0

Я пытаюсь разместить веб-сайт внутри iframe, но этот код на сайте продолжает изменять окно страницы. В любом случае, я могу обойти это? Или еще лучше, могу ли я отключить javascript в iframe?Сохранение страниц внутри iframe

if(top!=self){ 
    if(top.location) 
    top.location=self.location; 
    else 
    top.location='http://example.com/not_subframe.html'; 
} 
+0

Это была бы огромная проблема безопасности. Отрывок из кода, который вы опубликовали, существует по какой-то причине! – jAndy

+1

Использование оружия или биотехнологии также может быть проблемой безопасности. Что, если автор хочет предоставить только рамку предварительного просмотра? Решение легко доступно, просто проверьте мой ответ. – gertas

ответ

1

Да, возможно, существует несколько методов борьбы с рамкой, включая отключение JS в кадре (песочница, designMode). Все описано в Ограничениях OWASP:Defending_with_Frame_Breaking_Scripts.

Обычно использовать его только с интрасети или сайтом с ограниченным доступом. Если вы публично публикуете сайт с помощью таких трюков, вы можете ожидать внесение в черный список Google или других лиц.

1

Нет, не может быть сделано. Не говоря уже о том, что это обычно плохая практика.

1

Веб-страницы не могут отключить JavaScript, если бы они могли, это было бы хаос.

+1

Это возможно с помощью HTML5 sandboxing или designMode. – gertas

2

Доступ к содержимому одного кадра из другого фрейма возможен только в том случае, если оба фрейма находятся в одном домене.

В противном случае это будет вопрос XSS, который поэтому запрещен браузером.

1

В iFrames есть множество функций безопасности, чтобы попытаться заблокировать то, что вы делаете.

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