Я занимаюсь разработкой простой функции, позволяющей моим партнерам (другим веб-сайтам) размещать наш контент на своих веб-сайтах в рамках iframe.
Я тестирую, и некоторые страницы разрешены, но некоторые запрещены.
Например:
<iframe frameborder="0" height="500" width="900" src="https://www.mywebsite.com"></iframe>
выдает консольную ошибку:
Load denied by X-Frame-Options: https://www.mywebsite.com/ does not permit cross-origin framing.
при этом:
<iframe frameborder="0" height="500" width="900" src="https://www.mywebsite.com/experience/"></iframe>
рендерится без проблем.
В чем может быть проблема?
Могу ли я явно разрешить рендеринг своего контента в iframe из внешнего источника?Как это сделать?
РЕДАКТИРОВАТЬ
Мой web.config теперь выглядит так:
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<add name="Cache-Control" value="public" />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
Но это все равно не работает,например.он не позволяет видеть содержимое iframe.
Я проверил сетевой ответ и заметил, что в обоих запросах iframe
заголовок установлен правильно:
access-control-allow-origin *
, однако в первом первомВ запросе iframe я получаю дополнительно следующее:
x-frame-options SAMEORIGIN
в то время как во втором (опыт) * 1036 * вообще не установлено.
После добавления этого к web.config
:
<add name="X-Frame-Options" value="ALLOW-FROM *" />
оба iframes возвращают консольную ошибку о запрещении перекрестного происхождения, и во втором случае
x-frame-options SAMEORIGIN
не удаляется, просто добавляется
x-frame-options ALLOW-FROM *
.
РЕДАКТИРОВАТЬ 2
Я попытался удалить x-frame-options в web.config и также убедился, что он не установлен в IIS для сайта, но все ещеон сохраняется, когда я получаю URL:
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<remove name="X-Frame-Options" />
<add name="Cache-Control" value="public" />
<add name="Access-Control-Allow-Origin" value="*" />
<!--<add name="X-Frame-Options" value="ALLOWALL" />-->
</customHeaders>
</httpProtocol>
Я пытался добавить x-frame-options ALLOWALL
, как вы можете видеть выше (я прокомментировал этотогда) но это не удалило x-frame-options SAMEORIGIN