2010-12-17 7 views
1

デフォルトでは、レールセッションCookieはHttpOnlyですが、DeviseのRememberableモジュールによって設定されたremember_user_tokenのCookieはありません。Devise's RememberableモジュールでRemember me Cookieにhttp_onlyを使用するにはどうすればよいですか?

私が知っているように、そのCookieが送信されると、新しいセッションCookieが発行されるため、確かにXSSと同様に脆弱です。

HttpOnlyに設定する方法はありますか?私はこのモンキーパッチを思い付いた#rubyonrails上@camonzの助けを借りて

答えて

2

:工夫で https://gist.github.com/749289

は、クッキーのオプションはモンキーパッチは、私が仕事だと思うことができるすべてであるので、ハードコードされている1.1.3。

しかし、Devits 1.2rcは、resource.cookie_optionsを取得して設定するように見えます(たとえば、Userモデルからcookie_optionsを取得するため、何らかの形で設定する必要があります)。

P.S.私はまだこれをテストする方法を考え出していない。 Chromeで手動でテストするには、Cookieが設定されているタブに切り替え、Alt + Cmd + Iで開発ツールを開き、[ストレージ]タブに切り替え、[Cookie](私の場合はlocalhost)の項目をクリックして、HTTPカラム。クッキーがHttpOnlyの場合、チックがあります。参照のために、デフォルトで_session_idと呼ばれるレールセッションクッキーは、デフォルトではHttpOnlyです。

+0

要点の仕様も変更されました。 – jim

+0

Deviseのmasterブランチにデフォルトでパッチを作成しているので、すぐにバージョンアップされるはずです。 https://github.com/plataformatec/devise/pull/735#issuecomment-634501 – jim

関連する問題