1

我即将用 Flask+AngularJS 开始一个新项目,第一次体验这种组合。但我的问题与我选择的平台/框架无关。

在很多情况下,一些项目列表会呈现给用户,用户可以单击其中一个项目来浏览它。自然,这样的功能将通过向客户端传递项目数据库 ID 列表来提供,并且通过通过其 ID 请求项目信息来进行浏览。但是,我对让用户通过它检索某些信息感到不安。可能存在用户无权打开某些项目的情况。

所以,我有两个问题:

  • 将数据库对象 ID 共享给客户端是个好主意吗?这肯定更容易,但它不会为恶意登录用户透露太多信息吗?另一种方法是为每个可点击的项目生成一个唯一的 ID,并在服务器端保存一个字典,这些 ID 的含义。感觉很麻烦(更不用说额外的处理开销),但也许值得痛苦?
  • 如果我要向客户端显示项目数据库 ID,那么我仍然应该保留向客户端显示的项目列表(在此会话中),并让用户仅浏览这些项目。因此,如果用户“没有合法的方式访问它”,任何通过直接在 URL(或 POST 请求)中输入其 id 来浏览项目的尝试都将被停止。这种技术有什么名字,所以我可以阅读如何实现它的最佳实践?
4

0 回答 0