session 的产生过程
浏览器发出请求后,如果是跳转到默认jsp 页面,jsp 页面会直接产生一个session,原因是jsp 本质是一个servlet,自动产生内置对象session(源代码是通过调用getSession() 方法产生的);
如果访问的是servlet,则当request 对象调用了getSession() 或者getSession(true) 时,才会产生session。
另外,tomcat重启后,会通过文件维护session,进行序列化和反序列化,还在存活期的session不会销毁,仍然存在,
可以通过修改服务器配置文件来变更。
统计session的个数,来实现在线人数的统计
可以使用session 监听器,监听session 的产生和销毁,来维护一个人数的全局变量,然后提供变量的get() 方法。
登陆密码的加密
前端使用md5 加密传送给后台(防止通过浏览器工具直接查看到密码的明文),如果用户记住密码自动登陆,则把账号和加密的密码写到浏览器的本地cookie。
安全性问题:如果用户通过请求模拟工具,直接将cookie 里或者浏览器查看到的账号及加密密码传到后台,不通过前台页面,这样也可以登陆,不安全。
解决思路:可以采用非对称加密算法,比如RSA加密算法,前台使用公钥加密,后台使用私钥解密。