簡體   English   中英

VS2013 Cordova插件和Azure網站的X-Frame-Options標頭問題

[英]VS2013 Cordova plugin and X-Frame-Options header issues with Azure websites

也許我正在解決這個錯誤,但這是情況。

我有一個用c#mvc5和AngularJS制作的Web應用程序。 所有這些都很好。 我們還希望擁有本機應用程序,主要是將我們較舊的ios和android應用程序更新到新版本。

我安裝了VS2013的cordova工具,該工具似乎可以正常工作,但我們希望能夠調用相同的C#控制器來獲取本機應用程序中的數據。

我遇到的問題是,我們托管在azure上,即使我使用web.config特別清除或刪除了X-Frame-Options標頭,它們也將其強制設置為“ SAMEORIGIN”。 我能得到的最好的結果是同時擁有SAMEORIGIN和ALLOW_FROM myuri,它們也不起作用。

我試圖將域設置為與cordova項目中我們的azure站點相同的值,但是它說這不是有效值。

web.config中

<customHeaders xdt:Transform="Replace">
    <clear/>
    <add name="X-Frame-Options" value="ALLOW-FROM myuri" />
  </customHeaders>

我已經嘗試了是否進行轉換,以及是否在標准配置和發行/調試版本中進行了轉換。 我還使用了remove語法,但也不起作用。 所有這些都會導致兩個值都存在相同的結果。 我只能猜到天青正試圖“保護我自己不受保護”

我還在azure管理工具中驗證了該域,該域應該將其“列入白名單”,但這也不起作用。

這是我在VS中遇到的錯誤:

Refused to display 'http://myuri/Home' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.    

而這當我添加ALLOW_FROM時:

Multiple 'X-Frame-Options' headers with conflicting values ('SAMEORIGIN, ALLOW-FROM  myuri') encountered when loading 'http://myuri/Home

我遇到了同樣的問題。

根據此線程的公認答案,您必須在config.xml中將要訪問的網站列入白名單,如下所示:

<access origin="https://*.domain.fr" />
<allow-navigation href="https://*.domain.fr/*" />

請注意,如果您在cordova-simulate中運行cordova應用程序,則將無法使用。 要檢查其是否正常工作,您需要使用cordova run並在手機上對其進行測試。

暫無
暫無

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

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