aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-02-22 01:17:28 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-02-22 01:17:28 +0000
commitc8f7860d5034c2ab92c1a9fc3bc61cd5d80ee146 (patch)
treeb409a2a3356f94188d144d09870d015a559bb43e /actionpack/lib/action_controller
parent223509ba7d6eb608142c0b50325b9d01a6687e71 (diff)
downloadrails-c8f7860d5034c2ab92c1a9fc3bc61cd5d80ee146.tar.gz
rails-c8f7860d5034c2ab92c1a9fc3bc61cd5d80ee146.tar.bz2
rails-c8f7860d5034c2ab92c1a9fc3bc61cd5d80ee146.zip
CGI escape the session cookie.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6200 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/session/cookie_store.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/session/cookie_store.rb b/actionpack/lib/action_controller/session/cookie_store.rb
index 25717cc5e7..8763a4933a 100644
--- a/actionpack/lib/action_controller/session/cookie_store.rb
+++ b/actionpack/lib/action_controller/session/cookie_store.rb
@@ -81,13 +81,13 @@ class CGI::Session::CookieStore
# Marshal a session hash into safe cookie data. Include an integrity hash.
def marshal(session)
data = Base64.encode64(Marshal.dump(session)).chop
- "#{data}--#{generate_digest(data)}"
+ CGI.escape "#{data}--#{generate_digest(data)}"
end
# Unmarshal cookie data to a hash and verify its integrity.
def unmarshal(cookie)
if cookie
- data, digest = cookie.split('--')
+ data, digest = CGI.unescape(cookie).split('--')
raise TamperedWithCookie unless digest == generate_digest(data)
Marshal.load(Base64.decode64(data))
end