我有不同的 REST-API 视图,我可以在其中发送邮件(如果存在帐户)或不发送邮件。例如,用户可以以忘记密码的形式输入电子邮件,如果帐户存在则发送邮件。
我from django.core.mail import send_mail
用来发送邮件。
问题是,这需要一些时间,因此对有效电子邮件的请求通常比对非退出电子邮件的请求长。这允许攻击者比较请求时间以找出帐户是否存在。
有什么方法可以打电话send_mail()
而不发邮件吗?或者,对于这两种情况,使请求时间同样长的解决方法是什么?
注意:如果我不发送邮件,我可以检查 send_mail() 平均需要多长时间并等待这个时间。由于该应用程序在具有不同配置的不同服务器上运行,因此在我的情况下通常无法做到这一点。我宁愿不将每台服务器的平均执行时间存储在数据库中来解决这个问题。