我有一个简单的textarea,人们可以插入一段文字。用户无需登录即可提交,提交将立即显示在浏览器中。
我的问题是验证客户端中的文本。我打算使用.allow然后插入客户端。在提交数据后,检查文本是否会在数据库中执行某些有害操作的最佳方法是什么?
我是网络开发的新手,所以我不确定是否有人可以写一些有害的文字,一旦插入就会删除整个数据库,或者做其他有害的事情。
这可能是不可能的,但我想知道是否有人在提交之前检查了架构是否有害。
答案 0 :(得分:1)
我认为这确实是两个问题。
一:有人可以将恶意文本插入数据库(如SQL注入)吗?
答案是否定的,他们写的任何东西都不能直接执行。例如,他们可以输入文字:" function(){/ 做一些顽皮的事情 /}",这会在你存储的任何文件中以字符串结尾in。
二:如何在插入数据库之前验证数据?
无论查询注入攻击是否是重大风险,任何Web应用程序都应始终期望并处理虚假表单条目。在验证方面,你有很多选择。我个人最喜欢的是Collection2,它会根据您在创建集合时定义的模式自动验证所有数据。您可以轻松定义最小/最大长度,类型限制,或使用自定义选项定义自定义函数以进行验证一个领域。这是一种非常简单的方法,可以确保在插入数据库之前验证所有数据。