mferly/session-parser

使用此工具在php.ini中定义的PHP会话文件夹中遍历活动会话文件,查找已认证的会话。

1.0 2019-11-25 19:22 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:33 UTC


README

使用此工具在php.ini中定义的PHP会话文件夹中遍历活动会话文件

提示:您的会话目录可能位于/var/lib/php/sessions/

入门指南

警告:不要将这些文件放在任何类型的public文件夹中。

由于权限问题,如果您尝试从浏览器中执行此操作,则可能会遇到问题,请仅使用CLI。

您需要查看SessionParser.php中的private static $needle = 'auth|b:1';并做出必要的更改以反映您的$_SESSION密钥。文档注释中提供了更多信息。

基本用法

您可以将会话目录传递给(new \SessionParser\SessionParser)::init()作为参数,或者直接使用在private static $sessionFolderPath = '/var/lib/php/sessions/';中声明的默认值。

您可能需要使用sudo运行以下命令才能使其生效。或者直接以root身份运行。根据您的环境选择适合的方式。

$ sudo php -f index.php

应返回活动会话的数量 ¯\_(ツ)_/¯

这里正在检查当前时间与会话文件修改时间之间的时间差,如果它在static::$sessionGcMaxlifetime设置的范围内,则迭代static::$counter

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

先决条件

  • PHP v7.x (在v7.3.11上测试过)

反思

虽然这个程序只是简单地echo结果,但没有理由不能修改它将结果写入文件、数据库、发送电子邮件给收件人等。

贡献

  • 必须遵循PSR
  • 所有类必须实现一个接口。不实现接口的类的pull请求将被拒绝。

许可证

MIT

创建者

mferly