好的,所以我在我的网站上有一个聊天功能,我在其他问题中提到过。我校有一些孩子喜欢在学校聊天,但我宁愿他们在学习厅聊天,所以我不会因为打扰上课时间而陷入困境。在一天中的特定时间段内,如何限制用户在我的网站上的移动?谢谢!我不知道我可能需要什么类型的脚本语言,但是我假设PHP,因为这是一个服务器问题。如何阻止用户在一天的特定时间访问我网站的某个部分?
回答
<?php date("H"); ?>
以24小时格式返回当前小时,前导零。
这意味着,你可以写这样的事情:
<?php
if (date("H") == 14)){
die("You cannot get here right now");
}
?>
这将“死”相呼应的页面,并且将返回错误,而不是,正是一天中的14小时内(2:00 PM )。
给我们更多的代码/细节来得到更深的答案。
编辑:这是一个扩展答案的新问题,询问,
自习在我的学校是2:30到3:15,所以我将如何做呢?
SOLUTION:假设自习的时候,当学生们允许使用(部分)的网站,你会做这样的事情:
<?php
$bottomValue = 60*14+30;
$upperValue = 60*15+15;
$currentValue = date("G")*60+date("i");
if (($currentValue >= $bottomValue) && ($currentValue <= $upperValue)){
// everything is OK = put some code here, or ignore this
}
else{
// well, this is the time they are not allowed to see this, so, let's try:
die("Sorry, you are not allowed to be here right now.");
}
?>
为了解释如何这是有效的:你的时间基准被计为分钟$bottomValue
和$upperValue
。注意它们是如何定义的,它是60分钟乘以小时(14)加上分钟(30)。
因此,14:30是60*14+30
,因此,16:20将是60*16+20
。
然后将基数与当前时间进行比较,并根据if/else语句执行相应的代码。
您还可以通过您的Web服务器控制访问; Apache的,例如,allows time-based access controls in mod_rewrite
:
RewriteEngine On
RewriteCond %{TIME_HOUR} >20 [OR]
RewriteCond %{TIME_HOUR} <07
RewriteRule ^/chat - [F]
@ Rimmer的基于PHP的解决方案可能会更容易读,写和修改,但基于服务器的机制,不需要插入校验到每一个网页。
他正在谈论“他的网站的一部分”,这可能只是一个特定的php文件(正在被包含在网站中),并且可能不会被你的方法禁用。如果我错了,那么你的方法也很棒。 – 2011-04-09 22:27:08
@RiMMER,好点 - 根据他的网站的写法,我的机制或机制将更容易准确地确定哪些特定部分是有时间限制的。任何一个人都可以做同样的工作,但清理它可能会有很大的不同。 :) – sarnold 2011-04-09 22:29:09
请注意,当您使用date()
函数时,请考虑您的服务器的日期/时间设置,因为如果您的服务器的日期和时间与您指定的受限时间不同,即使您在网站上进行了日期和时间检查(在你的学校)他们可能仍然会看到一些东西。
- 1. 如何阻止某些IP(用户)访问我的网站?
- 2. 阻止访问您网站的某些特定IP地址
- 3. 阻止从特定IP访问网站?
- 4. 如何阻止访问我的网站的特定应用程序
- 5. 阻止用户访问网站
- 6. 阻止用户访问特定的URL
- 7. 阻止spambot访问我的网站
- 8. 阻止单个用户访问网络内的网站
- 9. 阻止访问您网站的特定网址
- 10. 在我的网站上阻止某人?
- 11. 阻止某些网站访问某个文件
- 12. 如何阻止一个国家访问使用客户端代码的网站
- 13. 在Ubuntu上阻止特定瘦客户机的特定网站
- 14. 阻止访问某个特定名称的任何目录
- 15. 如何阻止某些设备和某些浏览器阻止访问我的网站?
- 16. 如何访问分组tableview中的某个特定部分?
- 17. 阻止从特定网址访问网站
- 18. 如何阻止访问我的PHP网站上的目录?
- 19. 如何阻止Alexa和类似的网站访问网站
- 20. 我想要一个功能来临时阻止我的网站访问?
- 21. 如何阻止爬虫不能访问我的网站?
- 22. 如何阻止所有手机访问我的网站
- 23. 我想阻止访问我的网站以外的每个部分(SSH/HTTP)。这是一个好主意吗?
- 24. 阻止SVN访问某些用户
- 25. 允许来自我的内部网之外的特定用户访问网站
- 26. 阻止用户使用HTTP_REFERER访问站点的内部
- 27. 如何阻止用户访问某个ProGet Feed?
- 28. 阻止自动访问的网站
- 29. 阻止访问路由器的网站?
- 30. htaccess:阻止特定的IP,然后只允许部分站点访问
我学校的学习时间是凌晨2点半到3点15分,那么我该怎么做? – Matthew 2011-04-10 14:44:00
谢谢@RiMMER,我弄不明白 – Matthew 2011-04-10 18:20:11
说实话,这是一种不寻常的情况,它也给了我一些难以想象的想法,但我想我想出了一个非常干净的解决方案。希望对你有帮助! – 2011-04-10 18:22:03