下記のリモートホストの条件で.htaccessを設定したいのですが、、
1.リモートホストの末尾が”.net”だけ許可したい
2.しかし末尾が”.aa.net”は拒否したい
3.さらに”.bb.aa.net”だけは許可したい
という欲望があるとき、
------------------------
Order allow,deny
deny from all
allow from .net
deny from .aa.net
allow from .bb.aa.net
------------------------
なんていり混ぜちゃだめですよね?(そういう例がどこにも見当たらなかったので・・・)
Basic認証とかcgiといった代替案以外の、.htaccessの設定で上記のアクセス許可の条件を満たす方法を教えてください。もし、無かったら回答しないで下さい。
※(質問に対する正確な回答のみお願いします)
※(URLはダミーでもかまいません)
http://httpd.apache.org/docs-2.1/ja/mod/mod_authz_host.html#allo...
mod_authz_host - Apache HTTP サーバ
通常、AllowとDenyの順しか定義できませんが、mod_setenvifが使えれば、事前に正規表現によって変数を定義し、アクセス制限を振り分けられます。
>1の回答ke_ishi さん
mod_setenvifが使えればとありますが、具体的な使用方法について教示という形で明記されていません
>2 kuku1006さん
質問の要件に即した回答ではありません。
--------
以降の方は、上記条件で具体的な記述方法を教えてください
SetEnvIf Remote_Host ¥.net$ auth_ok
SetEnvIf Remote_Host ¥.aa¥.net$ !auth_ok
SetEnvIf Remote_Host ¥.bb¥.aa¥.net$ auth_ok
Order Allow,Deny
Deny from all
Allow from env=auth_ok
てなところでしょうか。
でも、あの説明見て考えても思いつかないのであれば、他の設定にずいぶんと苦労されるでしょうね。
http://httpd.apache.org/docs-2.1/ja/mod/mod_authz_host.html
mod_authz_host - Apache HTTP サーバ
Order Allow,Deny
Allow from .net
Deny from IPアドレス
IPアドレスの部分に、.aa.netドメインに属するIPアドレスのうち、
.bb.aa.net以外の物を書きます。
.aa.netのネットワーク構成次第では大変な手間になります。
コメントしないまま送信しちゃいました
>ke_ishiさん
ありがとうございます。勉強不足でお手数おかけしてすみません。おっしゃるとおり苦労してます。とほほ
> oddfancyさん
その方法もありますけど、おっしゃるとおりネットワーク構成次第ではあまり現実的ではなさそうですね。
-----------------------------------
ここで締め切らせていただきます。
ありがとうございました。
二重投稿・・・orz