前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TestUser一款Typecho演示账号插件

TestUser一款Typecho演示账号插件

作者头像
泽泽社长
发布2023-05-04 09:10:07
2880
发布2023-05-04 09:10:07
举报
文章被收录于专栏:泽泽社泽泽社

TestUser

Typecho演示账号插件,能够让某个账号可以预览后台全部内容但不允许修改任何内容,针对Tepass插件后台界面屏蔽,避免支付信息泄露。同时测试账号支持多人同时登录不会互相挤掉线。

插件设置
插件设置

插件设置

插件灵感

Typecho插件里好像没有演示账号插件,比如我是个臭卖主题的,搭建了主题演示站,但游客也只能看到前台却看不到主题设置等页面,但是如果给用户管理员账号的话,用户是可以浏览后台任意内容了,但缺点就是也可以修改任意内容了,这十分危险,所以就搞了个这个插件出来,这个插件可以让设定好的账号访问浏览后台任何内容,但不可以修改。

存在的小瑕疵

在后台主题设置界面里按照标准typecho主题设置语法弄主题设置不会有任何问题,但是如果是自己弄得一些特殊设置,比如我弄了个上传功能如下图,测试账号就能上传上去(感谢群友和坛友的测试)。

上传图片功能
上传图片功能

上传图片功能

当然也是有解决办法的,需要主题针对性写个判断,代码如下:

代码语言:javascript
复制
Typecho_Widget::widget('Widget_User')->to($user);
$db = \Typecho\Db::get();//连接数据库
$u = $db->fetchRow($db->select()
            ->from('table.users')
            ->where('uid = ?', $user->uid)
            ->limit(1));
if($u['group']!='administrator'){
echo '您的权限不够!';
exit;
}

原理就是从数据库里查询当前用户用户组进行判断就可以解决,插件原因使用$user->pass('administrator', true)判断没有用,故查数据库进行判断。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TestUser
  • 插件灵感
  • 存在的小瑕疵
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档