- ベストアンサー
htaccessでのアクセス拒否が効かない
- あるホストからのアクセスを.htaccessで拒否しているにもかかわらず、最初は効果があったが、1ヶ月後に再びアクセスが始まった。
- htaccessの設定において、.xxxx.comからのアクセスを拒否しているが、効果が持続しない。
- .htaccessを使用してアクセス拒否の設定をしたが、1ヶ月後に再びアクセスが始まった。なぜ拒否設定が効かないのだろうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>アドレス(xxxx.com)からの閲覧が始まりました。 access.logを確認して上記の状態ですか? access.logにログは残っているが、HTTPコード403を返しているならば 「閲覧」は出来ていませんよ あと、apacheの設定ファイルの該当ディレクトリの上位ディレクトリ設定で、 AllowOverrideをNoneに変更したか あるいは、Limitを外したりしませんでしたか?
その他の回答 (2)
>This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page it means that the Apache HTTP server installed at this site is working properly. これは、webサーバ(apache)のデフォルトのテスト画面です denyにしてこれが出るのは、 レンタルサーバの運用担当者がapache設定に、403(アクセス権限なし)ページを表示すべきところを、apacheのテストページを割り当てている様です この状態ですと、 denyにしても、アクセス解析では正常に貴方のページを表示したと記録され、アクセス数にカウントされている可能性があります よって、本来denyにした.xxxx.comからアクセスしても 上記のテストページが表示されてしまうため、 アクセス解析上ではアクセス数にカウントされたと思われます 本来、denyにしたら、403ページが表示されるのが普通ですので、 レンタルサーバ管理者が、apacheの設定を間違えている可能性があります 解決するには、 レンタルサーバ会社に連絡して、 「denyでアクセス制限するとapacheのテストページが表示されておかしい」旨を伝えてください
お礼
ありがとうございます。 すっきり致しました。ご教示いただいたとおりレンタルサーバ会社に 問合せてみます。
apacheとはwebサーバの1つで、もっともメジャーですが、 とりあえず、サーバの種類は気にしなくてもいいです >レンタルサーバを借りて、ホームページを立ち上げていますが、 1.まるごと1台レンタルでしょうか? 2.ホームページスペースのみレンタルでしょうか? 1のケースだと、webサーバのアクセスログ(apacheであればaccess.logに記録されます)を参照できると思いますが、 2のケースだと無理ですね 補足を拝見した限りでは、2のケースだと思いますので そのつもりで説明させていただきます >アクセスがばったり、無くなりました。 とありますが、access.logは参照出来ないはずなので、 何を確認してアクセスが止まったり、始まったと確認されたのでしょか? web解析ツールでしょうか? >あと、apacheの設定ファイルの該当ディレクトリの上位ディレクトリ設定で、AllowOverrideをNoneに変更したかあるいは、Limitを外したりしませんでしたか? と、書きましたが、webサーバの設定ファイルを触ることが出来ないはずなので、貴方は変更でき無いはずです まず、htaccessがちゃんと機能しているか確認したいと思います htaccessに order allow,deny deny from all と記述して 自分でホームページを見れるでしょうか?見れないでしょうか? 見れるのであれば、htaccessが機能していません ホームスペースを借りているところに確認を取ったほうがよろしいでしょう 見れなくなったのであれば、htaccessは機能しています この場合、振り出しに戻りますが、まずアクセスの有無をなにで確認して、具体的にどのように記録されているか教えていただかないと、 解決は難しいかな
補足
レンタルサーバでは共用となっていますので、ホームページスペースのみレンタルということになると思います。 訪問しているかどうかは、そのレンタルサーバ会社の有料のweb解析ツールです。 htaccessがちゃんと機能しているかどうかを確認するため、 deny from allの代わりに、 deny from .asahi-net.or.jp(自分のプロバイダ)で試してみました。 結果は、自分のHPにアクセスできませんでした。その時に出てきた画面のメッセージの中に次のような記述がありました。 This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page it means that the Apache HTTP server installed at this site is working properly. そして、htaccessを元の内容に戻したら、自分のHPは見ることができるようになりました。 ですので、htaccessは機能しているはずです。 そのアクセス拒否したドメインは、何等かの方法でhtaccessの拒否を 掻い潜って、アクセスしたしか思えません。 ちなみに、2ヶ月前にhtaccessを設置してから、その内容は一切変えておりません。 変えたのは、上記の確認テストをしたときだけです。
補足
申し訳ございません。 専門外なので、access.logやapacheが何なのか分かりません。 レンタルサーバを借りて、ホームページを立ち上げていますが、 あるアドレスからのアクセスを防ぎたくて、インターネットで検索したら、 『order allow,deny allow from all deny from 』を記述 した.htaccessを設置したら、そのアドレスからのアクセスが制限できるということを知り、 単純にその設置をしただけです。恥ずかしながら、何も分かっておりません。 .htaccessの設置だけでなく、access.logやapacheの設定などが必要だったのでしょうか? ホームページへのアクセス拒否を記述したサイトで、access.logやapacheのことを書いたものを 見つけることができませんでしたので、 できましたら、その事まで触れた『ホームページへのアクセス拒否』に関するサイトをご紹介いただけませんでしょうか?