- ベストアンサー
htaccessでドメインをアクセス禁止にしたい
.リファラスパムらしき多数のアクセスが「.ru」ドメインからあり、 htaccessに deny from .ru と記述し、.ruからのアクセスを禁止しているのですが、 アクセス解析を見ると相変わらず.ruからのアクセスがあります。 正しく記述していると思うのですが、何が間違っているんでしょうか? また、これらリファラスパムを排除する他に良い方法は無いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
応答ステータスが 200 になっている時、接続元のFQDNはちゃんと逆引きできていますでしょうか。 ドメイン名でのアクセス制限の場合、相手がDNSに逆引きの設定をしていないと制限できませんので、その場合はIPアドレスでの制限を行うか、Apacheの設定で制限するのでは無くCGIで制限処理をする方が良いかもしれませんね。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5243/13715)
アクセス解析の結果 .ru ドメインのサイトに対して、どのような応答を返している事になっていますか? deny from .ru でアクセス禁止にしても、相手は勝手にアクセスしてきますのでアクセスログには記録が残ります。 deny from が機能していれば相手に対して 403 forbbidden というステータスを返し、ページそのものは見せていないはずですので、解析結果をちゃんとみて応答ステータスが 403 なら正しく機能していますし、 200 なら機能していないという事になります。
補足
ステータスコードは403と200が混在しています。 200となっているのと403との違いはわかりません。 200のはユーザーエージェントをGooglebotと偽造しているのが多いですが、 同様にGooglbotとしても403になってるのもあります。 どちらも記述は "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" となっていて同じです。
補足
サーバー側が適切に逆引きできているかは不明です。 .ruからのアクセスはとても多くドメインが様々なので、.ru自体を制限したいのですが、 TLDをIPアドレスで制限というのは無理ですし、CGIで試してみます。 ありがとうございました。