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

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

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

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

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

解决方法:

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

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

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

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

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

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...