|
ご無沙汰してます。 apache の .htaccess のネットマスクについて教えて頂けないでしょうか? ネットマスクがマスクする部分(ビットが0の部分、または、より右側のビット) に対応するIPアドレスのビットは、0にするのか1にするのかということ なのです。 例えば、133.205.78.73〜133.205.78.79 のホストのアクセスを禁止する場合、 (なお、2進と10進は以下の通りです。 01001 001b = 73d 01001 111b = 79d 11111 000b = 248d ) <Limit GET POST> order allow,deny allow from all deny from host </Limit> の host の指定方法なんですが、 133.205.78.72/255.255.255.248 又は 133.205.78.72/29 とすべきなのか、それとも 133.205.78.79/255.255.255.248 又は 133.205.78.79/29 なのでしょうか? http://japache.infoscience.co.jp/japanese_1_3/manual/mod/mod_access.html には、 > (すなわち 10.1.0.0/16 は 10.1.0.0/255.255.0.0と同じです) とあるんで、この例では、マスクされるビットが全部0になってますよね (10.1.0.0の最後の2バイト)。 でも、バイト単位でない場合には、マスクされるビットを全部1にしてる 例もみたものですから↓ http://www.med.teikyo-u.ac.jp/~morikawa/howto/access.html の >allow from 202.253.111.0/255.255.252.0 あるいは 202.253.111.0/22 では、111d = 01101111b ですからマスクされるビットは1になってます。 それとも、バイト単位の指定の場合だけ0にしてもいいのかな? |
|
多分「どちらでもよい」だと思います。 133.205.78.72/29 は、 10000101 11001101 01001110 01001000 のうち、最初の29ビットにマッチするもの を表すので、10000101 11001101 01001110 01001??? にマッチし、 結局 133.205.78.72〜133.205.78.79 にマッチする。 一方 133.205.78.79/29 は、 10000101 11001101 01001110 01001111 のうち、最初の29ビットにマッチするもの を表すので、10000101 11001101 01001110 01001??? にマッチし、 結局 133.205.78.72〜133.205.78.79 にマッチする。 ではないでしょうか。ネットマスクの意味からいって、 ネットマスク*外*のビットには、とくに意味はないと思います。 ただ、意味なくビットを立てるのはわかりにくいので、 僕なら 133.205.78.72/29 を選びます。 あと、わかっておられるとは思いますが、133.205.78.72/29 だと 133.205.78.72 自身も含まれますので、 > 133.205.78.73〜133.205.78.79 のホストのアクセスを禁止 にはなりません。 # 133.205.78.72/29 というドメインがあって、133.205.78.72 が # ゲートウェイアドレスなら構いませんが。 |
|
> # 133.205.78.72/29 というドメインがあって、133.205.78.72 が > # ゲートウェイアドレスなら構いませんが。 あれ、ホスト部が All zero な IP アドレスってゲートウェイじゃないかも。 133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。 |
|
おお、すばやいご回答、ありがとうございます。 >ネットマスク*外*のビットには、とくに意味はないと思います。 なるほど、分かりました。 >僕なら 133.205.78.72/29 を選びます。 この選び方の違いに過ぎなかったのですね。 >133.205.78.72 自身も含まれますので、 あっ、すいませんm(_ _)m 133.205.78と指定した場合は、133.205.78.1〜133.205.78.255だと いう記述をどこかで読んでたので、ここでも間違ってマスクされた ビットが全部0となる場合を除外してしまいました。 >133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。 話に付いて行けない…(苦笑) IPアドレスもちゃんと勉強しないといけないなぁ… |