Sha256: 4dc6e0506df80f8782caa513eb42ba486a1a5afd9b55b43da2cbea2e6beda933

Contents?: true

Size: 577 Bytes

Versions: 11

Compression:

Stored size: 577 Bytes

Contents

# frozen_string_literal: true

module SecureNative
  module Utils
    class IpUtils
      def self.ip_address?(ip_address)
        return true if ip_address =~ Resolv::IPv4::Regex
        return true if ip_address =~ Resolv::IPv6::Regex

        false
      end

      def self.valid_public_ip?(ip_address)
        ip = IPAddr.new(ip_address)
        return false if ip.loopback? || ip.private? || ip.link_local? || ip.untrusted? || ip.tainted?

        true
      end

      def self.loop_back?(ip_address)
        IPAddr.new(ip_address).loopback?
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
securenative-0.1.40 lib/securenative/utils/ip_utils.rb
securenative-0.1.39 lib/securenative/utils/ip_utils.rb
securenative-0.1.38 lib/securenative/utils/ip_utils.rb
securenative-0.1.37 lib/securenative/utils/ip_utils.rb
securenative-0.1.36 lib/securenative/utils/ip_utils.rb
securenative-0.1.35 lib/securenative/utils/ip_utils.rb
securenative-0.1.34 lib/securenative/utils/ip_utils.rb
securenative-0.1.33 lib/securenative/utils/ip_utils.rb
securenative-0.1.32 lib/securenative/utils/ip_utils.rb
securenative-0.1.31 lib/securenative/utils/ip_utils.rb
securenative-0.1.30 lib/securenative/utils/ip_utils.rb