你可能会说:
- “要不要做注册登录?AI 说很简单,几分钟就能加上。”
- “登录之后拿到的那一长串 token 是什么?”
它是什么
注册登录看起来只是两个表单,背后要回答一串问题:密码怎么存(只存加密后的哈希)、登录后发什么凭证、凭证多久过期、谁能注册、有没有防止批量注册和暴力猜密码的措施。
一旦有了账号,很多护栏就会按账号来设:每人每天多少次、能看哪些内容。这时"注册有多容易"就决定了护栏有多牢:注册不设限,按账号的限额就能被批量注册绕过去。
判断权限必须在后端做。前端藏起一个按钮,只是看不见,不代表调不了那个接口。
打个比方
像公司门禁:刷工牌证明你是员工(认证),但工牌能不能进机房,要看它被授予了哪些门的权限(授权)。
在这个网站里
兄弟项目 E2E Review 的注册只检查用户名 2 到 20 个字、密码至少 6 位:密码用 scrypt 加密存储,登录凭证 7 天过期;但没有验证码、邀请码,也不按 IP 限流,登录接口也不限次数(第 14 课)。
容易搞混的地方
常见误解
有了登录,接口就安全了
正确理解
登录只证明"是某个账号"。账号本身能不能随便注册、每个账号能做多少事,是另外的护栏。
你可以这样告诉 AI
复制下面这段,贴给你的 AI
这个功能真的需要账号吗?如果需要:密码怎么存、登录凭证多久过期、谁能注册、怎么防批量注册和暴力猜密码、每个接口在后端怎么校验权限?逐条列出现状和缺口。
接下来去哪
先知道
- 后端——跑在服务器上、访客看不到的那部分程序:处理登录、读写数据、调用需要保密的接口。
接着看
在这些课里出现
相关的真实事故