質問

Railsチュートリアルの第8章では、ブラウザが閉じられた後でもセッションを記憶するために「覚えておく」というアイデアを紹介します。彼は、セッションがユーザーを指す覚えたトークンで構成されており、この記憶トークンはユーザーオブジェクトに格納されています。

チュートリアルの前には、データベースが違反した場合、私たちのパスワードがまだ安全であるように、私たちのパスワードをハッシュするための多くの作業を進めます。ただし、remotem_tokensの導入では、データベースの違反はプレーンテキストの覚えておいて、セッションを偽造しやすくします。

おそらく、正しい「魔法」(通常は正しいように思われる)は、適切な有効な覚えられたトークンでもCSRFを妨げるRailsには...誰かが私を啓発することができますか?

役に立ちましたか?

解決

クライアント上のセッショントークンを(クッキー内)に保存するだけで、CSRF攻撃に対して脆弱になります。アプリケーションをRailsでこのタイプの攻撃に安全にするために、ページにCSRFトークンを追加するヘルパーがあります。

<%= csrf_meta_tags %>
.

とフィルタ(PROTECT_FROM_FORGERY)

  class FooController < ApplicationController
    protect_from_forgery :except => :index
.

Rails Securityの詳細については、> http://guides.rubyrails.org/security.html

他のヒント

データベースの侵害は、プレーンテキストの覚えておいていませんトークンを覚えていません。
データベースに覚えておいてください digests を忘れないでください。これらはパスワードの早いパスワードと同じようにハッシュされています。

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