如何在无登陆态的情况下,后台分布式实现,用最少的Ajax请求,实现表单安全且无重复的提交?

新手上路,请多包涵

如何在无登陆态的情况下,后台分布式实现,用最少的Ajax请求,实现表单安全且无重复的提交?

阅读 1.4k
1 个回答

【无登陆】并不等于【分布式必是多Session(会话)】。即使没有登录,也可以给当前会话设置SessionId,从而后端通过共享Session的方式来唯一确定当前会话。

如果完全是前后端没有任何额外的数据(如cookie,特殊的tokenId等)的话,那么理论上是无法实现的。因为HTTP本身是无状态的,同时过来的两个请求,即使数据等等完全一致,你也不能确定是否是同一用户所提交。

还有一种方式,表单页打开时,后端生成一个uuid,并存储到一个数据共享(所有系统都可访问)中间件(如Redis)。然后表单提交时,附带该uuid,且uuid仅一次有效。这样也能在一定程度上达到无重复提交。如果是恶意重复提交的话,这种思路恐怕就不行了~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题