我正在为我正在建设的网站编写登录系统.
以下是我如何实现登录系统的本质:
我有两个表:用户和会话.
users: uid | uname | pass
sessions: sid | uid | ts | ts_expires
Run Code Online (Sandbox Code Playgroud)
因此用户输入uname/pass组合.
sid)sessions,将该sid与提供的用户名的uid相关联.sid的随机值命名的cookie .sidsessions在每个需要用户登录的页面上,我检查:
所以我的问题是:
PS:我还没有使用SSL安全登录.所以这是我发现的唯一问题,截至目前.哦,我使用php和mysql,如果这是相关的.
编辑:我存储的密码不是明文,而是密码用户名的MD5.
所以,可以pass = MD5($uname.$pass)这么说.
Mal*_*ist 17
哈希那个密码,加盐!使用像bcrypt这样的强哈希.如果你必须使用MD5/SHA使用一种称为拉伸和哈希的技术,它的哈希数千次.用户无需关心是否需要一秒钟检查他/她的密码而不是1/1000,但是蛮力破解者会.
记录尝试并防止强力尝试.
登录后要非常小心存储用户凭据的位置.您不希望他们更改它.
并使用SSL!