mod_access_token

有効期限を指定して一時的なダウンロードを許可することができる素敵モジュール。
livedoorさんが公開してます。
http://labs.edge.jp/src/

PHPでダウンロードの制限をかける方法を探しててこのモジュールを発見
使ってみた時のメモ


環境
FreeBSD6.4
Apache/2.2.9
PHP 5.2.6

http://code.google.com/p/modaccesstoken/
ここからダウンロードして解凍
#./configure
#make install
でインストール完了

httpd.confに
LoadModule access_token_module libexec/apache22/mod_access_token.so
があることを確認

あとは制限かけたいディレクトリに設定を書き込む
私の場合は.htaccessに書きました。
virtualhostの設定に書いたりももちろんできます。
.htaccessに書く場合
AccessTokenCheck On
AccessTokenSecret 15cfb576a8bdc1551219fdeb3117ed85
AccessTokenAccessKey 7864ffcb01fb5cde1f1c2f37b619fbcd

confに書く場合

注意:このAccessKeyとSecretはexampleに書いてあるまんまなので使うときは書き換えてください

これでディレクトリ内のファイルにアクセスしにいくと403エラーがでるはずです。

次にURLの作成ですが

を見ると


  • AccessKey: httpd.conf 中であらかじめ設定しておいた AccessKey
  • Expires: 有効期限 UNIX エポックからの秒数
  • Signature: リクエストを認証する HMAC-SHA1 値を Base64 エンコードしたもの

Signature は以下の手順で生成します。


となっているのでこの通りに作ります
私はPHPでやりました。

 

コメント

タイトルとURLをコピーしました