【问题标题】:Best Way to Securely Pass Session to Another Browser将会话安全地传递到另一个浏览器的最佳方法
【发布时间】:2011-11-10 21:11:22
【问题描述】:

我知道这不会是安全的。但是,我想至少做一些尝试,尽量少做我需要做的事情。

我们有一个使用 IE 浏览器控件构建的自定义客户端。我不能改变它,改变它不在这个问题的范围内。问题是,如果用户在此应用程序中执行一个弹出打开窗口的操作,它会在 IE 中打开该窗口,而不是客户端应用程序。

我们有一些导出到 CSV 和打开新窗口的打印功能。他们打印或导出的信息取决于访问控制。因此,当窗口在 IE 中弹出打开时,它们并没有登录到 IE;所以没有访问控制。我需要能够将会话传递给 IE,以便用户登录并将适当的信息打印或导出到 csv。

不一定需要诺克斯堡的安保。它不适用于公共网站,也不适用于安全数据。但是,有什么方法可以在不完全忽略所有安全性的情况下实现这一点?

【问题讨论】:

    标签: php session


    【解决方案1】:

    在弹出窗口之前创建一个令牌并将其与当前用户的关系存储在您的数据库中。给令牌一个 60 秒的过期时间(根据需要调整)并将其添加到弹出窗口 url 的末尾。当该 url 被点击时,读取令牌及其与用户的关联。从那里,您应该能够访问您的 ACL 控件。

    您不会转移会话,但您会知道哪个用户正在请求弹出窗口。希望对你有帮助...

    警告:这不是很安全,因为令牌很容易受到中间人攻击。添加过期功能是为了限制这种可能性。这种方法可以被认为是默默无闻的安全性。

    【讨论】:

    • 基本上就是这个。使您的弹出窗口 URL 随机且不可猜测,并确保它们仅通过 SSL 传输。
    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多