[PHP-users 26587] PHPで独自のディレクトリ認証を

nomoto shin-1 @ ca2.so-net.ne.jp
2005年 8月 25日 (木) 12:14:43 JST


 nomotoです。

「そのサイトにアクセスされてから(トップページにアクセスされてからと
限定してもOK)、10分が経過したら、特定のディレクトリに設置されている
ページには、アクセスできないようにする。」
というサイトを作ろうとしています。
「事前登録したIDパスワードでログインすれば、ブラウザを閉じるもしくは
ログアウトするまで、継続して自由に上記ページへのアクセスも可能」
という事をできないかと思っています。

考えたのは、PHPのセッション機能をつかって、初めてページにアクセスした
時のunix timeを記録しておき、ファイル(もしくはページ)アクセスのたび
にtimeで比較を行い、10分経過&未ログインであれば、エラー画面へLocation
で飛ばすという方法です。

実装する方法として、Apacheでファイルにアクセスするたびに、事前にPHP
スクリプトを動作させてセッション中の認証状態をチェックして、表示させて
よいかをチェックできれば、Apacheの基本認証と同等のディレクトリ内の
全ファイルに対しての保護ができると思いますが、そのような事を行う手段
や仕組みはあるのでしょうか?

もうひとつは、一歩譲歩して、保護する対象をhtmlファイルだけとしたなら、
そのディレクトリの拡張子.htmlに対してphpとして動作するようにAddHandler
を行い、全ての.htmlファイルの先頭に<?php check_auth(); ?>とタグをつけて
ファイル単位で認証チェックを行うしかないかなと思っています。

後者の方法なら、期待する事が実現可能だろうと思いますが、htmlファイルの
枚数が非常に多いために一括して認証処理をかませたいという事と、後者の
ほうほうだとバイナリファイルは保護できなくなるため、いい方法は無いかと
模索しています。

こうすればいいとか、こういうページが参考になるといった情報がありました
ら、教えてください。

よろしくお願いします。



PHP-users メーリングリストの案内