javascript - 生成 Id 的服务器与客户端
问题描述
如果我使用 React/Vue/Angular 之类的东西,或者只是阻止我的页面在提交时使用纯 JS 加载,我应该在前端为我的元素生成 id 还是应该等待服务器以 id 响应?
一个简单的例子是旧的待办事项列表,我添加了一个待办事项,它必须有一个 id,所以当我想删除它时,我可以将 id 发送到服务器。过去,我曾经生成一个 UUID 并将其发送到服务器以供其使用。我的问题是这是否是一种好的做法,还是我应该以不同的方式做?
解决方案
如果要将数据存储在服务器中,则永远不要在客户端中创建元素的 ID。您可以添加两次相同的 ID,或者另一个用户可以使用与您相同的 ID,或者使用无效的 ID,或者 - 您明白了。您几乎可以肯定地避免在客户端重复生成 UUID 的 IDS,但在服务器中编辑它们更容易、更安全。考虑到在客户端中,您无法控制客户端向您的后端发送的内容。不管你用 JavaScript 做什么,恶意用户总是可以破解发送到服务器的请求并按照他们想要的方式修改它,所以你可能会以对你的数据库字段来说太长的 ID 结束,或者以无效的值,或者上帝知道还有什么.
推荐阅读
- visual-studio - 如何降级以前版本的 Visual Studio 2019 专业版
- service - 如何在 SSMS 作业上处理 Azure 分析服务
- c++ - C++ 问题:不允许抽象类类型“管理器”的对象
- java - sharedpreferences getString() 返回活动三中的空字符串
- django - 获取列“is_routed”不能为空错误。即使认为它在数据库中设置为 default=0
- html - CSS网格最适合内容到矩阵中并保持相等的列宽
- spyder - llvm的python代码问题
- php - 如何显示与 where 子句不同的记录
- resilience4j - 使用 Callable 向 CircuitBreaker 添加回退
- html - CSS动画取决于子元素