Php 将每个人的网站访问权限从东部标准时间上午8点更改为午夜8点,仅更改我的IP

Php 将每个人的网站访问权限从东部标准时间上午8点更改为午夜8点,仅更改我的IP,php,apache,cron,Php,Apache,Cron,我有一个问题,因为我不知道从哪里开始寻找答案。 Web详细信息:Apache5.3、Linux3.2内核、Ubuntu12.04、Mysql 5.5、PHP5.3在VPN上 我目前通过/etc/httpd.conf文件控制对该网站的访问。(拒绝、允许、从所有人拒绝,然后从我的IP允许)。此外,该站点具有商业SSL证书 当网站“上线”时,我希望它在美国东部时间上午8:00自动切换为“允许所有公众”,然后在午夜切换为“仅允许我” 我不太清楚从哪里开始我的调查:克朗?Apache编码?php编码? 什

我有一个问题,因为我不知道从哪里开始寻找答案。 Web详细信息:Apache5.3、Linux3.2内核、Ubuntu12.04、Mysql 5.5、PHP5.3在VPN上

我目前通过/etc/httpd.conf文件控制对该网站的访问。(拒绝、允许、从所有人拒绝,然后从我的IP允许)。此外,该站点具有商业SSL证书

当网站“上线”时,我希望它在美国东部时间上午8:00自动切换为“允许所有公众”,然后在午夜切换为“仅允许我”

我不太清楚从哪里开始我的调查:克朗?Apache编码?php编码? 什么


有人建议吗?

我建议使用cron作业来修改ip表规则,而不是修改apache配置。这样用户就不会访问你的网站,你也不必担心人们可能会得到404或类似的东西

当然,这还取决于您希望如何结束当前正在浏览的用户的会话-即,使用iptables或apache配置更改将意味着有人可能正在完成某项任务的一半,然后突然得到403

如果您想提供一个友好的“向下维护”消息,您可能还想考虑使用重写来将访问者重定向到维护页面,建议用户在站点再次可用时通知用户。 将其编码到你的应用程序中可以让你给人们几分钟的时间来完成他们正在做的事情(即一个页面通知,建议用户在被强制删除之前,他们有x分钟的时间来完成他们正在做的事情)

您可以将这两个选项结合起来:在23:55,将显示一条横幅,告知人们站点将在00:00-08:00不可用,然后使用iptables/apache配置/重写来限制访问

另一种想法是,如果你有一个包含公共内容的网站,你可能会看到搜索爬虫的问题——也就是说,它们只能间歇性地访问该网站,这可能会产生某种影响。(假设你想接触到尽可能多的人,让搜索引擎为你的页面编制索引将是很重要的)


编辑@amit-这个解决方案很好,现在我知道了,我肯定会建议这是一个更好的选择。但是,除非您别无选择(有关何时(不)使用.htaccess的更多详细信息,请参阅),否则我将避免输入.htaccess。

您无需cron作业,也无需使用这些.htaccess代码使.htaccess可写

    RewriteEngine On
    RewriteCond %{TIME_HOUR} >00
    RewriteCond %{TIME_HOUR} <08
    RewriteCond %{REMOTE_ADDR} !^123\.255\.123\.255 #replace this with your IP
    RewriteRule ^.* - [F,L] 
重新编写引擎打开
重写cond%{TIME\u HOUR}>00

RewriteCond%{TIME_HOUR}一种不安全的方法是创建2个htaccess文件(可写)和您的cron,以便在您需要的准确时间替换它们。您可以创建两个cron任务,一个在上午8:00运行,一个在午夜运行,第一个删除限制(考虑.htaccess文件将清空它),第二个(在午夜)添加一些行到.htaccess:)谢谢大家!!你们给了我很多思考的食物!!Mark-我将使用httpd.conf文件来实现任何更改。