日期:2014-05-17  浏览次数:20749 次

不接受外部创建的会话标识...sessionId与Ip绑定?...求解
情况是这样的,做了个java WEB项目,已经完工,在提交给客户时,客户用了 IBM Rational AppScan 对网站进行了安全评估扫描,扫描结果中,有个风险是说   不接受外部创建的会话标识  在翻阅相关文档后,感觉还是没能彻底明白到底是什么意思。 会话标识  不久是sessionId嘛,不接受外部创建的会话标识,是不是就是说知道人家的sessionId后,在自己的浏览器中调用相应的URL同时加上人家的sessionID 就能取到别人的数据?那我岂不是要将sessionId和Ip绑定?在程序中实现起来有些难度,我听说可以在web容器中进行配置,请问该如何配呢?(或者我的想法就是错的)。。

我用的jboss4.0 容器  网站采用https协议。  
------解决方案--------------------
顶一下,求高手。学习一下
------解决方案--------------------
理论上sessionID只要正确,就能盗用他人的session。
我们是通过程序控制的,简单的做个MAP,key是session+IP,value是session对象。每次访问先用sessionID+IP拼个key,看能不能取到,不能取到就重定向了。
用户的IP在web服务器上是可以设置的,我们用的nginx,配置了x-forwarded-for的信息,可以通过这个头取IP信息。