会话安全性足够java吗?

时间:2015-04-01 16:04:29

标签: java jsp security session

所以我一直在寻找有关会话安全性的一些信息,只能找到与PHP会话相关的信息。

现在我的网络应用程序针对数据库对用户进行身份验证,如果成功,则将其用户对象(一个休眠实体)作为属性放入HttpSession。

我的网络应用,然后验证该属性是否已设置,并将该用户对象用于所有未来的数据库查询,并确认用户已获得授权。

我的网络应用程序将管理小型企业的资金和支付,安全性是我的主要关注点。如果攻击者能够冒充用户,他们就可以退款并取消销售。付款由条带处理,因此卡片详细信息将是安全的,但用户将具有API访问权限以启动退款。

此用户对象设置为HttpSession属性是否足够安全,还是应该添加更严格的安全措施?如果是这样,请建议其他方法来保护用户帐户。

所有会话均通过SSL进行。

谢谢!

3 个答案:

答案 0 :(得分:2)

会话状态保存在服务器端,就像在PHP中一样。会话ID由浏览器作为cookie发送,如在PHP中。可以通过窃取他的会话cookie来冒充用户,但由于流量是使用HTTPS加密的,唯一的方法就是从浏览器内存或服务器内存中窃取它。

答案 1 :(得分:2)

嗯,基本上,在使用Java / PHP或任何其他语言处理财务应用程序时,您绝不应仅依赖会话。通过短信至少使用“一次性”密码作为“退款和取消销售”等关键操作的批准。

支持java会话,拒绝将会话ID存储为请求参数是一个良好的开端 - 对会话固定的第一个也是最容易的保护(将此添加到web.xml):

<session-config>
        <cookie-config>
            <http-only>true</http-only>
        </cookie-config>
    </session-config>

作为复杂的解决方案尝试HDIV http://www.hdiv.org/

答案 2 :(得分:1)

不,您至少需要担心https://www.owasp.org/index.php/Top_10_2013-Top_10

特别是对于您的应用类型,您应首先关注SQL注入,会话修复,CSRF,XSS和不安全的直接对象引用。

我首先要使用像Apache httpd

的ModSecurity这样的Web应用程序防火墙