版权声明

由于原作者(@蓝色火焰E)学业原因,很长时间未更新。
本人(@投江的鱼)在使用此开源项目的情况下
自愿承担并更新和维护此项目(版本号v0.12),原作者享有所有权利!

更新记录

v0.18-yu-released 2017-10-02
更新内容
修复管理页面无法正常跳转到贴的问题
新增管理页面当前账号隐私屏蔽
新增全站SSL,默认关闭(实验性功能)
v0.17-yu-released 2016-12-22
更新内容
后台隐藏操作人按钮、操作人面板
v0.161-yu-released 2016-11-13
更新内容
1.紧急更新操作人查询按钮失效问题(打包的源码已更新)
v0.16-yu-released 2016-11-10
更新内容:
1.去掉通过操作人查询删帖记录面板(2处)
2.去掉吧主app广告悬浮框
3.修复因吧务后台改版引起的排版问题

此博文仅限于交流分析,本人对此不承担任何责任。

功能详解

吧务后台需要公开展示功能模块:

  • 索引页(主页):index
  • 贴子管理日志:listPostLog
  • 用户管理日志:listUserLog
  • 吧务管理日志:listBawuLog

吧务后台公开功能分析截图

    功能分析:

  • 仅允许用户通过发贴人ID查询记录。
  • 隐藏全部操作人
  • 去掉不需要公开展示的模块(404)

功能实现详解

1.首先我们需要吧务后台实现实现隐藏操作人查询和全部操作人面板的展示(防止被部分吧友通过后台恶意报复操作人,故而隐藏操作人是个明智的选择)。由于后台需要匹配多级div标签,如果采用后台过滤,操作麻烦且消耗服务器资源。故而我们通过前台js命令来实现隐藏操作人查询和全部操作人面板

注意:还有每一个贴子后面的操作人需要隐藏!这个功能并不复杂,我们交给后台处理即可!

吧务后台前台隐藏实现
如图:我们通过DOM分析得到需要去掉的功能的js代码:

$(".menu_options_list").last().remove();
$("[name=stype]").parent().next().remove();

事实上,上面的代码可以更精简的写为:

$(".limit_list").remove();
$("label")[1].remove();

注意:为防止csrf,新版本中已经弃用前台移除的方式,改用后台过滤。
2.隐藏单个贴子操作人显示。经过前台分析,可以很轻松的发现贴子操作人是以

<a href="#" class="ui_text_normal">操作人ID</a>

这种形式出现的。那么我们只需要在后台用正则进行过滤。

 preg_replace_callback('/<a href="#" class="ui_text_normal">[^<]+</a>/', function () {return '<span class="ui_text_normal"><strong>Hidden</strong></span>';}, $res);

好啦。功能分析就到这里啦。
打开源码,找到config.php
修改

define('BDUSS', '这里改成你的BDUSS');
define('KW', '这里填上ID有权限的吧名');

不要用记事本修改哦,出错了可不要找我呢!

源码就在下面,赶快快去试试吧~
[reply]吧务公开后台-v0.18
密码:帅B[/reply]