我正在使用node.js和mongodb数据库编写我的第一个API,我担心安全问题。
在代码中我有这一行:
collection.count({email: req.body.email})
和这一个:
collection.insert(req.body)
其中 req.body 是用户使用其信息发送的用户对象(电子邮件,姓名,哈希密码...)。 我认为解析用户发送的内容很危险。
req.body.email 是否算作解析? 如果是,我想在使用 mongo-sanitize 的请求之前对其进行消毒,但查看其代码,似乎它会删除“。”和“$”都是电子邮件地址的授权字符。
所以我的问题是:如何在不丢失信息的情况下安全地存储电子邮件地址?
(如果我清理“surname.name@gmail.com”,我得到“namesurname @ gmailcom”,如果没有先前一个严格存储包含禁用字符的位置和类型的数组,我就无法检索地址)< / p>