php - 将 session 安全地传递到另一个浏览器的最佳方法

标签 php session

我知道这并不安全。但是,我至少想做出某种尝试,至少做我需要做的事情。

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

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

不一定需要诺克斯堡的安全。它不适用于公共(public)网站,也不保证数据安全。但是,有没有办法在不完全忽略所有安全性的情况下实现这一目标?

最佳答案

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

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

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

关于php - 将 session 安全地传递到另一个浏览器的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086353/

相关文章:

php - SQL INSERT IGNORE 唯一的值组合

PHP API session 与身份验证 token

java - 两个应用程序实例可以与 Hibernate L1 缓存一起使用而不会出现任何数据库同步问题吗?

java - session 感知 : How can I get session attribute from action

ruby-on-rails-3 - Rails 3中浏览器关闭时如何终止 session

php - 使用 xampp (php) 使 aptana 项目文件夹可运行

php - Moodle API - 获取每门类(class)的所有完成情况

php - 在 MySQL 中链接 2 个 ID

php - 在 PHP 中访问事件 session

php - nodejs无法读取phpsessid并返回错误未定义