javascript - 数据库插入前检查文本

标签 javascript jquery mongodb meteor

我有一个简单的文本区域,人们可以在其中插入一段文本。用户无需登录即可提交,提交内容将立即显示在浏览器中。

我的问题是关于验证客户端中的文本。我打算使用 .allow 然后插入客户端。提交数据后,检查文本是否不会对数据库造成有害影响的最佳方法是什么?

我是网络开发新手,所以我不确定是否有人可以编写一些有害的文本,这些文本在提交后会在插入后删除整个数据库,或者做其他有害的事情。

这可能是不可能的,但我想知道是否有人在提交之前检查架构是否有任何有害内容。

最佳答案

我认为这实际上是两个问题。

一:有人可以将恶意文本插入数据库(例如 SQL 注入(inject))吗?

答案是否定的,他们编写的任何内容都不能直接执行。例如,他们可以输入文本:“function(){/do some naughty things/}”,无论您将其存储在什么文档中,该文本最终都会以字符串形式出现。

二:在插入数据库之前如何验证数据?

无论查询注入(inject)攻击是否存在重大风险,任何 Web 应用程序都应该始终预期并处理伪造的表单条目。在验证方面,您有很多选择。我个人最喜欢的是Collection2 ,它将根据您在创建集合时定义的架构自动验证所有数据。您可以轻松定义最小/最大长度、类型限制,或使用自定义选项定义自定义函数来验证字段。这是一种非常简单的方法,可以确保所有数据在插入数据库之前都经过验证。

关于javascript - 数据库插入前检查文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710171/

相关文章:

javascript - 通过 Javavscript 将 DatePicker 值传递给 C# Controller

javascript - 在文本字段中输入时如何传递逗号

node.js - 我不能同时使用 $set 运算符和 $inc 运算符,只有一个在我的情况下有效

javascript - 将值数组传递给 Jquery

javascript - 当用户使用移动键盘输入内容时,我们可以触发 javascript 函数吗

javascript - 无法读取未定义 Angular 7 的属性

javascript - 使用 mongo shell 执行 JavaScript 函数没有输出

javascript - 使用Jsoniq显示json中的部分字符串

javascript - 获取给定文本的复选框的状态

javascript - Mongodb $inc 返回双倍