How can PHP session variables be securely handled in login scripts to prevent unauthorized access?

To securely handle PHP session variables in login scripts, it is essential to use proper session management techniques such as regenerating session IDs, setting session cookie parameters securely, and validating user credentials before setting session variables.

// Start the session
session_start();

// Regenerate session ID to prevent session fixation attacks
session_regenerate_id(true);

// Set session cookie parameters for secure transmission
session_set_cookie_params([
    'httponly' => true,
    'samesite' => 'Strict'
]);

// Validate user credentials before setting session variables
if ($valid_user) {
    $_SESSION['user_id'] = $user_id;
    // Other session variables can be set here
} else {
    // Handle invalid credentials
}