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

时间:2015-03-06 08:16:30

标签: php mysql

我试图在谷歌上找到这个,但它没有任何结果。

我正在寻找的是:

我有一个涉及很多相同操作的网络应用。

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

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

由于无法依赖cookie我正在寻找MySQL解决方案。

如果你有困难理解我想要的东西,就像Candy Crush一样。

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

您可能希望对其进行缓存,以便在用户达到限制时限制后不再继续访问数据库。

答案 1 :(得分:0)

我认为这会奏效:

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小时。

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