Я реализую «прохождение -через» для X-Frame-Options
, чтобы позволить партнерскому сайту обернуть сайт моего работодателя в iframe, как в этой статье:http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
(разделение URL-адресов для публикации)
Короче говоря, на странице нашего партнера есть iframe с URL-адресом для нашего домена. Для любой страницы в нашем домене они добавят специальный аргумент URL, например &@mykey=topleveldomain.com
, сообщающий нам, какой у страницы домен верхнего уровня.
Наши фильтры извлекают партнерский TLD, если он указан, из URL-адреса и проверяют его по белому списку. Если он есть в списке, мы отправляем заголовок X-Frame-Options
со значением ALLOW-FROM topleveldomain.com
(. и добавьте файл cookie для будущих кликов ). Если его нет в нашем белом списке, мы отправляем SAMEORIGIN
или DENY
.
Проблема в том, что отправка ALLOW-FROM domain
приводит к отсутствию операции -для последних версий Firefox и Google Chrome. По крайней мере, IE8 правильно реализует ALLOW-FROM
.
Загляните на эту страницу:http://www.enhanceie.com/test/clickjack. Сразу после 5-го (из 5 )блоков, которые «должны отображать контент», находится блок, который НЕ должен показывать контент, но который есть. В этом случае страница в iframe отправляет X-Frame-Options: ALLOW-FROM http://www.debugtheweb.com
, совершенно другой TLD, чем http://www.enhanceie.com
. Тем не менее, кадр по-прежнему отображает содержимое.
Любое понимание того, действительно ли X-Frame-Options
реализовано с ALLOW-FROM
в соответствующих (десктопных )браузерах? Может синтаксис изменился?
Некоторые интересные ссылки: