从东部时间早上8点到午夜,每个人都可以访问网站,从午夜到早上8点,只有我的IP可以访问网站


Change website access from everyone from 8am to midnight EST to just my IP from midnight to 8am

我有一个问题,因为我不知道从哪里开始寻找答案。Web细节:Apache 5.3, Linux 3.2内核,Ubuntu 12.04, Mysql 5.5, PHP 5.3在VPN上。

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

当网站上线时,我希望它在美国东部时间早上8点自动切换到"允许所有公众",然后在午夜切换到"只允许我"。

我不知道从哪里开始我的调查。Apache编码吗?php编码吗?怎么啦?

建议任何人吗?

您可以在没有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] 

上面的代码将为您工作,它是一个更好的主意,也显示一个消息给您的访问者。

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

当然,这也取决于你想如何结束当前正在浏览的人的会话-例如,使用iptables或apache配置更改将意味着有人可能正在浏览某些内容的一半,突然得到403。

如果你想提供一个友好的"停机维护"消息,你可能还想考虑使用重写将访问者重定向到维护页面,通知用户何时该网站将再次可用。

将其编码到你的应用程序中可以让你给人们几分钟的时间来完成他们正在做的事情(即一个页面通知,建议用户在被强制删除之前他们有x分钟的时间来完成他们正在做的事情)。

你可以结合这两个选项:在23:55,显示一个横幅,告诉人们该网站将不可用从00:00 - 08:00,然后使用iptables/apache configs/rewrites来限制访问。

另一种想法是,如果你有一个有公共内容的网站,你可能会看到搜索爬虫的问题-即他们只能间歇性地访问网站,这可能会产生某种影响。(假设你想接触到尽可能多的人,让你的页面被搜索引擎索引是很重要的)。

edit @amit-这个解决方案很棒,现在我知道了,我肯定会建议这是一个更好的选择。除非你别无选择,否则我会避免使用。htaccess