fix Session Fixation
s-aska [Fri, 29 Oct 2010 06:43:15 +0000 (15:43 +0900)]
lib/Plack/Middleware/Session.pm

index f7e20b6..9f307af 100644 (file)
@@ -75,6 +75,10 @@ sub commit {
 
     if ($options->{expire}) {
         $self->store->remove($options->{id});
+    } elsif ($options->{change_id}) {
+        $self->store->remove($options->{id});
+        $options->{id} = $self->generate_id($env);
+        $self->store->store($options->{id}, $session);
     } else {
         $self->store->store($options->{id}, $session);
     }