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

In: apache

19 3月 2013

引っ越したら、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」を許可するという仕組み。

コメント

Comment Form

About this blog

ここは、SE見習いである私ことdaceloが、日夜習得していくシステム関連の備忘録、phpやWordPressTipsのネタ、あるいはSEOやWebマーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。

カテゴリー

カテゴリー

アーカイブ