亚洲欧洲视频,三男玩一女摸吃奶,久久久久久久片,精品中文一区二区三区,美女在线国产,国产有码视频,亚洲激情五月

威勢網(wǎng)絡(luò),為您的企業(yè)和團(tuán)隊(duì)注入互聯(lián)網(wǎng)活力!
服務(wù)熱線:138-9741-0341

[原創(chuàng)]X-Frame-Options ALLOW-FROM 無效

發(fā)布日期:2022/8/30 作者: 瀏覽:980

這個特性主要是為了防止黑客對網(wǎng)站XSS攻擊,偽造一個假的iframe欺騙客戶點(diǎn)擊或提交數(shù)據(jù),從而獲得敏感數(shù)據(jù)的。但是搞不好,會將本網(wǎng)站的IFRAME也會屏蔽掉,非常討厭。如下的代碼就會出現(xiàn)這個問題。

context.HttpContext.Response.Headers.Add("X-Frame-Options", "allow-from http://zj.qhwins.com");

//同時,這種寫法在Edge瀏覽器中報(bào)如下錯誤




谷歌瀏覽器較新版不支持ALLOW-FROM,我們更好的寫法是將允許的站點(diǎn)添加進(jìn)去,如下所示


app.Use(async (context, next) =>
{
    context.Response.Headers.Add("X-Frame-Options", "ALLOW-FROM http://localhost:8080 http://localhost:8088");
    await next();
});


其實(shí)以上是老式淘汰的寫法,用以下新的方法代替


 //解決iframe安全問題
app.Use(async (context, next) =>
            {
                string host= context.Request.Host.Host+context.Request.Host.Port;
                context.Response.Headers.Add("Content-Security-Policy", "frame-ancestors *."+host+":80 "+host+":*;");
                await next();
            });

注意:如果只放新式的,可能安全掃描器依然會報(bào)警,如下圖:

可以將兩個同時放上,


       //解決iframe安全問題
            app.Use(async (context, next) =>
            {
                try
                {
                    string host = context.Request.Host.Host;
                    var kv = new KeyValuePair<string,Microsoft.Extensions.Primitives.StringValues>("X-Frame-Options", "ALLOW-FROM http://"+host+":*");
                    if (context.Response.Headers.Contains(kv)==false)
                    {
                        context.Response.Headers.Add(kv);
                    }

                    kv = new KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>("Content-Security-Policy", "frame-ancestors *."+host+":* "+host+":*;");
                    if (context.Response.Headers.Contains(kv)==false)
                    {
                        context.Response.Headers.Add(kv);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message+ex.InnerException);
                }
                await next();
            });


放上以后在瀏覽器中打開URL請求,查看報(bào)文,有以下返回

注意,Response Header中多了兩行:

Content-Security-Policy 和 X-Frame-Options

現(xiàn)在同域名下iframe已經(jīng)可以打開了,安全掃描器也不報(bào)警了,安全掃描結(jié)果如下:

另一個Session Cookie without Secure flag set 安全警告則是因?yàn)闆]有使用HTTPS協(xié)議引起的,那是另一個問題,與這個沒關(guān)系了。問題已完全解決。


下拉加載更多評論
最新評論
暫無!