理解技术
你不需要会写代码,但需要知道一件事发生在哪一层。分不清层,提的需求就会落空,看到的报错也读不懂。
读完你能回答
- 「这个改前端就行」和「要动后端」的区别在哪
- 为什么登录状态会莫名其妙掉,token 是个什么东西
- AI 写的代码里,哪几个地方是安全隐患的高发区
前端和后端
一句话分界:能在用户浏览器里改的是前端,必须在你服务器上算的是后端。凡是牵扯钱、权限、别人的数据,一定在后端。
| 这件事 | 在哪一层 | 为什么 |
|---|---|---|
| 按钮改个颜色 | 前端 | 纯展示,跟数据无关 |
| 列表加个筛选 | 前端后端 | 数据量小前端筛,量大要后端出接口 |
| 判断能不能删 | 后端 | 前端的判断能被绕过,权限必须在后端拦 |
| 算价格和优惠 | 后端 | 前端算的价格用户能改,这是常见的漏洞 |
| 页面加载慢 | 看情况 | 可能是图片太大(前端),也可能是查询太慢(后端) |
登录是怎么回事
登录不是「验证一次就完了」,而是「验证一次,之后每次请求都带着一张凭证」。
数据库长什么样
就是一张张表。每张表存一类东西,表之间靠 id 关联。你画数据模型的时候,画的就是这个。
| id | name | created_at |
|---|---|---|
| u_31 | 李明 | 2026-03-04 |
| u_88 | 王芳 | 2026-05-19 |
| id | user_id | amount | status |
|---|---|---|---|
| 2048 | u_31 | 124.00 | 已付 |
| 2047 | u_31 | 38.80 | 待付 |
部署与环境
同一份代码会跑在三个地方,出问题时先问清楚是哪一个。
| 环境 | 谁在用 | 数据是真的吗 |
|---|---|---|
| 本地 | 只有你自己 | 假数据,随便删 |
| 预发 | 你和少数几个人验收 | 接近真实,但删了不心疼 |
| 线上 | 所有真实用户 | 真的,删了就没了 |
六个安全常识
AI 写的代码在这六个地方翻车最多,每次生成完扫一眼。
- 密钥不能写在代码里。API key、数据库密码要放在环境变量,尤其不能出现在前端代码里——那等于公开。
- 权限要在后端判断。前端把按钮藏起来不叫权限控制,接口本身必须校验这个人有没有资格。
- 用户输入一律不可信。拼接 SQL、直接渲染 HTML,都是注入的入口。
- 只返回该给的字段。一个用户接口把手机号、身份证一起返回,是最常见的数据泄露。
- 金额和库存在后端算。凡是前端算完再传给后端的数字,都可以被改。
- 删除要能恢复。先做软删除,真正物理删除单独走一道流程。
