在实验web服务器会话管理


Session management in propiearatory webserver

我的任务是试图修复一个web服务器中会话管理的问题。代码是用c编写的,而且相当旧。会话被限制为一个新的会话创建一个文件夹,一个小的php脚本在上面运行,检查SID是否对登录的用户有效。

然而,程序的工作方式是SID存储在URL中!因此,任何复制粘贴都会导致会话劫持。现在我被告知不可能更改SID存储在URL中的事实。这是不可能使用cookie,因为一些客户在他们的浏览器中有很高的安全设置,这也不能改变。我唯一能想到的是URL重写将SID存储在隐藏字段中,但我仍在等待我的经理的信息,我认为这是不可能的,因为HTML文件是预先编写的,我认为不可能向它们添加隐藏字段,也许这可以通过服务器程序在飞行中完成,我不确定。我的最后一个想法是使用令牌,或者只是在发现不同的IP地址或User-Agent字符串时启动一个新的会话,即使它有一个有效的SID。

我真的不太了解网络安全,我在大学实习一年,主要是C编程,但这个任务是作为一个小的副项目,我想尝试和完成一些东西。

你们有什么建议吗?我知道我一直含糊不清,我不允许张贴任何代码:(抱歉谢谢你的帮助。

即使使用已经存在的会话管理器,避免会话劫持的唯一方法也是针对客户机的IP地址和可选的用户代理字符串进行验证。其他任何建议都可能只是为了隐晦,但如果有人决定试图入侵你的应用,就不会有任何效果。