Accounts.forgotPassword
是客户端方法,它会触发服务器发送电子邮件,因此我们需要限制通话率。
它有内置的通话率限制,但我认为限制太低,我想改变它。
我没有找到任何正式的解决方案,只找到了解决办法:包装Accounts.sendResetPasswordEmail
方法。但这并不好,因为客户仍然可以通过Accounts.forgotPassword
来过度发送电子邮件。
所以,我不知道如何妥善处理这个问题。
答案 0 :(得分:0)
根据DDPRateLimiter文档,您可以添加以下内容:
var rule = {type: 'method', method: 'forgotPassword'};
DDPRateLimiter.addRule(rule, 2, 60000);
这应该限制每分钟调用forgotPassword
到2。您可以看到其他示例here。