电子商务网站-插入数据时应该检查什么

eCommerce website - What should I check when inserting data

大家好!

我今天正在做一个电子商务网站的项目(我的学习练习)。 我目前正在控制管理员可以创建的不同条目(创建产品、品牌等)

为了制作我的控件,我使用了 express-validator,这里是我的不同表格及其参数:

客户:

产品:

品牌 ID:

还有更多

我想知道验证从电子商务网站插入的数据的有效性的常见方法是什么。 例如对于用户,我验证在创建帐户时,密码,电子邮件,名称已填写 (.notEmpty())

我不知道我的问题是否合适,但在此先感谢您的回答!

祝你今天/晚上愉快。

所以这个答案对您来说可能听起来很明显,也许没什么新鲜的。但是您应该验证来自客户端的所有内容。您只可以在表单中或提出请求时看到您发送的内容。对于一般准则,您可以阅读:https://owasp.org/www-project-top-ten/

有很多部分,不仅仅是安全性,还有可靠性等等,它们看起来可能是一样的,但实际上是不同的,并且实际上取决于您的业务需求和用例。但是我会根据我多年在 Web 开发中观察到的内容写下我自己的建议,请记住,我的陈述不是唯一的真理或一种方法或最佳实践,因此您应该持保留态度,你自己研究并做出一些明智的决定。

最基本的东西是:

清理并验证来自客户端的数据。

如果可能,设置一些值的预定义最大长度。

检查数据库中是否存在实体,例如用户名、产品或产品数量等。

始终使用当前建议的密码加密。

现在可以有更具体的业务和可靠性部分(这些只是建议):

建议:

用户名只能包含字母and/or 数字

用户名、邮箱不区分大小写

不允许使用非常相似的用户名创建客户,例如:John 或 J0hn。

我还有一个建议是看看一些开源项目,看看这些项目是如何做的,这些项目都很大,所以肯定会占用你一些时间,但它可能会给你一个更好的主意大多数电子商务网站的一般运作方式。

我真的觉得这个问题和答案更适合 softwareengineering.stackexchange.com。但无论如何只是想提供帮助:)