我有一个控制面板,允许管理员输入有关用户的特定搜索条件以进行审核。我几乎不敢在这里承认这一点,因为我肯定会收到反对意见,但是在这个页面上,管理员可以查找用户密码,因此他们可以作为审核目的登录。所以在你撕掉一个新的之前,让我说我已经用sha1
和独特的盐完成了每个人密码的散列!
话虽如此。我想让管理员能够“成为”用户或登录他们选择的任何用户。
我正在寻找最简单,最安全的方法来解决这个问题。请告诉我您可能需要的任何信息,以便您能够更好地回答我的问题。
提前致谢。
答案 0 :(得分:5)
我在设计高中网站时这样做了。我允许员工作为另一个用户“代理”。但是,他们只需输入用户名,然后就会模拟该用户的会话。他们永远不会在任何时候访问密码。
我有一个$USER
对象和一个$SESSION
对象。 $USER
存储了当前活动的用户,$SESSION
存储了实际登录的用户。通常,它们是相同的,但如果用户被代理为另一个用户,那么$USER->username
将不等于$SESSION->username
,这将允许我显示一条横幅,上面写着“你被代理为USER,要恢复您的会话,请单击此处“
答案 1 :(得分:1)
没有办法规避管理员可能以其他用户身份登录的任何损害。换句话说,在技术层面,这是不可行的。你必须确保你信任你所有的管理员足以给他们这种力量。
我假设这是你所指的那种安全性。如何实际实现这种行为是一个不同的问题,如果这是你的意思,请纠正我。