【问题标题】:Secure way of showing/spawning an element if user is admin如果用户是管理员,则显示/生成元素的安全方式
【发布时间】:2020-05-08 18:20:15
【问题描述】:

我一直在研究如何安全地生成/加载/附加元素。

在我的项目中,有一个管理面板只有在管理员用户登录时才应该加载(在主网站/页面中)。

从我环顾四周,人们说客户端无法访问 .php 文件(我认为响应除外),所以在身份验证方面,我没有问题。

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

如何向客户隐藏这些信息?是否可以使用某种加密或其他方式来加载元素?

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

【问题讨论】:

    标签: javascript php security web admin


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 2020-11-13
      相关资源
      最近更新 更多