2

どこから答えを探せばいいのかわからないので、質問があります。Web の詳細: VPN 上の Apache 5.3、Linux 3.2 カーネル、Ubuntu 12.04、Mysql 5.5、PHP 5.3。

現在、/etc/httpd.conf ファイルを介してこの Web サイトへのアクセスを制御しています。(拒否、許可、すべてから拒否してから、MY IP から許可)。また、サイトには商用 SSL 証明書があります。

Web サイトが「ライブ」になると、EST の午前 8 時に自動的に「すべて許可 - 一般公開」に切り替わり、真夜中に「自分だけを許可」に切り替わります。

調査を開始する場所がよくわかりません: cron? アパッチコーディング?phpコーディング?何?

提案は誰ですか?

4

2 に答える 2

2

これらの .htaccess コードを使用して、cron ジョブや .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] 

上記のコードは問題なく機能します。また、訪問者にメッセージを表示することをお勧めします。

于 2013-03-28T06:29:08.473 に答える
1

Apache の構成を変更するのではなく、IP テーブルのルールを変更する cron ジョブをお勧めします。そうすれば、ユーザーがあなたのサイトにアクセスすることはなく、404 などのメッセージが表示されることを心配する必要もありません。

もちろん、現在ブラウジングしている人々のセッションをどのように終了させたいかにもよります。つまり、iptables や apache 構成の変更を使用すると、誰かが何かの途中で突然 403 を取得する可能性があります。

フレンドリーな「メンテナンスのためダウン」メッセージを提供したい場合は、リライトを使用して訪問者をメンテナンス ページにリダイレクトし、サイトが再び利用可能になる時期をユーザーに知らせることも検討してください。

アプリケーションにコード化することで、ユーザーが行っていることを完了するのに数分を与えることができます (つまり、強制的に削除される前に、何をしているかを完了するのに数分かかることをユーザーに通知するページ通知)。

そして、2 つのオプションを組み合わせることができます。23:55 にバナーが表示され、サイトが 00:00 から 08:00 まで利用できなくなることを人々に通知し、iptables/apache configs/rewrites を使用してアクセスを制限します。

もう 1 つの考えとして、パブリック コンテンツを含むサイトがある場合、検索クローラーに問題が発生する可能性があります。つまり、サイトに断続的にしかアクセスできず、何らかの影響がある可能性があります。(できるだけ多くの人にリーチしたい場合、ページを検索エンジンにインデックスしてもらうことが重要です)。

編集@amit-その解決策は素晴らしいです。私はそれを認識したので、それがより良い代替手段であることを間違いなく提案します。ただし、他に選択肢がない限り、.htaccess を配置することは避けます(.htaccess を使用する (しない) 場合の詳細については、こちらを参照してください)。

于 2013-03-28T06:26:43.753 に答える