PHP - 禁用指定时间的按钮

时间:2013-06-07 07:36:33

标签: php html mysql

我的问题是如何在用户点击其中时暂时禁用多个按钮/链接。例如,有5个按钮:button1,button2 ..如果他点击button1,那么他不能再点击任何按钮,例如6小时。应该用php获取用户ip,将其发送到mysql并“禁止”用户6小时。是否单击按钮或按钮所在的URL。并从mysql清除指定的IP后。对于点击的用户,应该禁止按钮,而不是其他任何人也刷新或浏览器重新启动应该授予再次单击任何选项的选项。

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

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

3 个答案:

答案 0 :(得分:3)

  1. 有一种简单的方法来识别个人用户。这里唯一真正的解决方案是要求用户注册并登录。
  2. 存储用户上次在您的数据库中执行某项操作的时间。
  3. 检查用户上次执行某件事的时间是什么时候,并且没有向他提供按钮/拒绝该操作,如果他在经过足够的时间之后再次执行该操作。
  4. (可选:定期清除数据库中旧的和不需要的操作/时间戳。)

答案 1 :(得分:1)

users数据库表格中,添加last_button_click字段。

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

如果用户不能使用重复的帐户,您还需要在数据库中记录他/她的IP地址,并防止来自同一IP地址的更多注册。这不是万无一失的,因为像HMA这样的VPN服务的用户将能够解决这个问题,但对于大多数用户来说,它可以工作。

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

答案 2 :(得分:0)

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