Sha256: f04aa3d0fed4f62ea6386735dff52cb918445c32f64ae5e656970c1e6f80bd2b
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
class ActionController::Base require 'mir_extensions' require 'socket' def self.local_ip orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily UDPSocket.open do |s| s.connect '64.233.187.99', 1 s.addr.last end ensure Socket.do_not_reverse_lookup = orig end # Returns a sanitized column parameter suitable for SQL order-by clauses. def sanitize_by_param(allowed=[], default='id') sanitize_params params && params[:by], allowed, default end # Returns a sanitized direction parameter suitable for SQL order-by clauses. def sanitize_dir_param sanitize_params params && params[:dir], ['ASC', 'DESC'], 'ASC' end # Use this method to prevent SQL injection vulnerabilities by verifying that a user-provided # parameter is on a whitelist of allowed values. # # Accepts a value, a list of allowed values, and a default value. # Returns the value if allowed, otherwise the default. def sanitize_params(supplied='', allowed=[], default=nil) raise ArgumentError, "A default value is required." unless default return default if supplied.blank? || allowed.blank? || ! allowed.include?(supplied) return supplied end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mir_extensions-1.1.0 | lib/core_ext/controller_extensions.rb |
mir_extensions-1.0.0 | lib/core_ext/controller_extensions.rb |
mir_extensions-0.2.0 | lib/core_ext/controller_extensions.rb |