1. 前端权限仅为 UI 控制,安全在后端
为什么说前端权限只是 UI 控制、真正的安全在后端?前端权限控制的边界在哪里?
- 前端代码与数据对用户完全可见可篡改的前提
- 后端必须独立校验权限的原因(绕过 UI 直调 API)
- 前端权限的定位(体验优化、数据最小暴露)与设计原则
前端运行在用户设备上,其代码、状态与请求都可被用户或攻击者读取、修改与重放,因此前端权限判断(隐藏按钮、过滤菜单)只是"界面层约束"——为正常用户提供清晰的可用性,不具备任何安全强度:攻击者可绕过 UI 直接调用 API、修改请求参数、篡改本地状态。安全边界必须在后端:服务端对每个请求独立鉴权(用户身份、资源归属、操作权限),校验请求参数与业务规则,前端下发的"权限清单"仅作为展示依据而非授权凭证。工程设计原则:前端按后端返回的权限数据渲染 UI(隐藏/禁用无权限入口),API 设计遵循"后端为准",前端权限数据有默认拒绝(拿不到权限数据时隐藏或降级),重要操作(支付、删除)后端二次校验;同时避免在权限接口中返回超集数据(如返回全部用户列表由前端过滤),前端只拿最小必要数据。
本题考察权限体系的第一性原理。答题核心是"前端不可信"的前提推导出"后端独立鉴权、前端仅体验优化"的结论,以及最小数据暴露与默认拒绝等设计原则。