提问者:小点点

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


大家好!

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

为了创建控件,我使用express-validator,下面是不同的表及其参数:

客户:

  • 用户名
  • 电子邮件
  • 密码

产品:

  • 产品名称
  • 说明
  • 价格
  • 图像URL
  • 产品数量
  • 品牌ID

品牌ID:

  • 品牌名称
  • 徽标URL

和更多

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

我不知道我的问题是否合适,但谢谢你的任何回答!

祝你白天/晚上愉快。


共1个答案

匿名用户

所以这个答案在你听起来可能很明目张胆,也许没什么新意。但您应该验证来自客户端的所有内容。您可以在表单中或在提出请求时看到发送的内容。关于一般指南,您可以阅读:https://owasp.org/ww-project-top-ten/

有很多部分,比如不仅仅是安全性,还有可靠性等等,它们看起来是一样的,但实际上是不同的,并且真的取决于您的业务需求和用例。但是我会写我自己的建议,我通过多年的web开发观察到,记住我的陈述不是唯一的真理,也不是唯一的方法,也不是最好的实践,所以你应该接受它,做你自己的研究,并做出一些明智的决定。

最基本的事情是:

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

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

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

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

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

建议:

用户名只能包含字母和/或数字

用户名、电子邮件不应区分大小写。

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

还有一个建议,我会给你看看一些开源项目,这些东西是如何在那里做的,这些项目相当大,所以肯定会花一些时间,但它可能会给你一个更好的想法,如何大多数那些电子商务网站的工作一般。

我真的觉得这个问题和答案更适合SoftwareEngineering.stackExchange.com。但不管怎样,只是想帮上忙:)