Meteor.js:获取匿名访客唯一ID/ip /等等?

Kri*_*r K 16 meteor

假设我正在使用meteor.js构建应用程序,我只是从用户那里收集一些简单的表单数据.也许是对一个简单问题的回答.他们无需登录即可提交数据.

如何保护我的应用程序免受在Chrome控制台中创建js-loop的人员的攻击?


我可以通过这样做来保护删除和更新:

Formanswers.allow({
  insert: function () {
    return true;
  },
  update: function () {
    return false;
  },
  remove: function () {
    return false;
  },
});
Run Code Online (Sandbox Code Playgroud)

如果用户已登录(我记得在我的应用程序中不是这种情况),我可以为每个插入时间戳并检查以下内容:

  insert: function (userId, doc) {
        if (userId && (Formanswers.findOnd({userid: userId, time: SOMETHING TIME SPECIFIC}).count() < 1)) return true;
  },
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否有任何其他方式为匿名(未登录)用户获取唯一的userId-thing或IP地址或东西,所以我也可以对他进行上述检查?

谢谢!

Sub*_*bio 12

你可以使用陨石包.

账户匿名

https://github.com/tmeasday/meteor-accounts-anonymous

所以你用

Meteor.loginAnonymously();
Run Code Online (Sandbox Code Playgroud)

如果用户第一次访问您的页面,并使用.allow检查您需要的内容


ram*_*am1 0

使用会话或本地存储密钥。当访问者提交表单时,检查密钥是否已设置,如果已设置,则拒绝插入。