微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-这是防止重新提交的好方法吗?

这与防止webform resubmission有关,但是这次上下文是基于Web的RPG.玩家击败怪物后,它会掉落物品.因此,我想防止用户点击“后退”按钮或保持刷新以“复制”项目放置.

由于物品掉落很频繁,所以对我来说,使用数据库存储唯一的“ drop-transaction-id”似乎不可行.我在下面招待一个想法:

>对于每次战斗,都基于当前日期时间,用户ID创建唯一值,并将其存储到数据库和会话中.给定一个用户ID,您可以取回该值
>如果数据库中存在来自会话的值,则“战斗”有效,并允许用户访问与战斗有关的所有页面.如果数据库中不存在,则开始新的战斗状态
>战斗结束后,将从数据库中清除唯一值.
>清除数据库中30分钟以前的值.

欢迎对此方法有任何意见,改进或陷阱

解决方法:

这个问题是非常主观的,您可以执行或不执行某些操作,具体取决于周围已经存在的数据/框架.

您提供的解决方案应该可以使用,但是取决于您可用的独特战斗/掠夺/用户数据.

我认为这是您认为最好的?我认为这是最好的:)

>获取用户ID,以及该战斗中的唯一数据.诸如战斗开始时间,战斗结束时间等
>将其存储在数据库或您拥有的任何存储系统中
>收集战利品后,删除该记录

这样,如果存在该用户标识和唯一的战斗数据,那么他们就不会有战利品.

你是对的.跟踪每个战利品太多了,最好暂时存储数据.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐