当前位置: 首页 > 知识库问答 >
问题:

屏蔽CXF日志SOAP请求中的敏感数据

沈凯康
2023-03-14

使用CXF调用SOAP Web服务后,CXF客户端记录SOAP请求消息,密码可见!我想从CXF客户端日志记录中隐藏密码等敏感数据。

以下是我在日志中得到的信息:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <runReport xmlns="http://xmlns.oracle.com/oxp/service/MYSERVICE">
       <userID>username</userID>
       <password>mypassword</password>
    </runReport>
  </soap:Body>
</soap:Envelope>

我只想将mypassword替换为code

我尝试了此解决方案,但它与我的CXF版本不兼容,因为它使用的是旧版本的CXF。

我真的看到了很多例子,一些扩展了LoggingOutInterceptor,其他扩展了AbstractSoapInterceptor,其他扩展了PhaseInterceptorChain和其他。。。我真的不知道从哪里开始,我找不到关于这件事的任何文件。

任何帮助,链接到文档将不胜感激!

共有1个答案

钱运浩
2023-03-14

我解决了这个扩展LoggingInInterceptor并添加了我想隐藏在方法addSensitiveElementNames中的单词,对于标头,他们有敏感的ProcolHeaderNames方法来做同样的事情。

  public class MyLogIn extends LoggingInInterceptor {
    
      public void handleMessage(Message message) throws Fault {
         addSensitiveElementNames(Set.of("description"));
         super.handleMessage(message);
      }
 }

我在这个网站上找到了一些信息

 类似资料:
  • 我需要能够在事件中搜索多种模式中的任何一种,并用掩码值替换模式中的文本。这是我们应用程序中的一项功能,旨在防止敏感信息落入日志。由于信息可能来自各种来源,因此对所有输入应用过滤器是不切实际的。除了日志记录之外,toString()还有其他用途,我不希望toString()对所有调用(仅日志记录)进行统一屏蔽。 我尝试在logback中使用%替换方法。xml: 这是成功的(在用字符实体替换尖括号之后

  • 我需要在登录时屏蔽敏感信息。我们使用集成框架提供的wire-tap进行日志记录,我们已经设计了许多接口,这些接口使用wire-tap进行日志记录。我们目前正在使用spring boot 2.1和spring集成。

  • 本文向大家介绍PHP中使用strpos函数实现屏蔽敏感关键字功能,包括了PHP中使用strpos函数实现屏蔽敏感关键字功能的使用技巧和注意事项,需要的朋友参考一下 现在网络信息监管很严格,特别是屏蔽关键字。特别是现在WEB2.0时代,网站的内容几乎都是来自网民发布,站长管理即可。如果你希望别人在你站点禁止发布某个关键字,那么就需要预先做处理。用PHP做关键字屏蔽的功能样式有多种多样,如正则是最普遍

  • 我有一个Spring Boot web应用程序,正在使用logback作为我的日志解决方案。我一直在查看文档,找不到一种简单或“正确”的方法来掩盖私人/特定数据(个人信息、信用卡等)。 我能找到的最接近的是Logback过滤器,然而,围绕这些过滤器的用例似乎更多地是关于省略符合特定标准的日志,我只是想屏蔽所有应用程序范围的日志。 这似乎是一个如此基本的问题,我确信我错过了一些超级基本的东西,但是任

  • 本文向大家介绍Nginx屏蔽F5心跳日志、指定IP访问日志,包括了Nginx屏蔽F5心跳日志、指定IP访问日志的使用技巧和注意事项,需要的朋友参考一下 注:192.168.0.2是F5内网地址。 下面的配置经测试是失败的,依然记录访问日志: 推测是日志记录在deny前执行,执行到deny返回403 Forbidden。

  • 同样的规则也将应用于destination_num。表中的现有值需要替换为屏蔽值。我读过一些关于Oracle12c中数据编辑的文章,但提到了它,因为我们只能选择屏蔽数据,而不能选择更新。