What are the best practices for handling session variables in PHP scripts?

Session variables in PHP scripts should be handled securely to prevent unauthorized access or tampering. It is recommended to start the session at the beginning of each script and regenerate the session ID periodically to prevent session fixation attacks. Additionally, sensitive data should not be stored directly in session variables but encrypted or hashed before being stored.

<?php
// Start the session
session_start();

// Regenerate the session ID periodically
if (rand(1, 100) <= 5) {
    session_regenerate_id(true);
}

// Encrypt or hash sensitive data before storing in session
$_SESSION['user_id'] = encryptData($user_id);

// Function to encrypt data
function encryptData($data) {
    return openssl_encrypt($data, 'AES-256-CBC', 'secret_key', 0, '16charactersiv');
}
?>