簡體   English   中英

X-Frame-Options拒絕加載:網站名稱/注冊不允許MVC5中的跨域框架

[英]Load denied by X-Frame-Options: websitename/Register does not permit cross-origin framing in MVC5

我正在研究Web項目,該項目在移動設備上運行正常,但Iphone上的注冊頁面除外。 我的應用程序在MVC 5 ASP.NET中。 這是我在錯誤控制台中遇到的錯誤。

Load denied by X-Frame-Options: WebsiteName/Register does
 not permit cross-origin framing.

我已經嘗試過此帖子的“接受的答案”,但是它對我不起作用。 請幫助我如何解決問題。 任何幫助將不勝感激。 謝謝

嘗試一下...以后,您可以將其做得更好。

// CONTROLLER
[HttpGet]
[XFrameOptionAllowAll]
public ActionResult DoSomething()
{
    var viewModel = new DoSomethingViewModel();
    return View(viewModel);
}

// ATTRIBUTE
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
    filterContext.HttpContext.Response.AddHeader("X-Frame-Options", "AllowAll");

    base.OnActionExecuting(filterContext);
}

另外...

如果您在視圖中使用@Html.AntiForgeryToken() ,則此調用將SAMEORIGIN插入回標頭中,因此,這還將強制您的調用失敗。

嘗試使用,在web.config文件中包含代碼

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="*" />
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>

然后在global.asax文件中包含以下代碼

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

建立應用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM