axy/htpasswd
Composer 安装命令:
composer require axy/htpasswd
包简介
Working with htpasswd file
README 文档
README
Working with htpasswd file (PHP).
Documentation
The library provides program API for manipulation with htpasswd file (for console utility see axypro/htpasswd-cli).
use axy\htpasswd\PasswordFile; $file = new PasswordFile('/path/to/.htpasswd'); $file->setPassword('nick', 'password'); $file->setPassword('john', '123456'); $file->save();
Currently supported the following algorithms (constants of PasswordFile::*):
ALG_MD5: Apache APR1-MD5 algorithm (by default)ALG_BCrypt: BlowfishALG_SHA1: SHA-1ALG_CRYPT: crypt (unix)ALG_PLAIN: Plain text (not supported of servers on some platforms).
__construct([string $filename])
The constructor takes the name of a htpasswd file.
Or NULL: analogue of the option -n of the console utility:
$file = new PasswordFile(); $file->setPassword('nick', 'password'); $file->getContent(); // out of the "file" content $file->save(); // Exception FileNotSpecified
setPassword(string $user, string $password [, string $algorithm, [array $options]): bool
Sets the password $password for a user $user.
For hashing uses $algorithm (by default Apache MD5).
$options is an array of options for hashing.
Only cost for BCrypt supported (integer in the range 4 to 31)
Returns TRUE if a new user has been created.
And FALSE if has been changed the password of an existing user.
remove(string $user): bool
Removes a user from the file.
Returns TRUE is the user has been removed.
And FALSE if the user was not found.
verify(string $user, string $password): bool
Returns TRUE if a $user exists and has $password as the password.
isUserExist(string $user): bool
Returns TRUE is a user exists in the file.
if (!$file->isUserExist('john')) { echo 'John? I do not known you.'; exit(); } if (!$file->verify('john', 'password')) { echo 'You are not John! You are an impostor!'; exit(); } echo 'Hello, John';
getContent(void): string
Returns the file content (without saving).
save(void): void
Saves the content to the file (if it is specified).
In contrast, from the utility htpasswd (see the option -c) the existing file always changing (not overwritten).
Nonexistent file is created.
setFileName(string $filename): void
Sets a new filename. The content of the old file will be loaded and saved to the new (after save()).
getFileName(void): string
Returns the current specified file name.
Exceptions
In the axy\htpasswd\errors namespace.
InvalidFileFormat: a password file has invalid format.FileNotSpecified: throws fromsave()if the file is not specified in the constructor.
axy/htpasswd 适用场景与选型建议
axy/htpasswd 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 28.57k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2015 年 11 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 axy/htpasswd 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 axy/htpasswd 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 28.57k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-11-29