【问题标题】:Intercept deserialization errors in WCF拦截 WCF 中的反序列化错误
【发布时间】:2014-03-03 18:43:10
【问题描述】:

最近,一个安全团队询问我是否可以更改 WCF 服务中反序列化问题返回的消息。有问题的错误是他们截获了消息并传递了一个超出 Int32 范围的整数。

无法将值“2147483649”解析为“Int32”类型。

我的回答是反序列化过程发生在我的单行服务执行之前,这是不可能的。但是,有没有可能实现这个目标?

【问题讨论】:

    标签: .net wcf deserialization soapfault


    【解决方案1】:

    听起来你有includeExceptionDetailInFaults="true"。 True 是在进行生产部署之前应设置为 false 的默认值。一旦这是错误的,您将收到一般错误消息。这应该足以让安全感到高兴。

    更好的选择是实现IErrorHandler。这是允许您处理异常的扩展点,即使它发生在执行到达您的服务代码之前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 2011-09-09
      相关资源
      最近更新 更多