Apacheのモジュールを作りたい
Web上で会員制のサービスなんかを作っていると、いわゆる静的なファイルに対しても会員認証を行いたくなる場合があります。例えば会員のみに画像を見せたいっていう場合です。
そういった場合、一般的な解決策としては
があります。
会員認証を行えるスクリプト経由で画像を呼び出す場合、例えば画像のパスを
http://www.example.com/img.php?p=/image/001.jpg
とかにして、スクリプト部分で認証を行い、OKだったら画像を出力するのですが、この場合画像のパスを全部この形式で書かなきゃいけないので(ページ制作が)大変です。
それに個人的な感覚として、外部からはファイルのパスを受け付けたくないです。そうすると画像にIDを割り当てて…とかになるのですが、多分制作する人がブチ切れます。
サーバの提供するBasic認証を使用した場合、指定したディレクトリ以下へのアクセスに対して認証を行う事ができるので、ファイルを置く場所さえ気をつければ制作は楽です。
しかし、例えばApacheでBasic認証を行うモジュールのmod_authはテキストファイルの内容を元に認証を行うため、会員が増えれば増えるほどに遅くなって大変です。
テキストファイルではなくDBを利用するモジュールもありますが、画像が沢山あるページを開いたら大量のクエリが飛ぶ*1事になって、多分サーバ管理者がブチ切れます。
もっと良い方法は無いかと調べてみると、どうやらApacheのモジュールを作ってしまうのが一番手っ取り早いみたいです。
で、本を買ってみました。
Apacheモジュール プログラミングガイド (Advanced Server‐side programmingシリーズ)
- 作者: 小山浩之
- 出版社/メーカー: 技術評論社
- 発売日: 2003/08/01
- メディア: 単行本
- 購入: 1人 クリック: 81回
- この商品を含むブログ (26件) を見る
次回以降、多分Hello Worldって表示したりのモジュール制作過程をお送りする予定です。
ちなみに、モジュールはC言語で書くんですが、C言語と言えばちょっと大きめのファイル(coreって名前)が勝手に生成されるプログラムくらいしか書いた事がありません。