ブラウザが開いている場合でもセッションを完全に終了する方法
ユーザーが Web サイトからログアウトしてもブラウザを開いたままにした場合、セッションが完全に終了していることを確認することが重要です。ただし、session_start()、unset($_SESSION)、session_unset()、および session_destroy() を使用する従来のメソッドは、このタスクには十分ではない可能性があります。
PHP ドキュメントによると、セッションを完全に終了するには、セッション IDも削除する必要があります。セッション ID の送信に Cookie が使用されている場合は、Cookie を消去する必要があります。これを実現するには setcookie() を使用できます。
以下は PHP マニュアルから借用した包括的な例です。
<code class="php"><?php // Initialize the session. // If you use session_name("something"), recall it here! session_start(); // Remove all session variables. $_SESSION = array(); // Delete the session cookie if necessary to terminate the session. // Warning: This action destroys the session, not just its data! if (ini_get("session.use_cookies")) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] ); } // Finally, destroy the session. session_destroy(); ?></code>
この更新されたアプローチに従うことで、これにより、ユーザーがブラウザを開いたままにしても、ユーザーの機密情報が確実に保護されます。
以上がPHP セッションを完全に終了し、ユーザー データを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。