【问题标题】:How to put access time limit on a php如何对php设置访问时间限制
【发布时间】:2014-01-20 12:56:43
【问题描述】:

我正在尝试限制 PHP 脚本。例如在index.php 中,用户输入一些代码/密码并被重定向到content.php 在那里他可以使用我的脚本让我们说final.php

如果他想再次使用我的脚本,我想要这样的东西。他需要等待5分钟左右。

即用户必须无法访问final.php(来自content.php),而必须收到一条错误消息,提示请等待 5 分钟。

我是 PHP 新手,所以请帮助我。

【问题讨论】:

    标签: php time limit


    【解决方案1】:

    我建议您为每个用户的每次使用情况保存一个带有时间戳的记录。如果timestamp和NOW的时间间隔小于5分钟,则产生错误。

    您可以通过多种方式保存这些记录:

    • 每个用户一个会话
    • 每次使用的数据库记录以及对用户的引用
    • 等等

    由于这个问题非常笼统,我无法为您提供任何示例。如果你不知道如何处理这样的事情,我建议你在谷歌上找到一些使用上述技术的例子。如果您遇到具体问题,请随时在 Stackoverflow 上提出新问题,以便我们为您提供更详细的答案。

    【讨论】:

      【解决方案2】:

      content.php 的外观如下 -

      <?php 
      session_start();
      include('final.php');
      ?>
      

      final.php 的样子如下:-

      <?php
      if(!isset($_SESSION)) session_start();
      $currentTime=round(microtime(true));
      $UserRegTime=(isset($_SESSION["last_access_time"]))?$_SESSION["last_access_time"]:'0';
      if(($currentTime-$UserRegTime)>300)
      {
      //Write ACCESS Content Code Here
      echo "Granted";
      $_SESSION['last_access_time']=$currentTime;
      }
      else
      {
      echo "Please Wait For ".(300-($currentTime-$UserRegTime))." Seconds To Gain Access";
      }
      ?>
      

      【讨论】:

        【解决方案3】:

        您可以使用$_SESSION。当用户第一次访问 final.php 时,您应该将当前时间戳保存到 $_SESSION 变量中,下次您将检查此变量与当前时间戳之间的差异是否超过 5 分钟

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-08
          • 2020-07-03
          • 1970-01-01
          • 2012-04-03
          • 2011-02-25
          • 2018-03-19
          • 1970-01-01
          相关资源
          最近更新 更多