[PHP-users 19257]PHPによる HTTP認証について

IT化推進センタ<大野> ohno3 @ head.hitachi-hec.co.jp
2003年 12月 8日 (月) 15:02:44 JST


PHP-usersの皆さん、はじめまして。
PHPを勉強して半年弱の初心者です。
どうしてもひとつ解決出来ないため、すみませんが教えて下さい。
―――――――――――――――――――――――――――――
 サーバ環境
―――――――――――――――――――――――――――――
 ● OS          Turbo Linux
 ● Apache      1.3.27  
 ● PHP         4.3.1
 ● PostgreSQL  7.2.2  

―――――――――――――――――――――――――――――
 経 過
―――――――――――――――――――――――――――――
header()関数を使って認証ウィンドウを表示させ、パスワード
ファイルの代わりにPostgreSQLを使ったDB認証処理をさせよ
うとしています。
認証が必要なページにBasic認証用のPHP変数である
 ● PHP_AUTH_USER
 ● PHP_AUTH_PW
を用い、認証ページ内でBasic認証の判定処理を行いまして上手
く動作しましたのでプログラム上は何等問題ありませんでした。

―――――――――――――――――――――――――――――
 質 問
―――――――――――――――――――――――――――――
しかし、プログラム単体では何等問題ないものの認証されないと
表示したくないデータ(gif, jpeg, pdf等など、拡張子.PHP以外
のもの)がURLを指定するともろに見えてしまいます。
これを上手く見せない方法はありませんでしょうか?
(Javascriptでソースの非表示やら右クリック禁止でURLを
 隠したものの、これでは芸がありませんし、ソースの暗号ソ
 フト購入では意味がないので・・・)

―――――――――――――――――――――――――――――
 勝手な思いつき
―――――――――――――――――――――――――――――
URL指定でモロに見えないように、一般的なBasic認証で
gif, jpeg, pdf等などが入ったディレクトリだけにApache
の制御ファイル「.htaccess」を置いて単純なパスワードを
設定し、PHPプログラムと「.htaccess」をうまく組み
合わせて(?)何とかコントロール出来ないでしょうか?
試しに.htaccessを設置したところ、PHPよりBasic認証が
優先して判定されてしまうようでした。

以上、ご教示いただければ幸いです。


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