我正在使用 gemrack-attack
以及geoip
rails 5 中的 gem。一切都设置好了,但由于某种原因,我无法让阻止列表来阻止国家代码。我已经设置了一个闪光警报,以确保正在传递正确的国家代码,并且它是(“CA”)。“CA”也在阻止列表中,但我的应用程序并没有阻止我访问该网站。
我哪里错了?
def get_ip
@ip = request.ip
@country = GeoIp.geolocation("#{@ip}", :precision => :country)
country_code = @country[:country_code]
Rack::Attack.safelist('allow from localhost and select countries') do |req|
'127.0.0.1' || '::1' == req.ip || 'US' == req.country_code
end
Rack::Attack.blocklist('block specific countries') do |req|
"CA" == req.country_code
end
end