在用户访问时暂时使整个站点不可用

时间:2012-10-24 15:52:21

标签: php javascript html5

我有一个奇怪的事情,我想要实现。

我想要的是当用户访问某个HTML页面时,在一段固定时间(如20分钟)内,所有用户暂时无法使用整套页面。之后,页面应该可以再次访问。也可能是临时重定向或审查页面。

为什么呢?我希望在基于GPS的游戏中输入禁止区域给用户一个惩罚,该游戏根据用户的GPS数据显示某些网页。最后一部分工作正常。

搜索后,我认为它可能适用于PHP,但我对此的经验很少。我知道HTML和CSS,以及如何阅读和修改现有的JavaScript和PHP脚本,而不是如何从头开始构建这些代码。

另一个选项(我无法弄清楚)是让网站在有人进入该页面时发送电子邮件,并使另一项服务如"If This Then That"使网站脱机/更改文件名。

2 个答案:

答案 0 :(得分:1)

在你的PHP页面上,我会做这样的事情:

<?php
   if(!can_view_page()){
       header('Location: other_page.php');
   }
?>

can_view_page()功能中,您需要检查是否符合条件(例如,在查看页面的正确位置)。

答案 1 :(得分:1)

与建议的其他回答者一样,创建一个可用于检查用户是否可以访问该页面的条件的函数。这里有一些使用php,python和javascript语法混合的伪代码哈哈:)

function isAllowedViewing(is_good) {
    if (is_good):
        if "/var/www/mysite/disable_visits" file exists:
            contents = (read contents)
            # If 20 minutes has elapsed since first being disabled
            if (now.toEpoch() - contents.toEpoch()) > 1200:
                remove file from file system
            else:
                header("Location: thats_bad.php")
    else:
        if "/var/www/mysite/disable_visits" file does not exist:
            create the file on the file system and write now.toEpoch() to it
        # Optional:
        else:
            re-write the current time to the file to reset the 20 minute counter (for every time the user re-visits the bad page)
}

因此,要使用它,您可以在每个页面的顶部调用该函数。如果页面是允许正常访问的普通页面,请将true传递给该函数。如果您想惩罚用户访问该页面,请通过false