一般網站在一些需要整合外部網站資源的時候,簡單的方式就是透過Web service API取得資料,在行整理運用在自己的網站上。但有時候不是單純取得資料,而要直接顯示外網站的某個網頁在自己的網頁上時,作法通常是用iframe將網頁顯示在iframe範圍內。
這個時候就要注意一些地方,否則iframe的網頁會無法正常執行。
整理如下:
1. Cross-Origin的設定
ASP.NET Core 2 系列 - 跨域請求 (Cross-Origin Requests)
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.AspNetCore.Http.SameSiteMode.None;
//options.Cookie.SecurePolicy = CookieSecurePolicy.None;
});
留言
張貼留言