1
passengerとauthlogicのrails 4.0.3を使用してWebアプリケーションを構築しています。ユーザーがログインしても、以前のユーザーの信頼性トークンを使用しているとき新しいUserSession。誰もセッションについてこれを体験しましたか?これにより、ユーザー2がユーザー1のセッションの下でログインし、誤ったアクセス権を持つことになります。UserSession認証トークンが異なるユーザー間で共有されています
ユーザー1つのログイン要求:
I, [2017-12-14T15:08:11.566277 #25162] INFO -- : Started POST "/login" for 172.68.xxx.xxx at 2017-12-14 15:08:11 +0000
I, [2017-12-14T15:08:11.567479 #25162] INFO -- : Processing by UserSessionsController#create as HTML
I, [2017-12-14T15:08:11.567545 #25162] INFO -- : Parameters: {"utf8"=>"✓", "authenticity_token"=>"4FgeuK825Mw4wfKvnHv1CXg3t5sNV1P621fdsgXzplE=", "user_session"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Sign In"}
ユーザのログイン要求2:それを破壊することを確認するためにActionController ::ベース#のhandle_unverified_requestをオーバーライドする
I, [2017-12-14T15:08:49.905291 #25162] INFO -- : Started POST "/login" for 172.68.xxx.xxx at 2017-12-14 15:08:49 +0000
I, [2017-12-14T15:08:49.906435 #25162] INFO -- : Processing by UserSessionsController#create as HTML
I, [2017-12-14T15:08:49.906494 #25162] INFO -- : Parameters: {"utf8"=>"✓", "authenticity_token"=>"4FgeuK825Mw4wfKvnHv1CXg3t5sNV1P621fdsgXzplE=", "user_session"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Sign In"}
提案していただきありがとうございます。先ほどお話したとおり、handle_unverified_requestを適用しました。私は一晩中何らかのテストを行い、まだ真正のトークンが重複していないかどうかを確認し、問題が解決したかどうかを報告します。 – nurbrun
バグのないユーザーセッションの週末後にフォローアップ。助けてくれてありがとう。 authlogic gemをアップグレードし、スレッドセーフ依存性もアップグレードされていることに気付きました。ちょうど推測ですが、多分サーバーの負荷が高かった時に共有トークンが発生していたので、それは問題の一部でした。 – nurbrun