密码:
保证密码强度(OWASP策略)——不使用公开信息作为密码——不可逆加密算法加密后保存在数据库——彩虹表(密码与MD5值对应的一个大型数据库)——生成密码的MD5值时增加salt项可以防御彩虹表
单因素认证——多因素认证
1.Session与认证
密码等方式验证登录通过后,为了避免每次浏览器请求都输入验证信息,从而引入一个对用户透明的凭证,即session。
服务器维护所有在线用户的SessionID,每个用户访问服务器时只需将自己的ID告诉服务器,服务器就可以为用户提供服务并区分不同用户。
例子:
第一次登录,请求中无cookie:
php通过session_start();
即可随机创建一个sessionID,再次登陆时,浏览器就会将该SessionID发送给服务器:
php默认会将生成的SessionID以文件的形式保存,保存路径等可在php.ini中改变session.save_path的值来设置
Session Fixation:如果用户登录前后,用户的SessionID没有变化,则会存在该问题。
上面例子中,SessionID保存在co