RailStutorial.org&Remadre_Tokens.
-
10-12-2019 - |
質問
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 を忘れないでください。これらはパスワードの早いパスワードと同じようにハッシュされています。
所属していません StackOverflow