2011-10-18 27 views
0

管理者としてセッションを失うことなく、自分のサイトのユーザーを "偽装"できる管理ツールを作りたいと思っています。iframeのセッションが異なる可能性はありますか?

iframeを開いたページの状態を変更することなく、ウェブサイトを「ユーザーとして」表示するiframeを開くことができます。

これは可能ですか?これを行うより良い方法はありますか?

答えて

1

どのような言語ですか?私の答えは、PHPが選択した言語であるという前提に基づいています。

第1に、セッションの偽装が管理者ログインをそのままにして別のユーザーとしてサイトを表示できる唯一の方法である場合は、アプリケーションを間違って計画したと言います。

あなたはそれをやり直すことができます。これはまた、PHPとデフォルトのセッション管理機能を使用していることを前提としており、カスタムセッションハンドラを持たないと仮定して、?PHPSESSID=sessionidhereパラメータ。あなたがページをロードする際

これを行うには良い方法のような?userbrowseid=123

そして、urlパラメータのいくつかの並べ替えをあなたのサイトを作成して、ある種のユーザオブジェクトを経由してユーザーを認証してから追加することで、あなたのコードは、唯一の意志すでに管理者としてログインしている場合は、パラメータが存在するかどうかを確認してください。ページは、現在のユーザオブジェクトを、ユーザIDオブジェクト123で上書きします。セッションCookieが偽装されたユーザーオブジェクトで上書きされないようにするための手順を実行する必要があります。これはiframe内にあるため、サイトは管理者として動作し、iframeはユーザーオブジェクトとして読み込まれます。

1

それは可能ですが、少し「しかし」で開始する:)

ただ、カップルのオプションがあります:

  1. 使用URLベースのセッショントークンを使用すると、クッキーを持っているとき、Javaサーブレットがそうであるように無効化( )自体はずっとあなたを助けにはなりません

iframe「ノーマル」サイトと管理インタフェースのための

  • 使用異なるドメイン:それは常にでそのクッキーを共有しますブラウザ。そのため、上記のいずれかのオプションを使用できますが、これはiframeには依存しません。

  • 関連する問題