RailsセッションCookieはHttpOnly
デフォルトですが、remember_user_token
DeviseのRememberableモジュールによって設定されたCookieはデフォルトではありません。
私が理解しているように、Cookieを送信すると、ユーザーに新しいセッションCookieが発行されるため、XSSに対しても同様に脆弱です。
それで、それをに設定する方法はありますHttpOnly
か?
RailsセッションCookieはHttpOnly
デフォルトですが、remember_user_token
DeviseのRememberableモジュールによって設定されたCookieはデフォルトではありません。
私が理解しているように、Cookieを送信すると、ユーザーに新しいセッションCookieが発行されるため、XSSに対しても同様に脆弱です。
それで、それをに設定する方法はありますHttpOnly
か?
#rubyonrailsの@camonzの助けを借りて、私はこのモンキーパッチを思いつきました: https ://gist.github.com/749289
Devise 1.1.3では、Cookieオプションがハードコーディングされているため、モンキーパッチだけでうまくいくと思います。
ただし、Devise 1.2rcはプルインするため、構成が可能になるように見えますresource.cookie_options
(たとえば、ユーザーモデルからcookie_optionsをプルするため、何らかの方法で設定できるはずです。まだ理解していません)。
PS私はまだこれをテストする方法を理解していません。Chromeで手動でテストするには、Cookieが設定されているタブに切り替え、Alt + Cmd + Iで開発ツールを開き、[ストレージ]タブに切り替え、[Cookie](私の場合はlocalhost)の下の項目をクリックして、HTTPを確認します。桁。CookieがHttpOnlyの場合、チェックマークが表示されます。参考までに、デフォルトで呼び出されるrailsセッションCookieは、_session_id
デフォルトではHttpOnlyです。