使用 PHP 创建基于操作的时间限制


Creating action based time limit with PHP

我试图在谷歌上找到这个,但它没有出现任何东西。

我正在寻找的是:

我有一个涉及许多相同操作的 Web 应用程序。

我想限制用户每 12 小时最多执行 25 次该操作,以避免机器人。

不确定是否与问题相关,但我会提供付费以删除这些限制的选项。

由于不能依赖cookie,我正在寻找MySQL解决方案。

如果你有困难理解我想要什么,把它想象成糖果粉碎的生活。

提前谢谢。

由于用户已经过身份验证,因此您只需创建一个"users_actions_limit"表来存储该关系和该关系的限制。然后,只需将每个操作记录到带有时间戳的操作日志记录表中即可。在允许操作之前进行检查。

您可能希望缓存它,以便在用户达到限制后不会继续访问数据库。

我认为这将起作用:

CREATE TABLE user_actions WITH id, user.id, action.id, action_time

然后

SELECT action_time FROM user_actions WHERE user.id = $user_id ORDER BY id DESC LIMIT 1 OFFSET 25

然后我必须检查结果action_time是否小于 12 小时。

当我回到家时,我会检查它是否是预期的结果。