【问题标题】:Duplicate Data POST [closed]重复数据POST [关闭]
【发布时间】:2021-04-06 18:13:29
【问题描述】:

当我尝试发布表单时,我想避免通过后端重复发布相同的数据。如果发布是否重复,我尝试使用会话并存储唯一的 GUID 进行映射。如果您遇到同样的问题或有答案。请帮帮我。

【问题讨论】:

  • 由于电脑速度慢或互联网连接速度慢,在提交某些表单时会发生这种情况。我想通过使用操作验证过滤器从后端避免它。

标签: c# .net api asp.net-core


【解决方案1】:

**如果你想避免像机器人提交表单那样的表单提交,那么**

我们必须在表单上设置一个唯一令牌,然后在提交表单时传递该令牌并将其保存到数据库。

当第二次表单提交事件发生时,认为是恶意的。

<form id="xyz">
<input type="hidden" name="formtoken" value="unique Value">
<submit button>
</form>

在后端,您可以将此令牌保存到 Session 或您想要的任何地方,但检查相同的令牌 是否已经存在于 session 或 DataBase 中。

如果我们还需要检查数据,我更喜欢将令牌保存到 DB。否则我们可以限制机器人或其他任何人提交相同的表单。

或者您可以分享您的代码,以便我们为您提供帮助。

【讨论】:

  • 我认为在数据库中保存令牌会有所帮助。谢谢您的回答。另外,如果您知道其他方式,您也可以添加。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 2016-10-18
  • 2011-04-19
相关资源
最近更新 更多