上一篇
为什么非管理员后台不显示服务器信息?,怎么办
- 云服务器
- 2026-07-21
- 17
在一些网站管理系统中,后台的“服务器信息”页面(如 PHP 版本、数据库状态、内存使用、磁盘空间等)默认仅对 管理员 角色可见,而 非管理员用户(如编辑、作者、订阅者)登录后台后看不到该页面或相关数据,这是出于 安全策略 和 权限控制 的设计,因为服务器信息可能暴露系统漏洞或配置细节,被低权限用户滥用。


原因分析
- 权限限制:系统通过角色权限(Capability)控制页面访问,WordPress 中 view_site_health_checks 或 manage_options 权限通常只授予管理员。
- 安全隔离:非管理员用户不需要知晓服务器底层信息,避免信息泄露导致攻破面扩大。
- 代码层判断:后台页面在渲染前会检查当前用户角色,若不符合条件则直接隐藏或返回无权限提示。
常见场景(以 WordPress 为例)
| 用户角色 | 能否看到“站点健康”中的服务器信息 | 说明 |
|---|---|---|
| 管理员 | 是(默认) | 拥有所有管理权限 |
| 编辑 | 否 | 编辑权限 |
| 作者 | 否 | 无法访问后台设置区域 |
| 订阅者 | 否 | 只能查看个人资料 |
如何让非管理员查看服务器信息(谨慎操作)
- 使用插件:安装如 “User Role Editor” 或 “Capability Manager Enhanced” 插件,为特定角色添加 view_site_health_checks 或 manage_options 权限。
- 修改代码:在主题 functions.php 中添加用户角色权限, $role = get_role('editor'); $role->add_cap('view_site_health_checks');
- 自定义页面:通过短代码或模板将服务器信息输出到前端,仅对登录用户可见,但需注意风险。
安全建议
- 非必要不开放:服务器信息包含敏感数据(如文件路径、扩展版本),开放给低权限用户可能引入安全风险。
- 区分环境:开发或测试环境可以适当放宽,生产环境务必保持严格限制。
- 日志审计:如果必须开放,建议记录查看行为,便于追踪异常。
相关问题与解答
问题1:为什么非管理员用户看不到服务器信息,而管理员能看到?
解答:这是系统内置的权限隔离机制,管理员拥有最高权限,需要监控系统运行状态;非管理员通常只负责内容创作,无需接触服务器配置,限制显示可以防止敏感信息被无意或恶意泄露,并降低被攻破的风险。

问题2:我想让编辑角色也能看到服务器信息,最好的做法是什么?
解答:推荐使用权限管理插件(如 “User Role Editor”)来为编辑角色添加 view_site_health_checks 权限,这样无需修改代码,操作直观,且可以随时撤销,修改代码虽然更直接,但更新主题或WordPress版本时容易丢失,无论哪种方法,请先评估安全影响,并在非生产环境测试。