隐藏最终用户的实体ID

时间:2010-09-03 18:26:36

标签: language-agnostic

我正在构建电子商务应用程序。订单的路径类似于/Orders/Details/{orderId}。 但是我不希望将orderId暴露给最终用户。 如何识别订单,而不是使用数据库标识符? 是否有必要生成一些随机的唯一字符串,如GUID?

3 个答案:

答案 0 :(得分:2)

您需要为您不介意用户看到的实体分配一些其他标识符(某种备用密钥)。

或者,您可以使用加密或混淆的ID,并让您的应用程序处理解密或去混淆。

答案 1 :(得分:1)

你走在正确的轨道上 - 使用整数作为orderid会导致强大的浏览攻击。可能是您可以使用GUID作为数据库中的主键。

答案 2 :(得分:0)

您可以将一个值发布到订单/详细信息页面,然后以这种方式发送orderID。您也可能有一些其他唯一的订单字符串,并使用它,取决于您存储数据的方式以及您想隐藏订单ID的原因。