0

我的问题是,当用户单击一个按钮/链接时,如何暂时禁用用户的多个按钮/链接。例如,有 5 个按钮:按钮 1、按钮 2。如果他单击按钮 1,那么他将无法再次单击任何按钮,例如 6 小时。是否应该通过 php 获取用户 ip,将其发送到 mysql 并“禁止”用户 6 小时来完成。无论是单击按钮还是按钮所在的 url。并且在从 mysql 中清除指定的 ip 之后。按钮应该被点击的用户禁止,而不是其他任何人也刷新或浏览器重新启动应该授予再次点击任何选项的选项。

或者应该以某种方式使用 htaccess 来完成。

额外信息:PHP 5.4,mysql。网站也有一个基本的登录系统(http://blog.geotitles.com/2011/07/php-login-script/)但我认为单独做会更容易。

4

3 回答 3

3
  1. 有一种万无一失的方法来识别个人用户。这里唯一真正的解决方案是要求用户注册和登录。
  2. 在您的数据库中存储用户最后一次执行某项操作的时间。
  3. 检查用户最后一次做某件事是什么时候,如果他在足够的时间过去之前再次做某事,不要向他提供按钮/拒绝该操作。
  4. (可选:定期从数据库中清除旧的和不需要的操作/时间戳。)
于 2013-06-07T07:42:44.787 回答
1

在您的users数据库表中,添加一个last_button_click字段。

当用户单击按钮时,将记录写入数据库,说明他们单击它的时间。阅读页面时,检查last_button_click过去是否超过 X 小时,如果是,则显示按钮。

如果用户不应该能够使用重复的帐户,您还需要在数据库中记录他/她的 IP 地址并防止来自同一 IP 地址的更多注册。这并非万无一失,因为使用HMA等 VPN 服务的用户将能够绕过它,但对于大多数用户来说,它会起作用。

如果需要,您还可以考虑禁止匿名代理、VPN 和 TOR。

于 2013-06-07T08:40:26.870 回答
0

“禁止”数据库中的用户可以正常工作。当他们点击按钮时,它应该向数据库添加一个禁令,当它再次绘制页面时,它应该查询数据库以查看他们是否被禁止。如果是,则不显示按钮,如果不是,则显示按钮。

于 2013-06-07T08:36:36.690 回答