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

我们能给ESAPI Slf4JLogFactory记录器添加标记吗

爱乐邦
2023-03-14

所以对于普通的sl4j日志,它们提供了添加标记的选项。

Map<String, Object> markers = new HashMap<>();
markers.put("name", "value");
log.info(markers,"Some value");

但由于安全原因,代码库使用了org.owasp.esapi.logging.slf4j。Slf4JLogFactory类似

private static final Logger LOG = ESAPI.getLogger(Some.class);
LOG.info(Some event type, some string....)

我想在这里添加一个标记,以便在不损害esapi提供的安全性的情况下。任何帮助都会很好。关于这一点,互联网上没有。

共有1个答案

谷梁襦宗
2023-03-14

我看到这存在多个问题。其中包括:

  1. ESAPIs 记录器的 3 个实现(因此,JUL、Log4J 1 和 SLF4J)都共享相同的组织接口,但据我所知,只有 SLF4J 支持标记。
  2. 然后,ESAPI 必须检查所有标记的名称/值对,并尝试确保日志注入或来自任何名称/值对(包括任何潜在对象)的 XSS 不会向日志流中注入有害内容。(这就是“安全日志记录”应该是什么。
  3. 即使我们确实允许这样做,第一个参数仍然必须是 Logger.EventType。目前尚不清楚应使用哪种事件类型,也不清楚是否需要创建特殊事件类型(例如,EVENT_MARKER)。

所以,我会明确地说,我们不会在任何ESAPI 2.x版本中考虑这一点,但我们可能会在我们目前正在计划的ESAPI 3中考虑它。如果您想在那里看到它,请将GitHub问题添加到https://github.com/ESAPI/esapi-java/issues并将其作为功能请求。(在ESAPI 3中这可能是合理的,因为我们可能只支持SLF4J。)

 类似资料:
  • 我正在尝试通过代码添加一个自定义的附加器,该附加器应该记录一些包。所有的工作都使用以下代码: 所以简而言之..正如您所看到的,如果之前没有定义追加器,我正在创建一个追加器。然后我为org.test创建一个记录器(如果没有添加的话),并将appender添加到这个记录器中。 多谢了。

  • 我在XML中指定log4j2 logger的文件名,如下所示。一切正常,但我得到了错误 2017-09-06 16:54:33,496主要错误未知的对象"RlandAccessFileAppender的类型org.apache.logging.log4j.core.appender.RlandAccessFileAppender被忽略:尝试嵌套它在其中之一:["Appender","Logger"

  • 我已经以域模式格式配置了我的WildFly 18服务器,我们使用log4j记录器。当我签入服务器时。日志文件,所有来自log4j的日志都以wildfly自己的日志格式记录。如下面第1行所示,第一个日期和日志级别来自服务器日志,下一个日期格式和日志级别以及日志消息来自log4j。 我搜索了很多...我发现了很多与独立模式相关的配置,有些人说这些配置可以在domain.xml中完成,但都不起作用 我在

  • 我在视图中使用mapbox,需要从JSON添加多个标记 这是我的JSON 下面是我如何运行脚本添加地图到视图 但是我想知道,我如何需要添加标记到map(对于json中的每个元素,我需要获得lat和lon)来映射。因为医生说我需要这样的Json var Geojson={type:'FeatureCollection',特性:[{type:'Feature',几何:{type:'Point',坐标:

  • 问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:

  • 这是我的代码从标题 我没有活动插件。wp_head有两个过滤器-没有一个用于显示“title”,整个主题代码中也没有其他wp_title或“title”。 关于如何删除第二个标题有什么想法吗?