Web 应用架构与 API 安全
在深入 Web 安全之前,理解前后端交互的基本架构至关重要。如果连基础的数据流转都不清楚,单纯记忆注入手法往往难以应对实际场景。
前端、后端与数据库的协作
一个典型的登录流程可以拆解为三个核心环节:
-
前端(用户可见部分) 负责界面展示、数据收集与请求发送。当用户点击'登录'时,前端会校验输入格式(如手机号长度),随后通过
axios或fetch将数据封装成 JSON 对象,按照 API 文档约定的 URL 和 Method(通常是 POST)发送给服务器。 -
后端(业务逻辑层) 这是真正的'黑盒'。后端监听特定接口,接收请求后执行路由分发。关键步骤包括:
- 解析与验证:检查参数合法性,查询数据库确认用户是否存在及密码是否匹配。
- 核心逻辑:验证通过后生成 Token 并关联用户 ID,写入缓存或数据库。
- 响应组装:返回标准的 JSON 结构,包含状态码、消息体及必要的数据(如用户信息、Token)。
-
前端再次处理 收到响应后,前端根据
code字段判断成功与否。若成功则保存 Token 跳转首页;若失败则提示错误信息。
| 角色 | 职责 | API 关系 |
|---|---|---|
| 前端 | 交互与展示 | 调用方,按文档'提问' |
| 后端 | 逻辑与数据 | 提供方,定义规则并实现 |
| API | 通信契约 | 边界与桥梁,规定地址、方法与格式 |
API 安全的核心原则
很多初学者误以为 API 仅由前端调用,实际上任何能构造 HTTP 请求的程序(如 Postman、脚本、其他服务)均可调用。在网络安全视角下,前端完全不可信。
攻击者完全可以绕过前端界面,直接伪造请求。常见的风险包括:
- 参数篡改:修改金额、ID 等关键参数。
- 重放攻击:重复发送合法请求包。
- 越权访问:遍历用户 ID 查看他人资料(水平/垂直越权)。
- 自动化滥用:高频调用导致短信轰炸或资源耗尽。
因此,所有安全校验必须放在后端。身份认证(Token/Session)、授权校验(权限控制)、参数业务逻辑校验以及限流措施缺一不可。HTTPS 加密传输也是防止窃听的基础保障。
常见 Web 漏洞类型
掌握架构后,我们来看看具体的漏洞形态:
1. SQL 注入
通过构造特殊输入,使数据库执行非预期的 SQL 语句。防御关键在于使用预编译语句(Prepared Statements)。
2. 远程代码执行 (RCE)
允许攻击者在服务器上执行任意系统命令,危害极大。通常源于未过滤的文件上传、反序列化或命令拼接。
3. 文件上传与包含
- 上传漏洞:绕过后缀名、MIME 类型检测上传可执行文件。
- 文件包含:利用
include()等函数加载本地或远程文件。需警惕日志文件被写入恶意代码后被包含执行。


