ログインセッションをクリアするための違いと最も安全な方法は何PHP
ですか?基本的に、ユーザーが私のアプリケーションをクリックlog out
したときにこれを呼び出します。
私は見ています:
session_destroy()
session_unset()
または単に行う:
unset($_SESSION['my_key_1']);
unset($_SESSION['my_key_2']);
最善の方法は何ですか?
session_destroyはセッション全体を削除しています。
session_unsetは、セッションから変数を削除します-セッションはまだ存在します。データのみが切り捨てられます。
したがって、メモリを解放したい場合は、session_destroyが最適です。
私が知っている最善の解決策は、session_regenerate_id(true);
これにより、現在のセッションデータが削除され、セッションIDが再生成されます。
新しいセッションIDを割り当てることは、ユーザーを完全に新しいものとして扱うのに役立つため、良い考えです(コード内の何かがセッションIDに依存している場合)。
このsession_unset()
関数は、現在登録されているすべてのセッション変数を解放します。つまり、これを行います:
unset($_SESSION);
$_SESSION = array();
このsession_destroy()
関数はセッション全体を無効にします!セッションは行われていません。