Asp.net

允許其他人 iframe 我的網站

  • February 23, 2017

如果其他人嘗試 iframe 我的網站,他們會收到錯誤“拒絕在框架中顯示,因為它將 ‘X-Frame-Options’ 設置為 ‘SAMEORIGIN’”。他們必須改變一些東西,還是我,或兩者兼而有之?我發現 X-Frame-Options 有一些選項:SAMEORIGIN,DENY,並且只允許一個站點。配置:IIS8,ASP.NET MVC。是否有任何全域設置允許其他人 iframe 我的網站?

在您的golbal.asax.cs設置X-Frame-OptionsAllowAll

protected void Application_PreSendRequestHeaders()
{
   Response.Headers.Remove("X-Frame-Options");
   Response.AddHeader("X-Frame-Options", "AllowAll");
}

由於您的網站是框架目標,因此您將對您的網站進行所有更改。正如您將在下面看到的,這非常簡單。

選項 1 - 修改 Web 應用程序的 web.config 文件刪除 X-Frame-Options 自定義標頭

前:

<system.webServer>
...
<httpProtocol>
 &lt;customHeaders&gt;
   &lt;add name="X-Frame-Options" value="AllowAll" /&gt;
 &lt;/customHeaders&gt;
&lt;/httpProtocol&gt;
...
&lt;/system.webServer&gt;

&lt;system.webServer&gt;
...
<httpProtocol>
 &lt;customHeaders/&gt;
&lt;/httpProtocol&gt;
...
&lt;/system.webServer&gt;

選項 2 - 登錄到 Web 伺服器並訪問 IIS 管理器

  1. 打開 Internet 資訊服務 (IIS) 管理器。
  2. 在左側的“連接”窗格中,展開“站點”文件夾並選擇要保護的站點。
  3. 點兩下中間功能列表中的 HTTP 響應標頭圖示。
  4. 從列表中選擇 X-Frame-Options
  5. 在右側的“操作”窗格中,點擊“刪除”。
  6. 點擊確定以保存您的更改。

引用自:https://stackoverflow.com/questions/28294714