Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 7132

Show
Ignore:
Timestamp:
06/27/07 02:52:48 (1 year ago)
Author:
minam
Message:

param filtering for exception notification (closes #8432, thanks for the excellent patch!)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/exception_notification/lib/exception_notifier_helper.rb

    r3569 r7132  
    2424  VIEW_PATH = "views/exception_notifier" 
    2525  APP_PATH = "#{RAILS_ROOT}/app/#{VIEW_PATH}" 
     26  PARAM_FILTER_REPLACEMENT = "[FILTERED]" 
    2627 
    2728  def render_section(section) 
     
    6162    object.to_yaml.sub(/^---\s*/m, "") 
    6263  end 
     64 
     65  def exclude_raw_post_parameters? 
     66    @controller && @controller.respond_to?(:filter_parameters) 
     67  end 
     68   
     69  def filter_sensitive_post_data_parameters(parameters) 
     70    exclude_raw_post_parameters? ? @controller.filter_parameters(parameters) : parameters 
     71  end 
     72   
     73  def filter_sensitive_post_data_from_env(env_key, env_value) 
     74    return env_value unless exclude_raw_post_parameters? 
     75    (env_key =~ /RAW_POST_DATA/i) ? PARAM_FILTER_REPLACEMENT : env_value 
     76  end 
    6377end 
  • plugins/exception_notification/views/exception_notifier/_environment.rhtml

    r3569 r7132  
    11<% max = @request.env.keys.max { |a,b| a.length <=> b.length } -%> 
    22<% @request.env.keys.sort.each do |key| -%> 
    3 * <%= "%*-s: %s" % [max.length, key, @request.env[key].to_s.strip] %> 
     3* <%= "%*-s: %s" % [max.length, key, filter_sensitive_post_data_from_env(key, @request.env[key].to_s.strip)] %> 
    44<% end -%> 
    55 
  • plugins/exception_notification/views/exception_notifier/_request.rhtml

    r2811 r7132  
    11* URL: <%= @request.protocol %><%= @host %><%= @request.request_uri %> 
    2 * Parameters: <%= @request.parameters.inspect %> 
     2* Parameters: <%= filter_sensitive_post_data_parameters(@request.parameters).inspect %> 
    33* Rails root: <%= @rails_root %>