我试图在谷歌上找到这个,但它没有出现任何东西。
我正在寻找的是:
我有一个涉及许多相同操作的 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 小时。
当我回到家时,我会检查它是否是预期的结果。