2013-11-14 46 views
2

我的自定義域名存在問題。我的域名提供商把重定向網站放在iframe中。Windows Azure iframe域名提供商= X框架選項問題

<HTML><HEAD><TITLE></TITLE></HEAD> 
<FRAMESET ROWS="*"><FRAME NAME=997 NORESIZE SRC="xxx. azurewebsites .net/"> 
<NOFRAMES><BODY><A HREF="xxx. azurewebsites .net/">click here</A></BODY></NOFRAMES>  </FRAMESET></HTML> 

目前我使用azurewebsites託管,當我通過我的自定義域名訪問我的網站,我不能從家裏控制器分開使用任何行動。

的問題是與X框-選項首部,例如:

拒絕「的幀,因爲它設置」以顯示「X框-選項」到「SAMEORIGIN」。

有沒有這種行爲的解決辦法?或者這是我的域名提供商的問題?

此致敬禮。

回答

4

我花了幾天時間(對我來說真的很多時間)來解決這個問題,但最後我找到了一些解決方法。

說實話,我已經閱讀了很多關於x-frame-problem,它的屬性(Deny,SameOrigin,AllowsAll,AllowsFor等)的文章,我還沒有找到任何可靠的解決方案。當然,我確實忽略了點擊劫持和跨站點問題,但是,我知道我的預算並不完全正確和安全,因爲它會從請求中刪除頭的值。

所以這是它,在Global.asax.cs中:

namespace xxxx 
{ 
    public class MvcApplication : HttpApplication 
    { 
     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
      RouteConfig.RegisterRoutes(RouteTable.Routes); 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 
     } 

     private void Application_EndRequest(object sender, EventArgs e) 
     { 
      Response.Headers["X-FRAME-OPTIONS"] = string.Empty; 
     } 
    } 
} 

總之我必須承認兩件事情:

Chrome瀏覽器不支持AllowFor屬性附加傷害既不AllowAll。它只理解Deny和SameOrigin屬性,另一方面Internet Explorer處理AllowAll屬性。 FireFox的行爲類似於Chrome。

此外,IIS或Windows Azure主機會自動將此標頭添加到SameOrigin屬性的響應中。 (與Somme.com主機相同)。

在像我這樣的情況下(和其他人一樣,我注意到http:// www。windows- azure.net/x-frame-options-header-is-changing-in-azure-web-role/)唯一的解決方案是從x-frame-options頭部退出。儘管在我看來,webbrowsers至少應該支持AllowFor atribute來解決這個問題。

謝謝,最好的問候!

Grzegorz

+1

感謝您的幫助 - 添加完全相同的問題,並將您的解決方案排序! – EdsonF

+0

感謝分享 - 爲我解決了同樣的問題。 – Rowan