1

独自のドメインからさまざまな顧客に提供されている複数の Web アプリケーション (PHP) があります。各ドメインには明らかに個別の Cookie とセッションがあります (ドメインとパスはすべて正しく設定されています)。

一意のセッションを保証するために、Web サイトごとにデータベースに完全に個別のセッション テーブルを設定する必要がありますか? ファイルベースのセッションを使用していた場合、各サーバーは同じセッションストアを使用するため、その必要はないと思います。したがって、DBストアを使用すると、テーブルも再利用できると思います。

セッション コード (私は ADODB を使用しています) では、セッションの作成中にセッション ID の衝突を処理するコードが表示されません。

4

2 に答える 2

1

アプリケーションに問題が発生することはありませんが、セキュリティのために、すべてのセッションを統合することがサイトの機能の一部である場合を除き、別のテーブルを使用します。

今までやったことがありませんが、特に問題はないと思います。

于 2010-02-18T13:32:47.010 に答える
0

セッションIDを変更して、短いサイトプレフィックスを含めることができます。セッションを作成する前に、session_id($ new_id)を呼び出すように作成セッションを変更するだけです。

これにより、プレフィックスを検索するサイトごとの現在のすべてのセッションを一覧表示することもできます。より最適な解決策は、セッションキーを2つのフィールドに分割し、プレフィックスと一意のキーであるプレフィックスインデックスの両方でインデックスを付けることです。これを実装するには、セッション作成関数を変更する必要があります。

このプレフィックスで検証し、セキュリティを向上させる他のWebサイトに関連付けられている場合は、セッションを拒否することもできます。

それ以外の場合、セッションIDが適切に生成されていれば、衝突の問題は発生しません。

于 2010-02-18T15:05:16.473 に答える