Passport 是一款为 Typecho 博客系统精心设计的安全扩展,致力于提供密码找回与重置功能。它支持多种主流人机验证系统,并内置强大的安全机制,是保障您的网站登录安全的第一道防线。 本项目遵循 GPLv2 协议,完全免费开源。
插件演示

特点介绍
| 特性 | 描述 |
|---|---|
| 高安全令牌机制 | 基于 HMAC-SHA256 签名校验,使用密码学安全随机数生成令牌,杜绝可预测性和篡改。 |
| 防暴力破解 | 基于 IP 的请求速率限制和自动临时封禁,有效抵御暴力破解和邮件滥用。 |
| 多重人机验证 | 无缝集成 Google reCAPTCHA v2、hCaptcha 和 Geetest v4,并强制使用 HTTPS安全通讯协议。 |
| 强密码策略 | 强制要求新密码包含大写、小写、数字及特殊字符。 |
| 专业兼容性 | 插件架构遵循 Typecho 最佳实践,兼容 PHP 7.2+ 及 Typecho 1.2+。 |
| 可视化管理 | 后台提供风险日志预览和一键解封功能。 |
安装教程
- 文章底部下载插件压缩包
- 解压后将文件夹放置于 Typecho 插件目录 /usr/plugins/,并命名为 Passport
- 登录 Typecho 后台,进入「控制台」->「插件」,启用 Passport - 密码找回插件
根据提示进入插件配置页面,完成以下关键设置:
- 配置 SMTP 服务信息 (用于发送重置邮件)。
- 选择并配置 人机验证类型与密钥 (强烈推荐启用)。
- 检查并保存自动生成的 HMAC 安全密钥。
- 保存配置后,找回密码功能即可通过路由 /passport/forgot 和 /passport/reset 访问
在登录页显示
若要在 Typecho 默认登录页 (admin/login.php) 添加“忘记密码”链接,请参考以下代码并手动插入到相应模板文件:
// 找到这里 (位于 admin/login.php 底部)
<?php if($options->allowRegister): ?>
•
<a href="<?php $options->registerUrl(); ?>"><?php _e('用户注册'); ?></a>
<?php endif; ?>
// 在其下方插入以下代码
<?php
$activates = array_keys(Typecho_Plugin::export()['activated']);
if (in_array('Passport', $activates)) {
echo '• <a href="' . Typecho_Common::url('passport/forgot', $options->index) . '">' . '忘记密码' . '</a>';
}
?>
