Web services 在请求和响应中使用行ID设计api

Web services 在请求和响应中使用行ID设计api,web-services,api,security,Web Services,Api,Security,在api响应中提供行ID并在api请求查询中使用行ID是否是一种好的做法 是否为api使用唯一生成的键而不是行ID 使用行ID时是否存在任何安全问题?返回的实体通常会附加唯一标识符。这通常(但不总是)与唯一数据库标识符相同。如果公开唯一的数据库id是一个安全问题,那么这几乎总是因为攻击者能够将SQL写入您的数据库。在这种情况下,您最好修补SQL漏洞,因为在这种情况下,攻击者很容易获得唯一的ID 使用非线性ID有一个很好的理由,因为它可以防止攻击者遍历您的所有数据,查找您忘记保护的API部分。我建

在api响应中提供行ID并在api请求查询中使用行ID是否是一种好的做法

是否为api使用唯一生成的键而不是行ID


使用行ID时是否存在任何安全问题?返回的实体通常会附加唯一标识符。这通常(但不总是)与唯一数据库标识符相同。如果公开唯一的数据库id是一个安全问题,那么这几乎总是因为攻击者能够将SQL写入您的数据库。在这种情况下,您最好修补SQL漏洞,因为在这种情况下,攻击者很容易获得唯一的ID


使用非线性ID有一个很好的理由,因为它可以防止攻击者遍历您的所有数据,查找您忘记保护的API部分。

我建议您将行ID从外部接口中提取出来。使用db生成的行id可能会让外部实体(读:攻击者)公平地了解id序列的进展