Adamhumbug Posted September 5, 2023 Share Posted September 5, 2023 Hi All, I am creating a session with session_start() How do i also set the samesite atribute and set a time limit on how long the session is valid for. When a user visits any page on the site the time limit should be reset to max. After 15 mins of inactivity the session should end. Quote Link to comment https://forums.phpfreaks.com/topic/317253-create-session-with-expirey-that-updates-on-each-refresh/ Share on other sites More sharing options...
maxxd Posted September 5, 2023 Share Posted September 5, 2023 You can set the life of the session when you call session_start(). Quote Link to comment https://forums.phpfreaks.com/topic/317253-create-session-with-expirey-that-updates-on-each-refresh/#findComment-1611614 Share on other sites More sharing options...
Zooapk Posted September 5, 2023 Share Posted September 5, 2023 To create a session with session_start() in PHP while setting the SameSite attribute and implementing a time limit for session validity, you can use the following code as a starting point: <?php // Start the session session_start(); // Set the SameSite attribute to 'Lax' or 'Strict' (choose one) $cookieOptions = [ 'samesite' => 'Lax', // or 'Strict' ]; // Set the session cookie options session_set_cookie_params([ 'lifetime' => 900, // 15 minutes (15 minutes * 60 seconds) 'path' => '/', 'domain' => 'yourdomain.com', // Replace with your domain 'secure' => true, // Use true if your site is served over HTTPS 'httponly' => true, 'samesite' => $cookieOptions['samesite'], ]); // Reset the session expiration time on every page load if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 900)) { // 15 minutes of inactivity, destroy the session session_unset(); session_destroy(); } else { $_SESSION['LAST_ACTIVITY'] = time(); } // Your code here... ?> Quote Link to comment https://forums.phpfreaks.com/topic/317253-create-session-with-expirey-that-updates-on-each-refresh/#findComment-1611616 Share on other sites More sharing options...
Solution kicken Posted September 5, 2023 Solution Share Posted September 5, 2023 1 hour ago, Zooapk said: you can use the following code as a starting point If you want to change the session cookie parameters, you need to do so before you call session_start(), not after. Quote Link to comment https://forums.phpfreaks.com/topic/317253-create-session-with-expirey-that-updates-on-each-refresh/#findComment-1611617 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.