• ベストアンサー

APACHEで画像BASIC認証以外でアクセス制限するには?(PHPやperlで)

こんにちは, タイトルどおり,現在webページを作成しているのですが,.gifや.pngファイルにアクセス制限をしたいのです。ただ,サーバースクリプトなどを使用してもいいので,BASIC認証以外で制限をしたいのですが,それは可能なのでしょうか。 ちなみに,OSはLinuxでサーバーはApacheを使用しています。また,PHPLIBとPostgresを使用して,ユーザ認証を行っています。 よろしくお願いします。

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

  • ベストアンサー
  • abayama
  • ベストアンサー率48% (38/79)
回答No.3

Apacheの大半の機能は、Apache本体ではなく、モジュールと呼ばれるライブラリで提供されています。モジュールには、Apacheと一緒に配布されているものもあれば、そうでないものもあり、以下から探すこともできます。 http://modules.apache.org/ ↑から、Postgresを使ったユーザ認証機能を提供しているmod_auth_pgsqlというモジュールが探せます(参考URLを見てください)ので、これをインストールしてアクセス制限したいディレクトリに設定しておけば、PHPからDBにアクセスする必要もなく、.phpも.gifも*.pngも同じようにアクセス制限することができるはずです。(わたしはmod_auth_pgsqlを使ったことがないので、このモジュールの詳細まではわかりません)

参考URL:
http://www.giuseppetanzilli.it/mod_auth_pgsql/

その他の回答 (2)

  • abayama
  • ベストアンサー率48% (38/79)
回答No.2

Apacheはダイジェスト認証もサポートしています。 http://httpd.apache.org/docs-2.0/mod/core.html#authtype ベーシック認証の延長で、クライアント証明書を使った認証をすることもできます。 http://httpd.apache.org/docs-2.0/mod/mod_ssl.html もうちょっとどういうイメージでのアクセス制限を考えられているのか書いていただければ、また違う回答ができるかもしれません。

yu393939
質問者

お礼

こんにちは, 回答ありがとうございした。 APACHEでダイジェスト認証があるのは知っておりました。 具体的には,現在,「質問」にも書きましたように,PHPからpostgresにアクセスし認証するメンバーページを作成しております。 .htaccessからauto_prepend_fileにて自動的にPHPのインクルードファイルをインクルードし,その中でデータベースにアクセス,そしてユーザが認証されたときには,そのページを表示するようにしています。 今は,ページ自体は.PHPで作成していまして,.htaccessではapplication/x-httpd-php .phpを設定しています。 ページ自体はこのようにしてデータベースを使用してアクセス制限をしているのですが,画像に関しては,直接アドレスを入力すると,その制限が効かないのです。 データベースに登録されているユーザのみが見れるようにするにはどうすればいいのでしょうか。

回答No.1

>それは可能なのでしょうか。 可能です。

yu393939
質問者

お礼

どのような方法で実装するのでしょうか? もしよろしければ,ご伝授ください。

関連するQ&A