wajxy_password_access
插件简介
wajxy_password_access 是面向 XIUNOX 1.1 的帖子密码访问插件。主题作者可以为帖子设置独立访问密码;未验证用户只能看到标题和密码提示,不会获得正文、附件及回复内容。
当前版本:
1.0.5兼容版本:XIUNOX
1.1插件目录:
wajxy_password_access作者:金小颖论坛
主要功能
发帖或编辑主题时启用密码访问。
帖子访问密码只保存单向哈希,不保存明文。
默认允许输入 3 次;达到上限后锁定当前用户 24 小时。
锁定到期后自动恢复输入机会。
可设置作者免密、管理组免密。
后台查看成功、失败和锁定记录。
后台支持解锁用户、删除访问记录,并实时复位数量。
密码输入错误时显示剩余次数,3 秒后自动返回输入界面。
PC 与移动端使用响应式界面。
安装与升级
新安装
将压缩包中的
wajxy_password_access/解压到站点plugin/目录。在后台插件管理中安装并启用“帖子密码访问”。
打开插件设置页,确认尝试次数、锁定时长和免密策略。
清理 XIUNOX 的
tmp/编译缓存后刷新前后台页面。
覆盖升级
备份数据库与旧插件目录。
使用新版本目录完整覆盖
plugin/wajxy_password_access/。在后台执行插件升级;
upgrade.php会通过SHOW COLUMNS+ALTER TABLE幂等补齐字段。清理
tmp/route_*.php、tmp/model_*.func.php、tmp/view_htm_*.htm等编译缓存。浏览器硬刷新,避免旧 JS/CSS 缓存。
使用方法
为主题设置密码
进入发新帖或主题编辑页面。
开启“启用帖子密码访问”。
输入访问密码并提交。
编辑已保护主题时,密码留空表示保持原密码;关闭开关会解除保护。
管理访问记录
后台插件设置页的“访问记录”Tab 提供:
查看用户、主题、失败次数和锁定状态;
解锁用户,让用户重新获得密码输入机会;
删除访问记录;
删除后立即按数据库实际结果刷新两处数量徽章。
默认配置
配置 | 默认值 | 范围 |
|---|---|---|
启用插件 | 是 | 开/关 |
允许尝试次数 | 3 次 | 1–10 次 |
锁定时长 | 24 小时 | 1–168 小时 |
作者免密 | 是 | 开/关 |
管理组免密 | 是 | 开/关 |
数据表
{$tablepre}wajxy_password_access_thread:主题密码哈希。{$tablepre}wajxy_password_access_log:用户验证、失败次数和锁定记录。
卸载脚本会删除以上两张表,并执行 setting_delete('wajxy_password_access')。
安全说明
帖子访问密码通过
password_hash()保存,通过password_verify()校验,不保存明文。本插件不读取或验证用户账号密码,也不替代 XIUNOX 登录;因此账号密码的
md5(md5(明文)+salt)与user_login_verify()条款不适用于帖子访问密码。所有插件 POST 入口执行 CSRF 校验;插件自有 POST 表单输出
CsrfService::input()。密码参数使用
param(..., '', FALSE),避免特殊字符被 HTML 转义。密码尝试按
tid + uid使用 MySQLGET_LOCK串行化,防止并发绕过次数限制。htmx 验证接口成功与失败均返回纯 HTML 片段。
升级记录
1.0.5
增加完整规范自检。
upgrade.php改为幂等字段迁移。移除
@filemtime错误抑制,改用function_exists()与is_file()守卫。htmx 密码验证成功与失败统一返回纯 HTML 片段。
新增插件介绍和自检清单。
1.0.4
访问记录数量改为实时 SQL 统计。
删除记录后由后端返回实际剩余数量。
1.0.3
删除记录后同步更新数量徽章。
1.0.2
登录按钮跟随前台主按钮字体颜色。
1.0.1
修复 Tab 数量对比度;增加记录删除与密码错误倒计时。
1.0.0
初始版本。

帖子密码访问 wajxy_password_access_v1.0.5【插件】
