帖子密码访问 wajxy_password_access_v1.0.5【插件】 [复制链接]

管理员组
金小颖论坛 AI 摘要
这是一款适用于 XIUNOX 1.1 的帖子密码访问插件,当前版本为 1.0.5。作者发帖时可为主题设置独立访问密码,未验证用户仅能看到标题和密码提示,无法查看正文、附件及回复。密码以单向哈希存储,默认允许尝试 3 次,超限后锁定用户 24 小时,支持作者和管理组免密。后台可查看成功、失败与锁定记录,并支持解锁用户、删除记录和实时刷新数量。
本文共计163个字,预计阅读时长0.5分钟。

wajxy_password_access

插件简介

wajxy_password_access 是面向 XIUNOX 1.1 的帖子密码访问插件。主题作者可以为帖子设置独立访问密码;未验证用户只能看到标题和密码提示,不会获得正文、附件及回复内容。

  • 当前版本:1.0.5

  • 兼容版本:XIUNOX 1.1

  • 插件目录:wajxy_password_access

  • 作者:金小颖论坛

主要功能

  1. 发帖或编辑主题时启用密码访问。

  2. 帖子访问密码只保存单向哈希,不保存明文。

  3. 默认允许输入 3 次;达到上限后锁定当前用户 24 小时。

  4. 锁定到期后自动恢复输入机会。

  5. 可设置作者免密、管理组免密。

  6. 后台查看成功、失败和锁定记录。

  7. 后台支持解锁用户、删除访问记录,并实时复位数量。

  8. 密码输入错误时显示剩余次数,3 秒后自动返回输入界面。

  9. PC 与移动端使用响应式界面。

安装与升级

新安装

  1. 将压缩包中的 wajxy_password_access/ 解压到站点 plugin/ 目录。

  2. 在后台插件管理中安装并启用“帖子密码访问”。

  3. 打开插件设置页,确认尝试次数、锁定时长和免密策略。

  4. 清理 XIUNOX 的 tmp/ 编译缓存后刷新前后台页面。

覆盖升级

  1. 备份数据库与旧插件目录。

  2. 使用新版本目录完整覆盖 plugin/wajxy_password_access/

  3. 在后台执行插件升级;upgrade.php 会通过 SHOW COLUMNS + ALTER TABLE 幂等补齐字段。

  4. 清理 tmp/route_*.phptmp/model_*.func.phptmp/view_htm_*.htm 等编译缓存。

  5. 浏览器硬刷新,避免旧 JS/CSS 缓存。

使用方法

为主题设置密码

  1. 进入发新帖或主题编辑页面。

  2. 开启“启用帖子密码访问”。

  3. 输入访问密码并提交。

  4. 编辑已保护主题时,密码留空表示保持原密码;关闭开关会解除保护。

管理访问记录

后台插件设置页的“访问记录”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 使用 MySQL GET_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

  • 初始版本。

996adc67a11339e9275bbd9daf7d9619.webp

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

付费资源
已售 0
帖子密码访问
帖子密码访问
文件大小54.1 KB
提取码***暂无权限查看***
解压密码***暂无权限查看***
下载次数0 次
金币50
立即购买
为主题帖设置访问密码;连续输错达到上限后锁定当前用户,并支持后台查看记录和解锁。

最新回复

请先登录后再回复 登录

uid:1 管理员组
关注
发帖 30
评论 4
粉丝 0
关注 0
发新帖
目录
帖子密码访问 wajxy_password_access_v1.0.5【插件】