How to implement a PHP session timeout on your own


 
 

To Implement a session timeout on your own,  you can use a simple time stamp that denotes the time of the last activity and update it with every request.

You can also use an additional time stamp to regenerate the session ID periodically to avoid attacks on sessions.

Enjoy the code!


  1. if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
  2. // last request was more than 30 minutes ago
  3. session_unset(); // unset $_SESSION variable for the run-time
  4. session_destroy(); // destroy session data in storage
  5. }
  6. $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp
  7.  
  8. /*
  9. You can also use an additional time stamp to regenerate the session ID periodically to avoid attacks on sessions like session fixation:
  10. */
  11. if (!isset($_SESSION['CREATED'])) {
  12. $_SESSION['CREATED'] = time();
  13. } else if (time() - $_SESSION['CREATED'] > 1800) {
  14. // session started more than 30 minutes ago
  15. session_regenerate_id(true); // change session ID for the current session an invalidate old session ID
  16. $_SESSION['CREATED'] = time(); // update creation time
  17. }
  18.  
  19. //note that session.gc_maxlifetime should be at least equal to the life time of this custom expiration handler (1800 in this example).

 

 

 

original source & credits

 
 

tags: php webdev


Comments area, use one of your social accounts to log-in and post a comment.



Responses to the post

search post

Recent from the blog

What is a DDOS attack and tools used

What is a DDOS attack and tools used

What Is a Denial of Service Attack or DOS? A DOS…

PHP:How To Upgrade to PHP 7 on Ubuntu 14.04

PHP:How To Upgrade to PHP 7 on Ubuntu 14.04

Introduction PHP 7, which was released on December 3, 2015, promises…

Ideas shaping web design today

Ideas shaping web design today

Web design in order to succeed needs two things: innovation…

Best tools for creating infographics

Best tools for creating infographics

Creating infographics using online tools has never been easier. In the…

PHP7: Guide and References to all the changes between version 5.x and 7 of PHP

PHP7: Guide and References to all the changes between version 5.x and 7 of PHP

PHP 7 was released on December 3rd, 2015. It comes with…

How To Install PHP7 On The Main OS's

How To Install PHP7 On The Main OS's

Installing PHP 7.0.0 is easier than ever.  Here are instructions…

6 Free Film Effect Photoshop Actions

6 Free Film Effect Photoshop Actions

Film and graphic lovers rejoice! Today we give us this…

Guide: Install Free SSL Certificate On Your Website with Let's Encrypt

Guide: Install Free SSL Certificate On Your Website with Let's Encrypt

Let's Encrypt – an initiative run by the Internet Security…

NEWSLETTER

Ma-No's Projects

SOCIAL

We use our own cookies and third-party cookies to improve our services, show products based on your preferences, analyse the browsing habits of our users, and enable interaction with social networks. Continuing to browse our sites implies full acceptance of their use. You can change your cookie setting or get more information here: Cookies policy .