假设我正在使用meteor.js 构建一个应用程序,我只是从用户那里收集一些简单的表单数据。也许是一个简单问题的答案之类的。他们无需登录即可提交数据。
如何保护我的应用程序免受有人在他们的 Chrome 控制台中创建 js-loop 的影响,而后者只是将垃圾插入到我的数据库中?
我可以通过这样做来保护删除和更新:
Formanswers.allow({
insert: function () {
return true;
},
update: function () {
return false;
},
remove: function () {
return false;
},
});
如果用户已登录(您记得在我的应用程序中不是这种情况),我可以为每个插入添加时间戳并检查如下内容:
insert: function (userId, doc) {
if (userId && (Formanswers.findOnd({userid: userId, time: SOMETHING TIME SPECIFIC}).count() < 1)) return true;
},
所以我的问题是:有没有其他方法可以为匿名(未登录)用户获取唯一的 userId-thing 或 IP-address 或其他东西,这样我也可以对他进行上述检查?
谢谢!