数据库自增主键:安全隐患还是杞人忧天?
不少开发者在使用数据库自增主键时,对其安全性心存疑虑,尤其当接口暴露了ID参数。一个常见问题是:如果接口允许根据ID获取数据,自增主键是否会使所有数据暴露于攻击者?让我们通过一个案例分析。
假设有一个GET请求接口,接收ID参数并返回对应数据。攻击者可能尝试循环遍历ID获取所有数据:
for (let i = 0; ; i++) { fetch(`/api/data?id=${i}`) .then(res => res.json()) .then(data => { if (data) { console.log(data); } else { // ID对应数据不存在 } }) .catch(error => { // 处理错误,例如权限不足 });}
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。