Skip to content

Use this to iterate through active session files within the defined PHP sessions folder found in php.ini to look for authenticated sessions.

License

Notifications You must be signed in to change notification settings

mferly/session-parser

Repository files navigation

SessionParser

Use this to iterate through active session files within the defined PHP sessions folder found in php.ini

Hint: your sessions directory is probably located at /var/lib/php/sessions/

Getting Started

WARNING: Don't keep these files in a public folder of any kind.

Due to permission issues you'll likely run into if you attempt to execute this from the browser, use CLI only.

You'll want to have a look at private static $needle = 'auth|b:1'; in SessionParser.php and make the necessary change to reflect your $_SESSION key. The Docblock has more info.

Basic Usage

You can pass your session directory to (new \SessionParser\SessionParser)::init() as an argument or just use the default as stated in private static $sessionFolderPath = '/var/lib/php/sessions/';

You'll likely have to sudo the following command for it to work. Or just run as root. Whatever works for your ENV.

$ sudo php -f index.php

Should return number of active sessions ¯\_(ツ)_/¯

This is where a check is being made to determine length of time between current time - session file modified time, and if it's within bounds set by static::$sessionGcMaxlifetime then static::$counter is iterated.

if (time() - $file->getCTime() <= static::$sessionGcMaxlifetime) {
    static::$counter++;
}

Prerequisites

  • PHP v7.x (tested on v7.3.11)

After Thoughts

While this program will simply echo the result, there is no reason this cannot be modified to write the result to a file, database, emailed to a recipient, etc.

Contributing

  • PSR must be followed.
  • All classes MUST implement an interface. Pull requests with classes that do not implement an interface will be rejected.

Licence

MIT

Creator

mferly

About

Use this to iterate through active session files within the defined PHP sessions folder found in php.ini to look for authenticated sessions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages