1

我想问一下在我的反应应用程序中是否可以像这样www.siteurl/orders/:id

使用动态路由用户使用他的订单 ID 被重定向到他的订单,然后从数据库中获取他的数据,这背后的原因是启用订单跟踪和与客户想要的任何人共享订单的可能性。

这可以被不应该访问的人利用吗?

4

2 回答 2

1

只要确保订单本身不包含任何敏感的用户信息,就可以了。

一般来说,这是一个经常被问到的问题:我们是否应该在 URL 中公开 id,并且在大多数情况下,这并没有什么坏处。这只是数据库中的一个字段,理论上,对于利用它的人来说,他们需要访问您的数据库,如果他们可以访问您的数据库,那么您将遇到比 URL 更大的问题。

于 2020-04-09T20:59:31.603 回答
1

是的,这种后端的路由设计可以被其他人利用。用户特定信息的正确路由设计应该是这样的:

  1. 获取路线:

    www.siteurl/orders/users/:uid : GET orders of specific user
    
  2. 补丁路线:

    www.siteurl/orders/:oid : Change order information
    

重要的提示!两条路由都必须通过身份验证来保护。所以只有用户才能获得他的订单的 id 并可以对这些进行更改。

于 2020-04-09T20:24:54.183 回答