gpt4 book ai didi

post - 防止双重HTTP POST

转载 作者:行者123 更新时间:2023-12-03 12:02:25 27 4
gpt4 key购买 nike

我已经制作了一个用于报名参加 Activity 的小应用程序。用户输入他们的数据,然后单击“登录我”。

现在有时人们在数据库中是双倍的,完全相同的数据彼此之间很快被插入了两次。这只能表示某人单击了两次按钮,导致发生了两个帖子。

这是常见的网络问题,因为信用卡应用程序和论坛应用程序经常说:“单击一次就足够了!”。

我想您可以通过检查完全相同的数据以查看帖子是否唯一来解决该问题,但是我想知道是否还有其他方法。

当然,这对于ASP.NET Web表单不起作用,因为POST无关紧要。

最佳答案

虽然JavaScript解决方案可以在单击“提交”按钮后将其禁用,但这对禁用JavaScript的人没有影响。在添加JavaScript之前,应该始终使它们正常工作,否则就没有意义了,因为用户仍然可以通过禁用JavaScript来绕过检查。

如果显示表单的页面是动态生成的,则可以添加一个隐藏字段,其中包含某种序列号,哈希或唯一的内容。然后,您将进行一些服务器端验证,该验证将检查是否已发出具有该唯一值的请求。当用户提交表单时,将根据“已使用”值列表检查该唯一值。如果列表中存在,则为重复请求,可以将其丢弃。如果不存在,则将其添加到列表中并按常规进行处理。只要您确保该值是唯一的,就可以保证同一表格不能被提交两次。

当然,如果不是动态生成表单所在的页面,则需要在服务器端以困难的方式进行操作,以检查是否尚未提交相同的信息。

关于post - 防止双重HTTP POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/442678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com