Deepak Tiwari (D'pak) Ответов: 1

Как предотвратить загрузку всего сайта в iframe, кроме одной страницы


Я реализовал один из них asp.net сайт MVC. Я хочу, чтобы весь сайт не загружался в iframe, кроме одной страницы. Я добавил ниже код в конфигурации веб.
<httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="SAMEORIGIN" />
      </customHeaders>
    </httpProtocol>


Что я уже пробовал:

Этот код веб-конфигурации предотвращает загрузку всего сайта в iframe. Я пытаюсь удалить опцию "X-Frame-Options" из представления, где только я хочу разрешить iframe
public ActionResult Ads()
       {
           Response.Headers.Remove("X-Frame-Options");
           return View();
       }

Но когда я запускаю этот код X-Frame-Options не удаляется из заголовка. Пожалуйста, подскажите мне, что я могу сделать?

1 Ответов

Рейтинг:
11

Richard Deeming

Использовать <location> тег в файле конфигурации для изменения заголовков для этого действия:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="X-Frame-Options" value="SAMEORIGIN" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

<location path="YourController/Ads">
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <remove name="X-Frame-Options" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</location>


Deepak Tiwari (D'pak)

Спасибо, Ричард. Он прекрасно работает.