node.js - 我需要在我的 graphql 服务器上进行哪些验证和清理?
问题描述
我的服务器使用以下技术:Node.js、Express、GraphQL、JWT、MongoDB、Mongoose
目前,我只有用户,能够创建、删除、更新和登录帐户,以及查看所有用户的用户名,这对搜索很有用。
对于身份验证,我使用 JWT、散列密码,并使用中间件来验证令牌并将用户信息提供到 graphql 上下文以供我的解析器使用。
我知道我需要多个级别的安全性,所以我将概述我所拥有的,也许你们可以指导我了解我所缺少的方向。
Mongoose:默认类型验证器,必需等。
Mongoose-validator:自定义验证器
- 全名:仅字符、连字符、空格、撇号
- 用户名:仅包含字母数字、下划线、连字符和句点,介于 4 到 24 个字符之间
- 电子邮件:使用 mongoose-validator isEmail 验证器的有效电子邮件
- 密码:8+个字符,至少一个小写、大写、数字
- 生日:是一个日期对象,至少在过去 18 年。
我的具体问题是:
- 我需要对此使用快速消毒剂吗?如果是这样,它会影响密码中的特殊字符吗?
- 我是否遗漏了任何特定类型的验证,或者是否有一份清单可以说明我应该采取哪些措施来保护我的服务器?
此外,任何建议将不胜感激!