IPFilter class
- add conf.gem line to
build_config.rb
MRuby::Build.new do |conf|
# ... (snip) ...
conf.gem :github => 'tahira/mruby-ipfilter'
end
# CountryFromIP sample
cip = IPFilter::CountryFromIP.new('/tmp/GeoLite2-City.mmdb')
cip.permit = ['JP']
target_ip = '8.8.8.8'
if cip.permit?(target_ip)
p "#{target_ip} is permit"
else
p "#{target_ip} is deny"
end
# Path sample
path = IPFilter::Path.new()
path.deny = ['wp-login.php', 'xmlrpc.php']
target_path = '/blog/wp-login.php'
if path.deny?(target_path)
p "#{target_path} is deny"
else
p "#{target_path} is permit"
end
# UserAgent sample
ua = IPFilter::UserAgent.new()
ua.permit = ['Googlebot', 'Twitterbot']
target_ua='Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
if ua.permit?(target_ua)
p "#{target_ua} is permit"
else
p "#{target_ua} is permit"
end
❯ mruby/bin/mruby example/example.rb 1h 37m 24s 309ms
"8.8.8.8 is deny"
"/blog/wp-login.php is deny"
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) is permit"
under the MIT License:
- see LICENSE file