我试图阻止用户使用 Meteor 包 ddp-rate-limiter 过于频繁地调用 Meteor 方法(例如,防止垃圾邮件或 DOS 攻击),但是我无法让它工作。
有人有想法吗?
服务器/ddpRateLimiter.js:
Meteor.methods({
dosAttack: function() {console.log("dos");}
});
var preventDosAttack= {
userId: function() {return true;},
type: 'method',
method: 'dosAttack'
}
DDPRateLimiter.addRule(preventDosAttack, 5, 1000);
使用此代码,我仍然可以根据需要从客户端控制台运行该方法。 (用for循环测试100次)
您可以在这里找到完整的源代码:opensource project
这里的某个提交:commit
非常感谢您的帮助,
最大
最佳答案
我的错误很简单:不是'method': 'dosAttack'
而是'name': 'dosAttack'
。看起来像文档 MeteorDoc DDPRateLimiter 中的示例犯同样的错误。我创建了一个issue在 meteor GitHub 页面上
关于javascript - Meteor:使用 ddp-rate-limiter 包限制 DDP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33959984/