SECURITY: Prefix session key and validate token format.

This commit is contained in:
Robin Ward
2014-08-25 15:31:49 -04:00
parent 3a010c34cc
commit ed125975a1
3 changed files with 32 additions and 11 deletions
+9 -5
View File
@@ -205,13 +205,17 @@ class UsersController < ApplicationController
def password_reset
expires_now()
@user = EmailToken.confirm(params[:token])
if EmailToken.valid_token_format?(params[:token])
@user = EmailToken.confirm(params[:token])
if @user
session[params[:token]] = @user.id
if @user
session["password-#{params[:token]}"] = @user.id
else
user_id = session["password-#{params[:token]}"]
@user = User.find(user_id) if user_id
end
else
user_id = session[params[:token]]
@user = User.find(user_id) if user_id
@invalid_token = true
end
if !@user