2013-12-03 5 views
1

Я читал немного о той же политике происхождения за последние несколько часов, и я понимаю немного идеи, но у меня есть вопрос о моей текущей настройке.Одинаковая политика происхождения

У меня есть страница, мы будем называть, foo.com/home, и на этой странице есть ссылка, которая открывает iframe с адресом foo.com/home/bar. Теперь, когда в кадре foo.com/home/bar, если бы у меня была гиперссылка, чтобы сказать www.google.com при нажатии, могу ли я перенаправить iframe на Google без нарушения той же политики происхождения? Я бы не увидел вреда в этом, по крайней мере, потому, что это было бы простое перенаправление.

Причина, по которой я прошу, заключается в том, что с указанным выше я не могу перенаправить свой iframe на www.google.com. Если это, по сути, против той же политики происхождения, может кто-то сломать ее и объяснить, как? Я бы понял, если я использовал iframe для отправки данных в другой домен, но я просто пытаюсь перенаправить мой iframe на другой домен.

ответ

4

enter image description here
Хотя

enter image description here
Или Google в вашем случае.

Возможное решение будет использовать локальный прокси-сервер, как http://developer.yahoo.com/javascript/howto-proxy.html

enter image description here

Это может помочь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript.

+1

Несомненно, но диаграммы немного вводят в заблуждение, потому что XMLHttpRequest в этом случае не используется, а iframe не так неумолимы, как запросы AJAX. – JJJ

5

Связано с той же политикой происхождения, но оно не работает только потому, что google.com явно запрещает встраивание страницы в iframe.

Если вы посмотрите в JavaScript console вы увидите что-то вроде этого:

Отказался для отображения 'https://www.google.com' в кадре, потому что он установлен 'X-Frame-Options' в 'SAMEORIGIN'.

Если попробовать другую страницу, которая не имеет набор X-Frame-Options, как http://nytimes.com, он будет работать, даже если это не совпадает с доменом.

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