我的任务是尝试修复网络服务器中的会话管理问题。代码用c编写,非常古老。会话仅限于为新会话创建文件夹,并在顶部运行一个小PHP脚本并检查SID是否对登录用户有效。
然而,程序的工作方式SID存储在URL中!所以任何复制粘贴都会导致会话劫持。现在我被告知不可能改变SID存储在URL中的事实。由于某些客户在其浏览器中具有高安全性设置,因此无法使用Cookie,这也无法更改。我能想到的唯一的事情是URL重写将SID存储在一个隐藏的字段中,但我仍在等待我的经理提供的信息,我认为这不可能,因为HTML文件是预先编写的,我不认为可以为它们添加隐藏字段,也许这可以通过服务器程序动态完成,我不确定。我的最后一个想法是使用令牌,或者只是在找到不同的IP地址或用户代理字符串时开始新的会话,即使它具有有效的SID。
我对网络安全的了解并不多,我在大学的一个安置年,主要是C编程,但是我已经把这项任务作为一个小方面的项目,我想尝试用它来完成。
你们有没有指点? 我知道我一直模糊不清,我不允许发布任何代码:(抱歉 感谢您提前帮助。
答案 0 :(得分:0)
即使已经存在会话管理器,避免会话劫持的唯一方法也是验证客户端的IP地址以及可选的用户代理字符串。任何其他建议只是为了默默无闻,但如果有人决定尝试入侵您的应用程序,则不会产生任何影响。