• ベストアンサー

PEARのAUTHについて

PEARのAuthを使って、認証システムを構築しています。(PHP4.3.0+apache1.3.27+PostgreSQL7.2) 認証そのものはできるのですが、セキュアとするサイトで認証を行わせなくても、その中にあるファイル(*.docとか*.xlsとか)へ直接リンクさせる事で認証なしに開けてしまいます。 BASIC認証だと、そういう事はないのですが…。 直リンクでも、強制的に上位のフォルダの認証を通らせる方法はないものでしょうか。PEARのAuthって実はヘボ?なんじゃないかとショックを受けてます。

質問者が選んだベストアンサー

  • ベストアンサー
  • sou_sk
  • ベストアンサー率71% (15/21)
回答No.2

Apache のモジュールを使われてはいかがでしょうか。 google で検索すると色々出てきます。mod_auth_mysql とか。 Apache の ML や okweb の他のカテゴリに投げてみるのも手だと思います。 他にはアクセスコントロールを行うスクリプトを作って http://example.com/access?file=example.xls のようなアクセスを受け、認証を取ってからファイルを渡すような方法も考えられます。

参考URL:
http://www.google.com/search?q=%8A%EE%96%7B%94F%8F%D8+Apache+MySQL&lr=lang_ja
kyura
質問者

お礼

たびたびの回答ありがとうございます。 mod_auth_pgsql というのがありまして、これから試してみます。うまくいくといいのですが、あまり資料が無いので、うまくいかなかったらApacheカテゴリなんかで聞いてみようと思います。 ありがとうございました。

kyura
質問者

補足

最終的に mod_auth_pgsql で解決できました。ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • sou_sk
  • ベストアンサー率71% (15/21)
回答No.1

> その中にあるファイル(*.docとか*.xlsとか)へ直接リンクさせる事で認証なしに開けてしまいます 当たり前です(汗 > BASIC認証だと、そういう事はないのですが 当たり前です(汗 両者はそれぞれそういう物です。 PEAR::Auth に限らずベーシック認証以外のスクリプトベースの認証方法は PHP ファイル内で 1. GET, POST, Cookie から handle と password を取得 2. サニタイジング 3. 取得したhandle, password を元に認証を試みる 4. 処理 のような制御構造を取ります。ご覧になって分かるようにファイル単位でしか認証を取りません。まず勉強して、使い分けてください。webアプリケーションの基本構造も一通りさらってみた方が良いと思います。 内容の分からないものを使ってセキュリティも何もないので惜しまずに手をかけてください。 > 直リンクでも、強制的に上位のフォルダの認証を通らせる方法はないものでしょうか ベーシック認証で間に合いませんか。 ベーシック認証を行ってくれるらしき PEAR::Auth_HTTP というクラスもありますが内容は知りません。 これを使わなくても Apache 一つで十分だと思います。

参考URL:
http://pear.php.net/package-info.php?pacid=1
kyura
質問者

お礼

回答ありがとうございます。 >> 直リンクでも、強制的に上位のフォルダの認証を通らせる方法はないものでしょうか > >ベーシック認証で間に合いませんか。 これをすると、DB内にパスワードを追加したり、変更させたりすると、.passwordにも、パスワードを追加したり変更したりしなくてはならなくなるので、この整合を維持させるのが面倒だと感じました。 できれば、DB内のパスワードを使ってBASIC認証にならないものかな…と。 PEAR::Auth_HTTP は、これから調べてみようと思います。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A