2017-08-07 6 views
0

にログインした後に再生成する必要があり、私はセッションIDは、ログインして新しいセッションIDの後に無効にするべき要件が再生成する必要があるものを持っている、セッションIDが

このプリクッキーとポストクッキーが同じであってはならないとポストクッキーがすべきのようにサーバー側で検証する必要があります。

私はセッションを無効にコードのこの部分を使用:

req.getSession(false).invalidate(); 
req.getSession(true); 

私はセッションIDを変更することができる午前しかし、それはログアウトします。私は、同じシナリオを縄ツールスイートを使ってテストしました。

Cookie: SSO_ID=; navi=1-1-0-; SOSESSIONID=ssnuqpjpal2i; SSO_ID=323568307087821651; CSSOSESSIONID=20971435-a754-43d5-aa56-7083e2dba55b; JSESSIONID=jpofvmzlses2 
Connection: close 

しかし、私はGUIで何かをクリックしていた場合にその後、私がログインページにリダイレクトしています:ログイン後

Cookie: navi=1-1-0-; SOSESSIONID=pxtc730f4259; SSO_ID=4419102748602016135; CSSOSESSIONID=20971435-a754-43d5-aa56-7083e2dba55b; JSESSIONID=jpofvmzlses2 
Connection: close 
Upgrade-Insecure-Requests: 1 

:ログインしながら

:私は、これらの結果を得ました。

ログイン後にセッションIDを再生成する方法を教えてください。同じIDを使い続けるべきではありませんか?

+1

なぜですか?それはまだ同じセッションです。ログイン後の唯一の違いは、認証され、件名、プリンシパル、役割などがあることです。 – EJP

+0

ログインをどのように処理するのですか?おそらくセッションを使用します。無効にした場合は、その情報を古いセッションから新しいセッションにコピーする必要があります。 – Oleg

答えて

0

session fixationを処理するには、ユーザーにログインする前にセッションを無効にして新しいセッションを開始できます。

ユーザー名とパスワードを取得したら、古いセッションを無効にして新しいセッションを作成し、ログイン資格情報を確認します。これで問題は解決します。

関連する問題