1

我想在有限的时间内进行测验,让用户回答问题,这样他们就不能用谷歌搜索了。不幸的是,如果我使用 JavaScript 之类的客户端语言执行此操作,则很容易绕过此时间保护。有没有办法通过 PHP 做到这一点?它应该是安全的。

提前致谢!

4

2 回答 2

3

当然,只需告诉用户他们有设定的时间去做,然后像这样设置一个会话变量:

session_start();
$_SESSION['to_be_completed_by'] = time() + 60;

以秒为time()单位获取当前纪元时间,在这里您给用户一分钟。当他们提交时:

if($_SESSION['to_be_completed_by'] <= time()){
    // Completed within the limit
}else {
    // Not completed
}
于 2012-12-21T17:42:40.197 回答
2

$_SESSION['starttime'] = time();在渲染页面上,然后$duration = time() - $_SESSION['starttime']在结果页面上。检查是否$duration > NN最大持续时间在哪里)。

这也可以与 javascript 结合使用,以提醒用户他们的时间不多了。

应该注意的是,这需要session_start()在页面上调用。

于 2012-12-21T17:42:53.013 回答