Module: Wafris

Defined in:
lib/wafris.rb,
lib/wafris/railtie.rb,
lib/wafris/version.rb,
lib/wafris/middleware.rb,
lib/wafris/configuration.rb,
lib/wafris/log_suppressor.rb

Defined Under Namespace

Classes: Configuration, LogSuppressor, Middleware, Railtie

Constant Summary collapse

VERSION =
"1.1.8"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



15
16
17
# File 'lib/wafris.rb', line 15

def configuration
  @configuration
end

Class Method Details

.allow_request?(request) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/wafris.rb', line 36

def allow_request?(request)
  configuration.connection_pool.with do |conn|
    time = Time.now.utc.to_i * 1000
    status = conn.evalsha(
      configuration.core_sha,
      argv: [
        request.ip,
        IPAddr.new(request.ip).to_i,
        time,
        request.user_agent,
        request.path,
        request.query_string,
        request.host,
        request.request_method
      ]
    )

    if status.eql? 'Blocked'
      return false
    else
      return true
    end
  end
end

.configureObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/wafris.rb', line 17

def configure
  raise ArgumentError unless block_given?

  self.configuration ||= Wafris::Configuration.new
  yield(configuration)
  LogSuppressor.puts_log(
    "[Wafris] attempting firewall connection via Wafris.configure initializer."
  ) unless configuration.quiet_mode
  configuration.create_settings
rescue Redis::CannotConnectError
  LogSuppressor.puts_log(
    "[Wafris] firewall disabled. Cannot connect via Wafris.configure. Please check your configuration settings. More info can be found at: https://github.com/Wafris/wafris-rb"
  )
rescue ArgumentError
  LogSuppressor.puts_log(
    "[Wafris] block is required to configure Wafris. More info can be found at: https://github.com/Wafris/wafris-rb"
  )
end