是否有办法创建黑名单以禁止某些用户在注册过程中通过其参数进行过滤注册?
我们的想法是阻止使用可删除电子邮件地址的用户(例如10分钟邮箱)注册。
答案 0 :(得分:6)
有一个宝石:
安装并添加:
validates :email, email: { mx: true, disposable: true }
答案 1 :(得分:2)
不确定是否有宝石,但我认为推出自己的宝石非常简单。只需放置一个调用方法的before_filter:allowed?
您可以根据需要在db或yaml文件上使用表。 - 如果内容是静态的,则使用yaml文件(也快得多)
在允许的方法检查中使用正则表达式检查它是否匹配
def permitted?
config=YAML.load_file('file.yml')
config.each do |domain|
email.match(domain)
end
您可以使用不同的正则表达式进行匹配
答案 2 :(得分:1)
以下是JavaScript解决方案:https://github.com/AppBeat-io/JavaScript
用法示例:
AppBeat.Email.isDisposable('something@sharklasers.com'); //returns true
AppBeat.Email.isDisposable('something@mailinator.com'); //returns true
AppBeat.Email.isDisposable(' something@mailinator.com '); //returns true
AppBeat.Email.isDisposable('@mailinator.com'); //returns true
AppBeat.Email.isDisposable('mailinator.com'); //returns true
AppBeat.Email.isDisposable('unknown-domain.some-domain'); //returns false
AppBeat.Email.isDisposable('something@unknown-domain.some-domain'); //returns false
AppBeat.Email.isDisposable('something@gmail.com'); //returns false (whitelisted)
AppBeat.Email.isDisposable('something@outlook.com'); //returns false (whitelisted)