讲师:乌鸦哥
让网站从"公共广场"变成"私人会所"
就像建房子,需要各个部分配合
先准备好存放用户信息的"档案柜"
| 字段名 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | 整数 | 用户唯一标识 | 1001 |
| username | 字符串 | 用户名 | zhangsan |
| 字符串 | 邮箱地址 | zhang@example.com | |
| password_hash | 字符串 | 加密后的密码 | $2y$10$abc... |
| created_at | 时间 | 注册时间 | 2024-01-15 10:30:00 |
| is_active | 布尔值 | 账户是否激活 | true |
💡 注意:密码必须加密存储,绝不能明文保存
设计用户友好的登录页面
编写处理登录请求的服务器程序
就像把原始密码"123456"放进一个神奇的搅拌机,出来的是"$2y$10$abc123..."这样的乱码。
每次验证时,都把用户输入的密码放进同样的搅拌机,看出来的结果是否一样。
让用户登录后保持登录状态
优点:
缺点:
优点:
缺点:
优点:
缺点:
根据用户角色控制访问权限
前端控制用户体验,后端确保数据安全。
前端可以被绕过,所以后端验证是最后防线!
保护用户账户和网站安全
威胁:攻击者尝试大量密码组合
防护:登录失败次数限制、验证码、账户临时锁定
威胁:通过输入框注入恶意SQL代码
防护:使用参数化查询、输入验证
威胁:注入恶意JavaScript窃取Token
防护:输入过滤、输出编码、CSP策略
确保登录功能稳定可靠
新手经常遇到的问题
🎉 恭喜!你现在知道如何为网站添加完整的登录功能了!