6

同じセッションを共有する異なるサーバー上にいくつかのRailsアプリを配置したいと思います。同じサーバー内でそれを行うことはできますが、異なるサーバー間で共有できるかどうかはわかりません。誰かがすでにそれをしたか、それを行う方法を知っていますか?

ありがとう

4

4 に答える 4

6

データベース セッション ストアを使用します。それの短いはこれです:

テーブルを生成するには、コンソールで次を実行します。

rake db:sessions:create

あなたのenvironment.rbに、この行を含めてください

config.action_controller.session_store = :active_record_store
于 2008-09-19T19:55:54.013 に答える
3

アプリの設定方法によっては、同じシークレット( http://www.russellquinn)を使用するようにアプリを設定することで、同じドメイン(foo.domain、bar.domain、domain)のサイトからのCookieを簡単に共有 できます。 com / 2008/01/30 / multiple-rails-applications /

これで、sdfsf.com、dsfsadfsdafdsaf.comなどの異なるサイトがある場合、Cookieの性質上、特定のドメインに制限されるため、さらに多くのトリックを実行する必要があります。基本的に、あなたがやろうとしているのは、クロスサイトスクリプティングを使用して、セッションをハイジャックする代わりに、他のセッションからそれを読み取ることです。

その場合、同じCookieシークレットなどを使用してから、クロスサイトスクリプティングを組み合わせて、セッション情報を手動で抽出し、各サイトで再作成できます(または、ActiveRecordセッション{またはNFSセッションディレクトリ}を使用している場合は、リンク既存のものと一緒に)。簡単ではありませんが、実行できます。

または、ローテクな方法(私が以前に行ったこと)は、ログインページに各サイトの特別に細工されたログインページにアクセスさせ、アプリCookieを設定して次のCookieにバウンスすることです。かわいくないです。

于 2008-09-19T19:39:06.127 に答える
0

データベースに基づくセッションを使用してみてください。

于 2008-09-19T19:39:03.677 に答える
0

Rails 2.0 では、すべてのセッション データをクライアント マシン上の暗号化された Cookie に保存する CookieStore が導入されました。

http://izumi.plan99.net/blog/index.php/2007/11/25/rails-20-cookie-session-store-and-security/

于 2008-09-19T19:55:56.570 に答える