• ベストアンサー

htaccessでIP制限。111.222.333.1~111.222.333.20までに許可を与えるにはどのように記述しますか。

allow fromに111.222.333.としてしまうと111.222.333.のすべてのIPからアクセスされてしまいますが、最下層の一部のIP(例:1から20番)からのみアクセスを許すにはどのように書けばよろしいのでしょうか。下記のようでしょうか。 <Limit GET POST> order deny,allow deny from all allow from 111.222.333.1/20 </Limit>

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

  • ベストアンサー
  • liq
  • ベストアンサー率38% (228/595)
回答No.2

111.222.333.1/20 の20は、全32ビットのうち最上位から20ビットを意味します。この場合は、111.222.333.1と上位20ビットが同じならアクセス許可することになります。ですから、No.1の方が書かれているように、意図するよりはるかに広い範囲のIPアドレスを許可してしまいます。「上位24ビットが同じで最下位8ビットが1~20の範囲を許可する」には、No.1の方の書かれているものがわかりやすいですが、もっと少ない記述でも可能だと思います。 カッコ内は、その記述で許可されるアドレスの下位8桁(二進数)を示しました。 allow from 111.222.333.1/28 (00000000~00001111の範囲) allow from 111.222.333.16 (00010000) allow from 111.222.333.17 (00010001) allow from 111.222.333.18 (00010010) allow from 111.222.333.19 (00010011) allow from 111.222.333.20 (00010100)

daipot
質問者

お礼

ありがとうございます。IP記述のいい勉強になりました。

その他の回答 (1)

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.1

allow from 111.222.333.1/20 と記入してしまうと、111.222.333.1の20ビットのマスクという解釈になりますので、膨大なIPが対象となります。 この場合ですと素直に allow from 111.222.333.1 allow from 111.222.333.2 allow from 111.222.333.3 . . . allow from 111.222.333.20 とするのがよいのでは?

daipot
質問者

お礼

ありがとうございます。実際は100近くのIPを書かなければならず、手軽な方法がなくて残念です。

関連するQ&A