2012-01-20 6 views
0

私はセッションを保存していますが、それらを区別する唯一のものはエンディングIDです。このフォームに保存しますchat_625265最後の乱数はIDです。私は彼らがchat_を持っているPHPセッションを選択したいと思います。 $session_num。私はPHPセッションのメカニズムを使用していますPHPが名前のようなセッションを取得する

$_SESSION['some_name']=$some_content

これは可能ですか?

+0

? – Jon

+0

組み込みのPHPセッション機構についてお話ししていますか? – Charles

+0

私はPHPのセッションメカニズム '$ _SESSION ['some_name'] = $ some_content'を使用しています – Frank

答えて

1

あなたは可能性があり、あなたがそれらを保存し、どのようにしているループ

foreach($_SESSION as $key => $value) { 

    if (strpos($key, 'chat_') !== false) { 

     //echo "SESSION['{$key}'] has a value of {$value}\n"; 

     $session_num[] = str_replace('chat_', '', $key); 
    } 
} 
1

さんは、を実行しようとすると、別のユーザーのセッションを読み込むことを前提として動作する予定です。

これは可能な限りですが、技術的にはですが、それはあなたがすべきではありません。これを行う必要があることは間違ったデータを間違った場所に配置したという兆候です。

セッションは、HTTPがステートレスプロトコルであるという事実を回避するためのものです。現在のリクエストを作成している現在のユーザーだけが参照する必要がある一時的なデータを保存するのに便利な場所です。

データ他のセッションは参照する必要があります、セッションではなく、データベースに移動する必要があります。あなたは正しい場所にデータを格納するようにアプリケーションを変更する必要があります。

ではなく、であることに注意してください。データベースにセッションを格納するのと同じことです。セッション・データを、SQLまたはPHPセッション・メカニズムの外部から読み取ることが許可されていないバイナリBLOBとして扱います。

さらに、他のユーザーのセッションIDが公開されていないことを確認してください。そうすることは、セキュリティ上の大きなリスクになる可能性があります。