应安全要求,需要移除 IIS 下的 Server、X-AspNet-Version、X-AspNetMvc-Version、X-Powered-By 等信息

X-Powered-By 比较简单,在相应站点下的 web.config 中增加配置:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <remove name="X-Powered-By"/>
        </customHeaders>
    </httpProtocol>
</system.webServer>

Server、X-AspNet-Version、X-AspNetMvc-Version 比较复杂

1、通过自己编写 IHttpModule 实现移除:

public class IISHeaderRemoveModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.PreSendRequestHeaders += OnPreSendRequestHeaders;
    }

    public void Dispose()
    {

    }

    void OnPreSendRequestHeaders(object sender, System.EventArgs e)
    {
        HttpContext.Current.Response.Headers.Remove("Server");
        HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
        HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");

        // 此项需要在 customHeaders 中删除
        // HttpContext.Current.Response.Headers.Remove("X-Powered-By");
    }
}

在 web.config 中增加配置即可:

<system.webServer>
    <modules>
        <add name="IISHeaderRemoveModule" type="Namespace.IISHeaderRemoveModule,AssemblyName"/>
    </modules>
</system.webServer>

但是不能实现全局配置,需要在每个站点下的 bin 目录中,增加上代码生成的 dll,可以考虑将 dll 增加到全局 GAC 中

若需要全局配置使用,应在 C:\Windows\System32\inetsrv\config\applicationHost.config 文件中配置,并将 dll 放置在某个公共文件夹中(如:C:\Windows\assembly)但未实现,参考链接:

https://stackoverflow.com/questions/1856696/how-do-i-manually-copy-assemblies-into-the-gac

https://docs.microsoft.com/en-us/dotnet/standard/assembly/sign-strong-nam

2、或者可以直接使用网上已经实现的开源项目:

https://github.com/Dionach/StripHeaders

下载安装即可,但是好像只支持 Windows Server 2008 到 Windows Server 2016,即 IIS 7.0 - IIS 8.5

若安装后没有效果,可以尝试执行以下命令:

C:\Windows\System32\inetsrv\appcmd.exe install module /name:StripHeadersModule /image:%windir%\system32\inetsrv\stripheaders.dll /add:true /lock:true

执行后重启 IIS 即可。(转自:https://www.cnblogs.com/xuyufeng/p/14134135.html)

相关文章:

  • 2021-06-20
  • 2021-11-19
  • 2021-08-31
  • 2022-01-07
  • 2021-05-19
  • 2022-01-23
  • 2021-11-29
  • 2021-10-07
猜你喜欢
  • 2021-09-22
  • 2021-05-30
  • 2022-12-23
  • 2021-06-26
  • 2021-06-04
  • 2022-12-23
相关资源
相似解决方案