zatree插件优化:优化左侧边栏

简介:

zatree是监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序。

zatree项目地址https://github.com/spide4k/zatree,安装方法进到不同版本目录看readme

    又发现zatree的一个小问题:在zabbix_config.php配置Admin和密码后,任何普通用户在zatree的左侧栏能看到所有的主机组列表,包括没有权限的那些主机组。

    zatree是用zabbix_config.php中配置的用户和密码来获取主机组列表的,因为配置的是Admin超级用户,自然能获取到全部的主机组了。

    因此优化了zatree左侧边栏,使普通用户只能看到属于自己的主机组列表。原理是zabbix_ajax.php获取cookie中的sessionid,通过这个sessionid获取登录用户的主机组列表。

wKiom1PWE5qzNhesAAEDA8i2LmI205.jpg

    修改方法如下这里针对zatreezabbix-2.2.x版本做修改,方法同样适合zabbix-2.0.x版本

    进入zatree目录,修改以下两个文件:
    第一步:zabbix_ajax.php
传递$_COOKIE['zbx_sessionid']给hostgroupGet(),获取当前用户具有readable权限的主机组列表。

1
         $groups  $zabbixApi ->hostgroupGet( array ( "output"  =>  "extend" "monitored_hosts"  => true));

修改为:

1
2
3
4
5
         if (isset( $_COOKIE [ 'zbx_sessionid' ])){
             $groups  $zabbixApi ->hostgroupGet( array ( "output"  =>  "extend" "monitored_hosts"  => true),  '' $_COOKIE [ 'zbx_sessionid' ]);
         else  {
             $groups  $zabbixApi ->hostgroupGet( array ( "output"  =>  "extend" "monitored_hosts"  => true));
         }

    第二步:ZabbixApiAbstract.class.php
修改2594行hostgroupGet方法,添加$sessionid形参。当传入$sessionid参数时,设置$this->auth的值为$sessionid。

1
2
3
4
5
6
7
8
     public  function  hostgroupGet( $params = array (),  $arrayKeyProperty = '' )
     {
         // get params array for request
         $params  $this ->getRequestParamsArray( $params );
 
         // request
         return  $this ->request( 'hostgroup.get' $params $arrayKeyProperty );
     }

修改为:

1
2
3
4
5
6
7
8
9
10
     public  function  hostgroupGet( $params = array (),  $arrayKeyProperty = '' $sessionid = '' )
     {
         // get params array for request
         $params  $this ->getRequestParamsArray( $params );
 
         // request
         if  (isset( $sessionid ))
             $this ->auth =  $sessionid ;
         return  $this ->request( 'hostgroup.get' $params $arrayKeyProperty );
     }

链接地址:https://github.com/spide4k/zatree/pull/2

    


本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1531637

相关文章
|
运维 监控 负载均衡
介绍一下微服务架构的优缺点
介绍一下微服务架构的优缺点
638 0
|
自然语言处理
如何使用ChatGPT写好简历?如何使用ChatGPT优化简历?21个写简历的ChatGPT的Prompts!
本文提供了一份详细的指南,教导求职者如何根据不同的工作描述和自身经验,创建和优化简历,包括专业摘要、技能强调、成就描述以及如何使简历内容更加突出和有针对性。
369 0
如何使用ChatGPT写好简历?如何使用ChatGPT优化简历?21个写简历的ChatGPT的Prompts!
|
存储 安全 Unix
22 Cookie
路老师在知乎上分享PHP语言的知识,帮助大家入门并深入了解PHP。本文主要介绍Cookie的概念、功能及管理方法,包括如何创建、读取、删除Cookie,以及Cookie的生命周期等内容。纯干货,技术知识分享。
224 0
|
人工智能 Python
人工智能导论——谓词公式化为子句集详细步骤
在谓词逻辑中,有下述定义: 原子(atom)谓词公式是一个不能再分解的命题。 原子谓词公式及其否定,统称为文字(literal)。$P$称为正文字,$\neg P$称为负文字。$P$与$\neg P$为互补文字。 <font color="ddd0000">任何文字的析取式称为子句(clause)。任何文字本身也是子句。</font> 由子句构成的集合称为子句集。 不包含任何文字的子句称为空子句,表示为NIL。 <font color="ddd0000">由于空子句不含有文字,它不能被任何解释满足,所以,空子句是永假的、不可满足的。</font> 在谓词逻辑中,任何一个谓词公式都可以通过应用等
2396 1
人工智能导论——谓词公式化为子句集详细步骤
|
监控 安全 网络安全
.Lockbit3.0勒索病毒来袭:你的数据安全面临挑战
在数字化时代,网络安全威胁日益严峻,勒索病毒作为一类极具破坏性的恶意软件,正成为全球网络安全的重大挑战。Lockbit3.0勒索病毒凭借其高度模块化、隐蔽性强、传播速度快等特点,对个人用户、企业和国家的信息安全构成严重威胁。其高度模块化架构使其更具灵活性和难以检测性,增加了传统安全检测手段的难度。为应对这一挑战,我们需要加强安全意识、安装可靠的安全软件、定期备份数据并加强网络监控。如需数据恢复技术支持,请添加技术服务号(sjhf91)或关注“91数据恢复”。
268 0
|
SQL Java 数据库
5、Mybatis-Plus 常用注解
这篇文章详细介绍了Mybatis-Plus中常用的注解,包括解决实体类与数据库表名不一致、字段不匹配的问题,主键生成策略的配置,以及逻辑删除的实现方法。
5、Mybatis-Plus 常用注解
|
SQL 安全 前端开发
如何做好研发FO角色?
如何做好研发FO角色?角色定位包含哪些能力要求和权利责任,项目过程中包含哪些核心里程碑节点以及交付物,FO对于项目过程管理需要具备哪些把控原则,针对风险和问题的治理手段和干预策略,协作过程的核心动作
1970 0
如何做好研发FO角色?
|
存储 NoSQL 测试技术
记一次业务系统登录报错404问题排查与解决实践
业务系统登录报错404问题排查与解决实践过程记录总结
记一次业务系统登录报错404问题排查与解决实践
|
运维 算法 C语言
2023华为OD机试真题目录,使用C语言进行解答
# 🚀前言 ---- >**本文是[2023华为OD机试真题(C语言)](https://blog.csdn.net/m0_47384542/category_12265421.html?spm=1001.2014.3001.5482)专栏的目录贴(持续更新中......)** >**专栏介绍:<font color="red">定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习</font >** ----- ### 🔰题库列表:华为OD机试真题(C语言)
805 0