[Discuz插件]附件隐私卫士 – 下载记录权限管控
[Discuz插件]附件隐私卫士 – 下载记录权限管控### 适用版本Discuz! X3.4 / X3.5### 插件简介(一句话)内核级拦截+前端链接智能擦除双重防护,精确控制附件购买/下载记录的查看权限,保护用户隐私和商业数据。### 详细介绍#### 你知道吗?你的付费附件交易记录正在被所有人围观!Discuz 系统默认行为:**任何人**都可以点击附件旁边的”记录”链接,查看这个附件被谁下载了、被谁购买了。这意味着:– **用户隐私泄露**:所有人都能看到谁花钱买了你的资源– **商业数据曝光**:竞争对手可以轻松查看你的付费附件销量– **用户信任受损**:付费用户不希望自己的购买行为被公开**附件隐私卫士** 帮你一键解决这个问题。#### 核心功能**1. 内核级请求拦截(后端防护)**直接拦截 `viewattachpayments` 请求,无权限用户即使直接输入URL也无法查看附件记录。不是弹窗提示,是**直接阻断请求**。**2. 前端链接智能擦除(前端防护)**自动检测并隐藏帖子页面中所有附件”记录”超链接,无权限用户**看都看不到这个按钮**。不只是禁用点击,而是直接从页面上消失。**3. 灵活的权限配置**– 自由勾选哪些用户组可以查看(管理员、版主、VIP等)– 超级管理员(adminid=1)始终拥有查看权限– 不在白名单中的用户组:看不到入口、点不了链接、抓包也拦截**4. 双重防护,无死角**| 攻击方式 | 防护效果 ||———|———|| 点击页面”记录”链接 | ✅ 链接已被隐藏,不存在 || 手动输入/抓包访问URL | ✅ 服务端直接拦截 || 禁用JavaScript后查看 | ✅ 服务端兜底拦截 |**5. 零侵入,安装即用**– 不修改任何Discuz核心文件– 利用Discuz原生钩子机制实现– 安装启用后30秒完成配置– 卸载后恢复系统默认行为,无残留#### 使用场景– **付费资源站**:保护买家隐私,提升付费转化率– **企业内部论坛**:防止部门间信息交叉泄露– **教育培训站**:保护学员的课件下载记录– **任何有付费附件的Discuz站点**#### 常见问题**Q: 安装后会影响附件的正常下载吗?**A: 完全不会。本插件只控制”查看下载/购买记录”的权限,不影响附件的上传、下载、购买等任何操作。**Q: 管理员还能看到记录吗?**A: 可以。超级管理员(adminid=1)始终拥有查看权限,其他用户组可在后台灵活配置。**Q: 支持哪些Discuz版本?**A: Discuz! X3.4 和 X3.5 均支持,兼容 PHP 7.2 ~ 8.x。#### 开发者依星网络 (www.net188.net)—### 需要准备的截图**截图1:问题演示 – 默认情况下记录完全公开**> 说明文字:默认情况下,任何人都可以查看附件的购买和下载记录>> 截图内容:用普通用户账号访问一个有付费附件的帖子,点击附件旁边的”记录”链接,显示出购买/下载记录的弹窗(这是安装插件之前的效果)
**截图2:安装后效果 – 记录链接消失**> 说明文字:安装后,无权限用户看不到”记录”链接,入口直接消失>> 截图内容:同一个帖子,安装并启用插件后,用普通用户账号查看,附件区域的”记录”链接已不存在(与截图1形成对比)
**截图3:强制访问被拦截**> 说明文字:即使手动输入URL,也会被服务端直接拦截>> 截图内容:在浏览器地址栏直接输入 `forum.php?mod=misc&action=viewattachpayments&aid=xxx`,显示”权限不足”的提示页面**截图4:后台配置界面**> 说明文字:后台一键配置,灵活控制权限>> 截图内容:插件设置页面,显示”允许查看的用户组”多选框(管理员、版主等选项)和”隐藏贴内详情超链接”开关
**截图5(可选):管理员仍可正常查看**> 说明文字:管理员权限不受影响,正常查看所有记录>> 截图内容:用管理员账号查看同一帖子,”记录”链接正常显示,点击后弹窗正常展示购买记录
下载地址:http://www.net188.com/thread-27427-1-1.html
附:
# Discuz! 附件记录隐藏权限插件功能说明
## 1. 插件简介
本插件(标识符:`hide_attachpay`)为 Discuz! X3.4 提供了一种精确控制论坛“附件下载/购买详情记录”权限的解决方案。系统默认允许任何人点开附件详情来查看“是谁下载或购买了本附件”,本插件通过硬拦截结合前端界面抹除双重机制,将这一权力收束到指定的用户组中(如:只有全站管理员能看)。
## 2. 核心功能及特性
***全局内核级拦截**
* 拦截 `forum.php?mod=misc&action=viewattachpayments` 这个详情弹窗页的请求。
* 根据后台设置的“白名单”(也就是哪些会员组有权力,默认排除超级管理员本身)判定:如果在白名单之外,直接抛弃请求并输出“权限不足”。
***前端链接智能擦除(隐藏贴内详情超链接)**
* 由于拦截弹出带有警告体验不佳(用户看得见按钮却不让点),本插件开启了一项特色功能——对无权限成员浏览帖子时,网页底部的 JavaScript `global_footer` 控制脚本会在渲染时自动巡检所有页面带有 `action=viewattachpayments` 的可疑超链接。
* 检测到目标超链接后会将其 `display=”none”` 隐藏并删掉前面的竖线符号(`|`),真正实现了“看都看不见就不能点”的极致体验。
## 3. 使用方法
1. 在 Discuz 应用管理中安装“**附件记录隐藏权限**”并开启。
2. 进入插件设置:
***允许查看的用户组**:在这里勾选出依然有权力可以查看下载和消费详情的身份类型。比如:管理员组、各级版主、VIP 会员等。如果都不选,那就只有主神(adminid=1)能看。
***隐藏贴内”详情”超链接**:将单选框设成“是”。
3. 所有权限之外的用户在遇到任何有下载记录的附件附近,其“记录”二字的链接按钮即告消失;即便他们抓包直接访问 URL 执行程序,也会立刻遭逢拦截页面。
🏢 关于我们
Net188 · 互联网技术服务
专注于跨平台应用开发、AI Agent 集成与大模型应用落地。提供从产品设计、开发实施到部署运维的全栈技术解决方案。
🌐 www.net188.net