跳到主要內容

發表文章

目前顯示的是 1月, 2020的文章

[ASP.NET] 網頁透過iframe內嵌外部網頁,遇到的問題( Cross-Origin Requests (CORS)、X-Frame-Options、session & cookie)

一般網站在一些需要整合外部網站資源的時候,簡單的方式就是透過Web service API取得資料,在行整理運用在自己的網站上。但有時候不是單純取得資料,而要直接顯示外網站的某個網頁在自己的網頁上時,作法通常是用iframe將網頁顯示在iframe範圍內。 這個時候就要注意一些地方,否則iframe的網頁會無法正常執行。 整理如下: 1. Cross-Origin的設定     ASP.NET Core 2 系列 - 跨域請求 (Cross-Origin Requests)      https://blog.johnwu.cc/article/ironman-day26-asp-net-core-cross-origin-requests.html 2. X-Frame-Options的設定     In Startup.cs - ConfigureServices() : //把每個 Requset 的X-Frame-Options都移除 services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = true); 3. session & cookie的設定     將 cookie 的 SameSite 設為 None     In Startup.cs - ConfigureServices() :             services.AddSession(options =>             {                 options.Cookie.Name = ".MgvInfoSpServer.Session";                 // Timeout for clear session.                 //options.IdleTimeout = TimeSpan.FromHours(2);//.FromSeconds(10);                 options.Cookie.HttpOnly = true;                 options.Cookie.SameSite = Microsoft