如何在无登陆态的情况下,后台分布式实现,用最少的Ajax请求,实现表单安全且无重复的提交?
如何在无登陆态的情况下,后台分布式实现,用最少的Ajax请求,实现表单安全且无重复的提交?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在无登陆态的情况下,后台分布式实现,用最少的Ajax请求,实现表单安全且无重复的提交?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
【无登陆】并不等于【分布式必是多Session(会话)】。即使没有登录,也可以给当前会话设置SessionId,从而后端通过共享Session的方式来唯一确定当前会话。
如果完全是前后端没有任何额外的数据(如cookie,特殊的tokenId等)的话,那么理论上是无法实现的。因为HTTP本身是无状态的,同时过来的两个请求,即使数据等等完全一致,你也不能确定是否是同一用户所提交。
还有一种方式,表单页打开时,后端生成一个uuid,并存储到一个数据共享(所有系统都可访问)中间件(如Redis)。然后表单提交时,附带该uuid,且uuid仅一次有效。这样也能在一定程度上达到无重复提交。如果是恶意重复提交的话,这种思路恐怕就不行了~