【发布时间】:2014-01-20 12:56:43
【问题描述】:
我正在尝试限制 PHP 脚本。例如在index.php 中,用户输入一些代码/密码并被重定向到content.php
在那里他可以使用我的脚本让我们说final.php。
如果他想再次使用我的脚本,我想要这样的东西。他需要等待5分钟左右。
即用户必须无法访问final.php(来自content.php),而必须收到一条错误消息,提示请等待 5 分钟。
我是 PHP 新手,所以请帮助我。
【问题讨论】:
我正在尝试限制 PHP 脚本。例如在index.php 中,用户输入一些代码/密码并被重定向到content.php
在那里他可以使用我的脚本让我们说final.php。
如果他想再次使用我的脚本,我想要这样的东西。他需要等待5分钟左右。
即用户必须无法访问final.php(来自content.php),而必须收到一条错误消息,提示请等待 5 分钟。
我是 PHP 新手,所以请帮助我。
【问题讨论】:
我建议您为每个用户的每次使用情况保存一个带有时间戳的记录。如果timestamp和NOW的时间间隔小于5分钟,则产生错误。
您可以通过多种方式保存这些记录:
由于这个问题非常笼统,我无法为您提供任何示例。如果你不知道如何处理这样的事情,我建议你在谷歌上找到一些使用上述技术的例子。如果您遇到具体问题,请随时在 Stackoverflow 上提出新问题,以便我们为您提供更详细的答案。
【讨论】:
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";
}
?>
【讨论】:
您可以使用$_SESSION。当用户第一次访问 final.php 时,您应该将当前时间戳保存到 $_SESSION 变量中,下次您将检查此变量与当前时间戳之间的差异是否超过 5 分钟
【讨论】: