Deviseの覚えているモジュールにhttp_onlyを使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4468100

質問

Railsセッションクッキーはです HttpOnly デフォルトでは remember_user_token DeviseのRememerableモジュールによって設定された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を使用してオープン開発者ツールを開き、[ストレージ]タブに切り替え、「Cookies」(私の場合はLocalHost)の下のアイテムをクリックし、HTTPを見てください桁。クッキーがhttponlyの場合、ダニがあります。参照のために、RailsセッションCookie(呼び出し) _session_id デフォルトでは、デフォルトではhttponlyです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top