0

私は、ログイン用に facebook や persona.org などのサービスを使用するプロジェクト用の小さな再利用可能なユーザー マネージャーを作成しています。各 Web の観点からすると、これはインクルードといくつかのエコーです。ただし、$_SESSIONを使用するため、初期化する必要があります。そのために、「include.php」で次のコードを使用します。

<?php
if(session_id() == '') {
  if (headers_sent()) {
    throw new Exception ("You must include this file before sending any header.");
    }
  session_start();
  $NoSession = 1; // Leave everything as it was before
  }

// MAIN CODE HERE

if ($NoSession) {
  session_destroy();
  }

session_destroy()でセッションを破棄するのは良い考えですか、それともこの状況でセッションを開いたままにしておくことは許容できますか? それを破棄する際の私のポイントは、変数環境をコードを含める前の状態のままにして、可能な限り最小のフットプリントにすることです。

4

1 に答える 1

0

開いたままにしておくことはまったく問題ありません。フットプリントはごくわずかです。session_destroy()実際にセッションを閉じるわけではありません - もう少し行う必要があります (ドキュメントの例を参照してください)。

また、最後のページ訪問からセッションが残っている場合でも、変数session_start();を使用するために呼び出す必要があることは言うまでもありません。$_SESSION

于 2013-09-14T16:11:09.957 に答える