我对不使用SSL的PHP会话安全性感兴趣。通过数据包嗅探保护经过身份验证的PHP会话免受会话劫持攻击
令我惊讶的是,如果一个中间人嗅探用户和服务器之间交换的数据包,即使它被认证,也很容易窃取会话。我知道有一些策略可以限制损失,例如,登录/注销时更改sessionid,记录/检查用户系统参数(例如操作系统,浏览器)。
但是,如果在一个已经过身份验证并且没有注销的会话期间(没有超时的时间),攻击者能够获得会话ID,然后他可以轻易地劫持会话(尽可能我理解这个问题)。
我想到了一种可能的解决方案,在加密的登录验证期间,服务器可以向客户端发送随机会话密码。会话密码仅在该登录会话期间有效。因此,在该会话期间交换的每个消息都必须使用会话密码(例如MD5(会话密码+消息内容))进行签名。
问题是否修复?假设攻击者无法对最初的登录交换进行密码分析,这种方法的缺点是什么?
没有违法,但考虑只使用SSL ......它可能耗资约$ 49 - 每年$ 100,但是它比不必支付开发者维护自定义'安全scheme' –
+1便宜得多。此外,@JoãoSalada,随机会话密码如何在没有SSL的情况下发送? –
没有冒犯! ;)我只是想从头开发我的博客,所以我可以理解这个主要问题。但是当你不需要保密(我的意见)时,使用ssl是一个巨大的矫枉过正。该方案虽然我对看起来很简单,但...这就是为什么我要问,如果它解决了问题,或者是有缺陷的..从保密 – Leaurus