生成ID的服务器端与客户端端

时间:2020-01-29 11:23:40

标签: javascript node.js reactjs vue.js client-server

如果我使用的是React / Vue / Angular之类的东西,或者只是阻止我的页面加载纯Js提交,我应该在前端还是应该等待服务器用ID响应?

一个简单的示例是旧的待办事项列表,我添加了一个待办事项,并且必须有一个ID,因此当我要删除它时,可以将ID发送到服务器。过去,我曾经生成过一个uuid并将其发送到服务器以供使用。我的问题是,这是否是一种好习惯,还是我应该做其他改变?

2 个答案:

答案 0 :(得分:1)

如果要在服务器中存储数据,则永远不要在客户端中创建元素的ID。您可以添加两次相同的ID,或者另一个用户可以使用与您相同的ID,或者使用无效的ID,或者-您知道了。您几乎可以肯定避免在客户端重复生成IDS的UUID,但是在服务器中编辑UUID更加容易,也更加安全。请注意,在客户端中,您无法控制客户端发送到后端的任何控制。尽管您使用JavaScript进行操作,但恶意用户始终可以对发送到服务器的请求进行黑客攻击,并以他们想要的方式对其进行修改,因此对于数据库字段,ID可能太长,或者具有无效值,或者上帝知道其他什么

答案 1 :(得分:0)

由于已经说明的原因,生成id客户端确实是一种不好的做法。但是在我看来,与您有关的问题的重点在于,即使您生成了id客户端,您仍然必须等待服务器响应以确保确实创建了资源。服务器可能暂时关闭,服务器-数据库连接可能已关闭,磁盘可能有故障。无论哪种情况,都需要该响应,以便在出现错误时获得更好的用户体验。因此,我认为您实际上并没有通过生成id客户端来改善整体用户体验。

相关问题