Php 使用count限制某些操作访问?

Php 使用count限制某些操作访问?,php,Php,这更像是一个安全问题。 实现“按IP计算每x次特定页面访问次数”并在超过限制时阻止该IP地址的最佳实践是什么 一些步骤: 用户进入网站 用户选择要购买的产品 填写表格并提交表格 已重定向到支付网关 如何限制每30秒提交5份表格?如果用户每30个IP中有6个被阻止30分钟 谢谢。您将希望在数据库中存储操作或请求以及它们的生成。然后运行一个简单的程序来检查用户是否超过了他们的限制。例如 "SELECT * FROM `requests` WHERE `request_time` >

这更像是一个安全问题。 实现“按IP计算每x次特定页面访问次数”并在超过限制时阻止该IP地址的最佳实践是什么

一些步骤:

  • 用户进入网站
  • 用户选择要购买的产品
  • 填写表格并提交表格
  • 已重定向到支付网关
  • 如何限制每30秒提交5份表格?如果用户每30个IP中有6个被阻止30分钟


    谢谢。

    您将希望在数据库中存储操作或请求以及它们的生成。然后运行一个简单的程序来检查用户是否超过了他们的限制。例如

    "SELECT * FROM `requests` WHERE 
        `request_time` > '".(time() - (30 * 60))."' AND
        `ip_address` = '".$_SERVER['REMOTE_ADDR']."';"
    
    此查询上的返回值应小于5

    您可以在用户每次加载页面或提交表单时运行此查询,只需结束脚本的执行


    您可能还需要偶尔运行一个查询来删除旧的行,可能需要使用cron作业。

    您需要将操作或请求连同它们一起存储在数据库中。然后运行一个简单的程序来检查用户是否超过了他们的限制。例如

    "SELECT * FROM `requests` WHERE 
        `request_time` > '".(time() - (30 * 60))."' AND
        `ip_address` = '".$_SERVER['REMOTE_ADDR']."';"
    
    此查询上的返回值应小于5

    您可以在用户每次加载页面或提交表单时运行此查询,只需结束脚本的执行


    您可能还希望偶尔运行查询以删除旧行,可能使用cron作业。

    2个我可以共享的意见,您可以使用半小时后超时的活动会话,或者您可以使用数据库变体。2个我可以共享的意见,您可以使用半小时后超时的活动会话,也可以使用数据库变体。