太阳城网上现金网

浏览量:179 时间:2018-08-15

在Web应用中,身份认证机制非常重要,它用于保证信息只被合法授权用户获取和访问。建立强有力的身份认证机制是Web安全的关键之一。有人可能会认为,身份认证机制无非就是确认用户输入的用户名和密码正确与否,如果正确,就允许用户登录,否则就禁止用户登录,非常简单。然而,要设计一个安全的身份认证机制绝不象看起来这样简单,实际上它是一件非常麻烦的事情。现实中,Web应用程序中的身份认证机制通常是最薄弱的环节,攻破身份认证机制,黑客就能获得未经授权的访问。开源Web应用程序安全项目(OWASP)在最近发布的OWASP Top 10 - 2017中继续将失效的身份认证机制作为十大最严重的Web应用程序安全风险榜的第2名。下面我简单列一下设计一个安全的身份认证机制所要考虑的点,暂时不详细描述,以后再用单独的文章来讨论其中的一些点。身份认证机制包括:身份验证(Authentication)会话管理(Session Management)身份验证用于验证用户的真实身份。验证身份时要求用户提供用户名、用户ID或者一个或多个只有用户自己知道的私人信息。会话管理用于维护用户与服务器应用程序的交互状态,它帮助服务器应用程序从不同的请求中确认特定的用户。服务器通过Session ID来管理会话,当发送和接收请求时,Session ID在客户端和服务器端之间传递。会话对于每个用户都是唯一的。身份验证User ID确保username或userid大小写不敏感。如用户'smith' 和'Smith'是同一个人。username必须唯一。合适的密码强度控制密码强度由这些特性决定,包括:密码长度、密码复杂度、密码拓扑。安全的密码恢复机制应用程序一般会提供密码恢复机制,让那些忘记密码的用户重新设置密码。