如果用户是管理员,showing/spawning 元素的安全方式

Secure way of showing/spawning an element if user is admin

我一直在研究如何安全地spawn/load/append一个元素。

在我的项目中,有一个管理面板 只应在管理员用户登录时加载 (它存在于主 website/page 中)。

根据我的观察,人们说 .php 文件无法被客户端访问(我认为除了响应),所以在身份验证方面,我没有问题。

但是,在 AJAX 请求 returns 'true' 之后,例如,我的 .js 文件将包含用于附加或加载所需代码的代码。由于 Javascript 显示给客户端,恶意用户只需快速浏览一下,看看他必须注入什么才能访问此面板(我想这对有经验的黑客来说很容易).

如何向客户隐藏此信息?我可以使用某种加密方式或其他方式来加载元素吗?

P.S:我知道创建管理页面可能比将其包含在主网站中更安全,但请记住这是我最后的选择。

你是对的,数据流可以被客户端操作。但这是正确的。当他试图查看此面板上的数据时,您需要在 php 端有一个中间件,它会在每个 AJAX-Request 检查他是否已通过身份验证以查看数据。如果不是您的服务 returns,例如 401 或 403。有了这个,他只能看到没有数据的面板。因此,您的后端必须在每次请求时检查他是否已通过身份验证。例如,如果消费者已通过身份验证,您可以在 session 或 header 中查找。这是一种常见的方式。