在将数据插入DynamoDb之前清理输入

时间:2013-12-28 05:09:05

标签: php mysql amazon-dynamodb sanitization

目前我已经创建了一个API,使用MySql是一个数据库。但现在我想转向DynamoDB。在将数据插入MySql时,我使用bindParam来清理用户输入。但是如何在插入DynamoDB之前清理用户输入

1 个答案:

答案 0 :(得分:5)

AWS PHP SDK doesn't come with a ORM(绑定)。

但是,GitHub上会显示一些ORM选项:option1option2

编辑有关DynamoDB +的说明 - SQL注入:

最后使用DynamoDB时,您正在调用DynamoDB API(获取/扫描/查询)。将它们视为接收JSON作为输入的REST API。如果我想用hashId X获取一个元素,我必须设置它。我无法在那里设置注入(例如“'X'或1 = 1”),因为API不会解析我的字符串,引擎只会在您输入的字符串和相关属性之间进行EQ比较(在这种情况下 - 哈希主键属性)。

来自谷歌搜索,人们注意到NoSQL一般不会自动免于SQL注入(see here about MongoDB and PHP)但据我所知你不应该担心使用DynamoDB,因为你构建查询作为一部分API的一部分,而不是将长字符串发送到数据库引擎进行评估。

我希望能回答你的问题,如果不随意在评论中提出更多问题。