2012-03-09 4 views
0

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

このチュートリアルの前半では、パスワードをハッシュするために多くの作業を行っており、データベースが破損してもパスワードは安全です。しかし、remember_tokensの導入により、データベース侵害はプレーンテキストの記憶トークンを生成し、セッションを簡単に偽造することができます。

適切で有効な記憶トークンであってもCSRFを防ぐレールには、(通常はそうであるように)いくつかの固有の「魔法」があります。誰かが私を啓発できますか?

答えて

0

セッショントークンをクライアントに保存するだけで(クッキー内で)、CSRF攻撃に対して脆弱になります。レールでの攻撃のこのタイプのアプリケーションを安全にするためには、ページ内のレールの詳細については

<%= csrf_meta_tags %> 

とフィルタ(protect_from_forgery)

class FooController < ApplicationController 
    protect_from_forgery :except => :index 

をCSRFトークンを追加するヘル​​パーを持っていますセキュリティ訪問:http://guides.rubyonrails.org/security.html

0

データベースを侵害してもプレーンテキストの覚えやすいトークンが得られません。
覚え書きトークンダイジェストのみをデータベースに保存します。これらは早い段階でパスワードのようにハッシュされています。

関連する問題