nestboxphp/titmouse

使用内置密码最佳实践进行用户注册和会话管理。

v0.0.4-alpha 2024-06-01 17:02 UTC

This package is auto-updated.

Last update: 2024-09-06 16:43:58 UTC


README

一个用户管理界面,可以注册、登录和注销用户,同时遵守密码处理的标准安全实践。

用法

Titmouse 需要 Nestbox 来运行

设置

方法

注册用户

注册用户并关联一个新的登录哈希值。

$tm->register_user(array $userData, string $password): bool
  • $userData: 包含键 => 值对的数组,其中键是用户表中任意列的名称,值是要存储在该列中的数据。
  • $password: 用户将用于登录的纯文本密码。

选择用户

从用户表中选择用户。

$tm->select_user(string $user): array
  • $user: 被选择用户ID的字符串值

登录用户

登录用户,并将用户数据加载到 $_SESSION 变量中。为了额外的安全性,如果已识别并可用更新和/或更好的哈希算法,它将自动重新哈希给定的密码。

$tm->login_user(string $user, string $password, bool $loadToSession = true): array
  • $user: 要登录的用户名的字符串值
  • $password: 用户密码的纯文本字符串值
  • $loadToSession: 布尔值,确定是否将用户数据加载到使用 sessionKey 设置值的 $_SESSION 变量中

更新用户

使用给定数据更新用户数据表中的用户。

$tm->update_user(string $user, array $userData): int
  • $user: 要在用户表中更新的用户名的字符串值
  • $userData: 包含键 => 值对的数组,其中键是存储值的列的名称

加载用户会话

将数据数组加载到 $_SESSION 变量的 sessionKey 键中。

$tm->load_user_session(array $userData): void
  • $user: 要存储在 $_SESSION 变量下的 sessionKey 键中的键 => 值对数组

注销用户

清除所有 $_SESSION 用户数据下的 sessionKey 键,同时保留任何其他剩余的 $_SESSION 数据完整

$tm->logout_user(): void

验证电子邮件

进行中

$tm->verify_email(): bool

更改密码

$user 的当前密码更改为 $newPassword 的新哈希值。如果成功返回 true,否则返回 false

$tm->change_password(string $user, string $newPassword): bool
  • $user: 要更新密码的用户字符串值
  • $newPassword: 用于的新密码的纯文本字符串值