• ベストアンサー
  • 暇なときにでも

.htaccess ファイルでのアクセス規制について

  • 質問No.2294209
  • 閲覧数143
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (6/12)

こんにちは、自己ホームページを運営しているのですが、他サイトによるコンテンツの盗用被害に遭ったため、
対策として以下のような .htaccess ファイルで特定のIPをアクセス禁止にしています。

order allow,deny
allow from all
deny from 123.456.789
deny from 789.456.123

怪しいIPはすべてブロックしているのですが、無関係のIPをはじいているかもしれません。

それでお聴きしたいのですが、ブロックしているIPのうち、1つのIPだけを自作の403エラーページ
(例えば、このサイトは閉鎖しました、など)へ飛ばし、ブロックしている残りのIPはディフォルトの
403エラーページに飛ばす、ということは可能でしょうか?
もし可能であれば、.htaccess ファイルはどのように記述すればよいでしょうか?

よろしくお願いいたします。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 58% (18/31)

apache で mod_rewrite が使える環境であれば、
.htaccess の deny from... の行を消して、その代わりに
--------
RewriteEngine On
RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.2
RewriteRule ^.*$ /site_closed.html [L,R=403]
RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.
RewriteRule ^.*$ /default_error.html [L,R=403]
------------------
のようにすれば、192.168.1.2 は site_closed.html に、他の192.168.1.* は default_error.html に飛ばすことができますが…

mod_rewrite が使えるかどうかは
$/usr/local/apache/bin/httpd -l | /bin/grep -i rewrite
でわかると思います。 (httpd のパスは環境に合わせてください)
補足コメント
AINH398

お礼率 50% (6/12)

ご回答どうもありがとうございます。

自作のエラーページに飛ばすIPを複数追加することは可能でしょうか?
RewriteCond ${REMOTE_ADDR} ^XXXXXX
の部分を追加して、IPを列挙すれば良いのでしょうか?
投稿日時:2006/07/27 16:49

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 58% (18/31)

>自作のエラーページに飛ばすIPを複数追加することは可能でしょうか?
RewriteCond ${REMOTE_ADDR} ^192\.168\.1\.2 [OR]
RewriteCond ${REMOTE_ADDR} ^192\.168\.10\.1 [OR]
...
RewriteRule ...
のように並記できます。詳しくは、mod_rewrite のページを見て下さい。

あと、初めてだと色々と失敗しがちで、しかも何が原因か分らないことが多いので、テスト時には
RewriteLogLevel 3
とかで、何が起きているのかを十分チェックするのをおすすめします。
お礼コメント
AINH398

お礼率 50% (6/12)

ありがとうございます。
何だか難しそうですが、やってみます。
投稿日時:2006/07/28 13:33
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ