.htaccessのアクセス制限で正規表現を使う

引っ越したら、IPがダイナミックIPになってしまった。
サーバーへのアクセス制御とか、Webアプリの設定ディレクトリの.htaccess制限とか、色々な設定が固定IPのようにすんなり設定できなくなってしまい、困ったものである。

そこで今回は、.htaccessでの制限時に正規表現をマッチさせて、できるだけレンジを狭めたアクセス制限をしてみたい。

割り当てられるIPは大分幅があるので、今回はホスト名を使う。
割り当てホストはこんな感じ。

z201***.dynamic.ppp.dacelo-net.or.jp

この***の部分が、毎回変わる。
かと言って.htaccessに
z201***.dynamic.ppp.dacelo-net.or.jp
と書いても正常に動作しないし、
.dynamic.ppp.dacelo-net.or.jp
だと動作はするが制限に幅がありすぎる。(dacelo-netのISPを使ってる人すべてが許可されてしまう)

そこで、SetEnfIfを使って独自の環境変数を設定する。

.htaccessでの正規表現 使用例

Order Deny,Allow
deny from all
allow from 192.168.1.1
SetEnvIf Remote_Host "z201[0-9]{3}\.dynamic\.ppp\.dacelo-net\.or\.jp" Access
allow from env=Access

4行目で「Access」という変数を作り、そこに正規表現でリモートホストを設定する。
5行目で変数「Access」を許可するという仕組み。

広告

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *