aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view.rb
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2009-10-08 09:31:20 +1300
committerMichael Koziarski <michael@koziarski.com>2009-10-08 09:31:20 +1300
commit9415935902f120a9bac0bfce7129725a0db38ed3 (patch)
tree654d184caccfd7e1de4d60236fb7813bf1177d84 /actionpack/lib/action_view.rb
parentf27e7ebc0e2a55a268631c78d49a5b70b06ad59a (diff)
downloadrails-9415935902f120a9bac0bfce7129725a0db38ed3.tar.gz
rails-9415935902f120a9bac0bfce7129725a0db38ed3.tar.bz2
rails-9415935902f120a9bac0bfce7129725a0db38ed3.zip
Switch to on-by-default XSS escaping for rails.
This consists of: * String#html_safe! a method to mark a string as 'safe' * ActionView::SafeBuffer a string subclass which escapes anything unsafe which is concatenated to it * Calls to String#html_safe! throughout the rails helpers * a 'raw' helper which lets you concatenate trusted HTML from non-safety-aware sources (e.g. presantized strings in the DB) * New ERB implementation based on erubis which uses a SafeBuffer instead of a String Hat tip to Django for the inspiration.
Diffstat (limited to 'actionpack/lib/action_view.rb')
-rw-r--r--actionpack/lib/action_view.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/actionpack/lib/action_view.rb b/actionpack/lib/action_view.rb
index 3df4f2d6a3..e95e84aeb5 100644
--- a/actionpack/lib/action_view.rb
+++ b/actionpack/lib/action_view.rb
@@ -44,11 +44,11 @@ module ActionView
autoload :TextTemplate, 'action_view/template/text'
autoload :Helpers, 'action_view/helpers'
autoload :FileSystemResolverWithFallback, 'action_view/template/resolver'
+ autoload :SafeBuffer, 'action_view/safe_buffer'
end
-class ERB
- autoload :Util, 'action_view/erb/util'
-end
+require 'action_view/erb/util'
+
I18n.load_path << "#{File.dirname(__FILE__)}/action_view/locale/en.yml"