Remove Server from HTTP Response in WCF

前端 未结 6 1126
北海茫月
北海茫月 2021-01-13 18:15

I have an internet exposed WCF service running on IIS 7.5 that I need to secure. I would like to remove the \"Server\" header in the HTTP response.

I\'ve implemented

6条回答
  •  忘掉有多难
    2021-01-13 19:15

    This works using an IDispatchMessageInspector

    public class SecureBehaviour : IDispatchMessageInspector
    {
        public object AfterReceiveRequest(ref Message request,
            IClientChannel channel, InstanceContext instanceContext)
        {
            return null;
        }
    
        public void BeforeSendReply(ref Message reply, object correlationState)
        {
    
            var httpCtx = HttpContext.Current;
            if (httpCtx != null)
            {
                httpCtx.Response.Headers.Remove(
                    HttpResponseHeader.Server.ToString());
            }
        }
    }
    

提交回复
热议问题