接口鉴权和权限校验的区别
接口鉴权和权限校验是两个不同层次的概念。本文讲它们的区别和实现方式。
安全问题要默认不信任输入
无论是表单、URL 参数、Header,还是内部系统传来的字段,都不能天然相信。后端必须做校验、鉴权和日志审计。
SQL 注入的例子
危险写法:
String sql = "select * from user where name = '" + name + "'"; |
推荐使用预编译参数:
SELECT * FROM user WHERE name = ?; |
在 MyBatis 中优先使用 #{name},不要用 ${name} 拼接用户输入。
权限校验
登录只说明“你是谁”,权限校验才说明“你能做什么”。敏感操作必须在服务端校验资源归属。