.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」を許可するという仕組み。
広告