https://github.com/mferly/session-parser
Use this to iterate through active session files within the defined PHP sessions folder found in php.ini to look for authenticated sessions.
https://github.com/mferly/session-parser
namespaces-php oop php php7 php73
Last synced: 11 months ago
JSON representation
Use this to iterate through active session files within the defined PHP sessions folder found in php.ini to look for authenticated sessions.
- Host: GitHub
- URL: https://github.com/mferly/session-parser
- Owner: mferly
- License: mit
- Created: 2019-11-23T00:04:12.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-01T02:48:27.000Z (over 5 years ago)
- Last Synced: 2025-01-19T20:23:49.709Z (about 1 year ago)
- Topics: namespaces-php, oop, php, php7, php73
- Language: PHP
- Homepage:
- Size: 66.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](#getting-started)
* [Basic Usage](#basic-usage)
* [Prerequisites](#prerequisites)
* [After Thoughts](#after-thoughts)
* [Contributing](#contributing)
* [Licence](#licence)
* [Creator](#creator)
## 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.
```php
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](https://www.php-fig.org/) must be followed.
* All classes **MUST** implement an interface. Pull requests with classes that do not implement an interface will be rejected.
## Licence
[MIT](https://opensource.org/licenses/MIT)
## Creator
[mferly](https://www.reddit.com/user/mferly)