1

RailsセッションCookieはHttpOnlyデフォルトですが、remember_user_tokenDeviseのRememberableモジュールによって設定されたCookieはデフォルトではありません。

私が理解しているように、Cookieを送信すると、ユーザーに新しいセッションCookieが発行されるため、XSSに対しても同様に脆弱です。

それで、それをに設定する方法はありますHttpOnlyか?

4

1 に答える 1

2

#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です。

于 2010-12-21T00:49:25.080 に答える