gpt4 book ai didi

javascript - 在 Javascript 中延迟用户的最佳方式

转载 作者:行者123 更新时间:2023-11-29 18:49:23 25 4
gpt4 key购买 nike

我正在创建一个应用程序,用户可以在其中通过按钮提交请求,然后该应用程序要求(出于安全原因)他们不能在相当短的时间内(例如,十到二十秒)返回该页面).该应用程序的目的不是为了让这样的等待成为一个主要问题(它旨在作为一种以太坊投票应用程序的前端,因此人们应该很少使用它。

该合约具有内置保护措施,可防止同一账户多次投票,但如果用户可以在他们的投票被挖掘之前返回投票屏幕,这些保护措施将不起作用,这大约需要 10-15 秒)。每次加载页面时简单地设置一个较长的延迟似乎是可行的,但可能会激怒用户。

我有一个想法,在用户投票后在本地存储他们的详细信息,并禁止任何人与投票页面交互,如果他们的详细信息已经在已经投票的人列表中(这将被更新为不久之后应该从中删除一个名称)。然而,虽然这可能有效,但似乎很难扩展,因为整个数组需要不断迭代。

有没有人有更好的方法来确保人们在离开第一页后的 10 到 20 秒内无法返回(或至少无法与之交互)?谢谢。

最佳答案

不要从前端接近它。即使您使用某种本地速率限制,有人也可以清除 cookie/缓存,或者只是转移到另一台机器。最后,他们可以通过直接通过以太坊网络与合约交互来消除限制,而不是通过您的前端。

你的合约应该维护一个 address->lastBlockVoted 的映射。如果来自地址的新投​​票在最后一个区 block 的 n 个区 block 内到达,则交易应该失败。

这样,即使有人在第一笔交易被挖出之前广播了 20 笔交易,后 19 笔交易也会全部失败。

关于javascript - 在 Javascript 中延迟用户的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51863226/

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