【问题标题】:Input validation for NodeJS lambda functions backed by DynamoDB由 DynamoDB 支持的 NodeJS lambda 函数的输入验证
【发布时间】:2018-01-17 06:34:38
【问题描述】:

我想知道使用哪个库来验证 lambda 函数中的用户输入,例如无服务器框架、NodeJS lambda 函数和作为 NoSQL 存储的 DynamoDB。特别是,是否有任何 NodeJS 库可以检测和验证潜在的 DynamoDB 注入向量

我做了一些研究,想出了一些在 NodeJS 中进行验证的可能性,但我找不到任何关于 NodeJS 和 DynamoDB NoSQL 注入验证的有用信息:

  1. 纯 Javascript
// lambda function handler
module.exports.handler = (event, context, callback) => {
  const data = JSON.parse(event.body);
  if (data.text && typeof data.text !== 'string') {
    // validation failure
  }
}
  1. Joi
  2. vadium-node(使用 Joi)
  3. validator-js

(当然这个列表并不完整,但似乎这些是 NodeJS 最流行的验证库。)

您是否知道任何处理 DynamoDB 的 NoSQL 注入检测的库,或者您是否有关于使用这些库之一处理 NoSQL 注入向量的更多信息 (2-4)?

【问题讨论】:

  • 你找到答案了吗?

标签: node.js validation lambda amazon-dynamodb serverless-framework


【解决方案1】:

对于 JSON 格式验证和防止注入,您可以使用 AWS API Gateway Models and Mapping Templates for Request and Response Mappings,它使用 JSON Schema 来定义模型。

【讨论】:

  • 感谢您的回复。我知道映射模板,但是如果这些映射不够严格以确保没有注入向量可以传递给 lambda 函数怎么办?或者 API Gateway 模型是否会预先过滤此类注入?我没有找到任何资源,因此我没有在我的帖子中提到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2018-10-05
  • 2020-02-17
相关资源
最近更新 更多