首页 文章

使用流星方法进行表单验证和安全性

提问于
浏览
0

让我们假设一个人使用表单来更新集合中的文档 .

通常,在提交后,可以使用某种类型的表单验证过程来验证表单中字段的完整性 . 然后在数据验证之后,假设数据被传递给meteor方法以实际更新集合 .

但理论上,用户可以使用javascript控制台来构建对同一更新方法的流星调用 . 出于安全考虑,为了验证通过控制台提交的内容,这是否意味着必须在方法中验证字段的完整性?

因此,对于通过表单的正常提交案例,这将导致相同的字段被验证两次(一次在表单验证期间,一次在方法内) .

是否有一种优雅的方法来绕过冗余验证,或者所有方法都必须有冗余的现场验证步骤?

1 回答

  • 0

    您应该考虑使用aldeed:collection2来验证集合的更新 . 通常,您在/ lib中定义架构,然后在客户端和服务器上验证更新,但您只需编写一次代码 . 如果您想避免双重工作,那么只能在服务器上进行验证,因为您无法信任客户端 . 建议不要这样做,因为客户端验证的成本由您的用户承担,而不是您的服务器承担 . 如果在输入字段时验证字段而不是onSubmit,则可以创建更好的UX,因为您将更早地提供用户反馈 .

    我的基本验证方法:

    • 更改事件 change(){} 上每个表单字段上的事件处理程序 . 这样做可以使字段边框为绿色表示有效条目,红色X表示无效条目 .

    • Collection2验证客户端上的文档插入/更新

    • 方法验证他们的参数

    • Collection2验证服务器上的文档插入/更新

    更多阅读:

相关问题