比方说,用户登录之后,会在浏览器中产生session id,不做处理的话直接www.www.com/index.php?PHPSESSID=32位号码就能直接登录该用户了。
我的想法是给session id md5加密,ID+IP+自定义字符串,发送到服务器端解密之后判断IP是否与上次登录相同。由于没什么经验,不知道有没有更加好的方法来增加session安全,或者说有没有更好的加密方式?
我的想法是给session id md5加密,ID+IP+自定义字符串,发送到服务器端解密之后判断IP是否与上次登录相同。由于没什么经验,不知道有没有更加好的方法来增加session安全,或者说有没有更好的加密方式?
你说的安全问题确实存在,如果不做处理,只要伪造一个与合法用户相同session id就可以直接登录。
解决方法:
在session中存储一个“安全键”(可由IP+用户名+用户密码+随机串),当用户登录成功后,把“安全键”存储到Cookie中。
然后每次访问时都比较Cookie中“安全键”是否与session中的一致(如果不一致则说明session id是伪造的)。