diff options
author | Michael Koziarski <michael@koziarski.com> | 2009-10-08 09:31:20 +1300 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2009-10-08 09:31:20 +1300 |
commit | 9415935902f120a9bac0bfce7129725a0db38ed3 (patch) | |
tree | 654d184caccfd7e1de4d60236fb7813bf1177d84 /actionpack/lib/action_view.rb | |
parent | f27e7ebc0e2a55a268631c78d49a5b70b06ad59a (diff) | |
download | rails-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.rb | 6 |
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" |