JSON 杰克逊图书馆有 JSON 消毒能力吗?
Does JSON Jackson Library have JSON Sanitizing capability?
JSON Jackson 图书馆是否具有 JSON 消毒功能,例如 OWASP JSON Sanitizer ? 我浏览了 Jackson 文档,但找不到任何相关参考。它只讨论 JSON 数据的流式处理、遍历和绑定,而没有涉及清理或类似功能。
有人可以确认一下吗
我需要一个库来检查 JSON 数据是否存在任何恶意或易受攻击的 content/code。
这样的消毒是什么意思?您链接到的页面实际上并没有解释它应该做什么。但我猜它会被用来验证输入是否有效 JSON,而不是类似于 JSON 的东西,例如 Javascript 代码。
现在:如果想要获取声称为 JSON 的任意内容,您可以在流模式下使用 Jackson 来读取和写入内容。
自从杰克逊:
- 只接受有效的JSON(而不是,例如,可执行文件Javascript),AND
- 只生成格式正确的有效 JSON
阅读+写作的结合应该净化输入。你可以这样做:
JsonFactory f = new JsonFactory();
JsonParser p = f.createParser(inputFile);
JsonGenerator g = f.createGenerator(outputFile);
while (p.nextToken() != null) {
g.copyCurrentStructure(p);
}
p.close();
g.close();
这是一种确保无效内容无法通过系统的非常快速的方法。
JSON Jackson 图书馆是否具有 JSON 消毒功能,例如 OWASP JSON Sanitizer ? 我浏览了 Jackson 文档,但找不到任何相关参考。它只讨论 JSON 数据的流式处理、遍历和绑定,而没有涉及清理或类似功能。
有人可以确认一下吗
我需要一个库来检查 JSON 数据是否存在任何恶意或易受攻击的 content/code。
这样的消毒是什么意思?您链接到的页面实际上并没有解释它应该做什么。但我猜它会被用来验证输入是否有效 JSON,而不是类似于 JSON 的东西,例如 Javascript 代码。
现在:如果想要获取声称为 JSON 的任意内容,您可以在流模式下使用 Jackson 来读取和写入内容。 自从杰克逊:
- 只接受有效的JSON(而不是,例如,可执行文件Javascript),AND
- 只生成格式正确的有效 JSON
阅读+写作的结合应该净化输入。你可以这样做:
JsonFactory f = new JsonFactory();
JsonParser p = f.createParser(inputFile);
JsonGenerator g = f.createGenerator(outputFile);
while (p.nextToken() != null) {
g.copyCurrentStructure(p);
}
p.close();
g.close();
这是一种确保无效内容无法通过系统的非常快速的方法。