Asp.net 网站页面禁止其他网站iframe嵌套,或者允许指定网站嵌套方法

4 篇文章 0 订阅
2 篇文章 0 订阅

整体都是通过HTTP响应标头设置属性达到目的

        名称(N):X-Frame-Options
        值(V):DENY

值类型:

  • DENY:浏览器拒绝当前页面加载任何Frame页面。
  • SAMEORIGIN:frame页面的地址只能为同源域名下的页面。
  • ALLOW-FROM:origin为允许frame加载的页面地址。  格式:ALLOW-FROM www.domain.com

方法有两种:①Windows服务器下可以通过设置IIS的HTTP响应标头设置

                      ②Asp.net core 或者则.Net5及其以上可以通过代码设置HTTP响应标头

方法①:打开IIS,选中要限制的网站,点击右侧“Http响应标头”,点击“添加”,如下图:

如需要浏览器拒绝当前页面加载任何Frame页面,如下图设置:

 方法②:通过代码限制网页嵌套(例子是.NET5环境)。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (!string.IsNullOrEmpty(Configuration.GetSection("X-Frame-Options").Value)) 
    {
       app.UseSecurityHeadersMiddleware(new SecurityHeadersBuilder()
                  .AddCustomHeader("X-Frame-Options", $"{Configuration.GetSection("X-Frame-Options").Value}"));
    } 
    /* 省略代码 */
  
}

注:Configuration.GetSection("X-Frame-Options").Value 为配置文件获取设置值,也就是上述的HTTP响应标头值。X-Frame-Options的ALLOW-FROM值不是所有浏览器都支持,如下是2022-06-25截图。

如果X-Frame-Options项的 ALLOW-FROM属性值浏览器不支持,可以尝试使用Http响应标头中 Content-Security-Policy的frame-ancestors www.domain.com 值。(2022-06-25补充更新)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值