我想在有限的时间内进行测验,让用户回答问题,这样他们就不能用谷歌搜索了。不幸的是,如果我使用 JavaScript 之类的客户端语言执行此操作,则很容易绕过此时间保护。有没有办法通过 PHP 做到这一点?它应该是安全的。
提前致谢!
当然,只需告诉用户他们有设定的时间去做,然后像这样设置一个会话变量:
session_start();
$_SESSION['to_be_completed_by'] = time() + 60;
以秒为time()
单位获取当前纪元时间,在这里您给用户一分钟。当他们提交时:
if($_SESSION['to_be_completed_by'] <= time()){
// Completed within the limit
}else {
// Not completed
}
$_SESSION['starttime'] = time();
在渲染页面上,然后$duration = time() - $_SESSION['starttime']
在结果页面上。检查是否$duration > N
(N
最大持续时间在哪里)。
这也可以与 javascript 结合使用,以提醒用户他们的时间不多了。
应该注意的是,这需要session_start()
在页面上调用。