Sha256: 6e6a1326a783e5c0a0f065a986f1fa8b3309b643043b970e2037ed609255b03a
Contents?: true
Size: 1.05 KB
Versions: 4
Compression:
Stored size: 1.05 KB
Contents
require 'simplabs/excellent/checks/base' module Simplabs module Excellent module Checks module Rails # This check reports views (and partials) that access the +session+ hash. Accessing the +session+ hash directly in views can result in security # problems if the value is printed to the HTML output and in general is a bad habit because the controller, which is actually the part of the # application that is responsible for dealing with session data, is circumvented. # # ==== Applies to # # * partials and regular views class SessionHashInViewCheck < Base def initialize(options = {}) #:nodoc: super @interesting_contexts = [Parsing::CallContext] @interesting_files = [/^.*\.(erb|rhtml|haml)$/] end def evaluate(context) #:nodoc: add_warning(context, 'Session hash used in view.', {}, RUBY_VERSION =~ /1\.8/ ? 0 : -1) if (context.full_name == 'session') end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems