- ベストアンサー
APACHEで画像BASIC認証以外でアクセス制限するには?(PHPやperlで)
こんにちは, タイトルどおり,現在webページを作成しているのですが,.gifや.pngファイルにアクセス制限をしたいのです。ただ,サーバースクリプトなどを使用してもいいので,BASIC認証以外で制限をしたいのですが,それは可能なのでしょうか。 ちなみに,OSはLinuxでサーバーはApacheを使用しています。また,PHPLIBとPostgresを使用して,ユーザ認証を行っています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Apacheの大半の機能は、Apache本体ではなく、モジュールと呼ばれるライブラリで提供されています。モジュールには、Apacheと一緒に配布されているものもあれば、そうでないものもあり、以下から探すこともできます。 http://modules.apache.org/ ↑から、Postgresを使ったユーザ認証機能を提供しているmod_auth_pgsqlというモジュールが探せます(参考URLを見てください)ので、これをインストールしてアクセス制限したいディレクトリに設定しておけば、PHPからDBにアクセスする必要もなく、.phpも.gifも*.pngも同じようにアクセス制限することができるはずです。(わたしはmod_auth_pgsqlを使ったことがないので、このモジュールの詳細まではわかりません)
その他の回答 (2)
- abayama
- ベストアンサー率48% (38/79)
Apacheはダイジェスト認証もサポートしています。 http://httpd.apache.org/docs-2.0/mod/core.html#authtype ベーシック認証の延長で、クライアント証明書を使った認証をすることもできます。 http://httpd.apache.org/docs-2.0/mod/mod_ssl.html もうちょっとどういうイメージでのアクセス制限を考えられているのか書いていただければ、また違う回答ができるかもしれません。
- FoggyMountain
- ベストアンサー率21% (79/372)
>それは可能なのでしょうか。 可能です。
お礼
どのような方法で実装するのでしょうか? もしよろしければ,ご伝授ください。
お礼
こんにちは, 回答ありがとうございした。 APACHEでダイジェスト認証があるのは知っておりました。 具体的には,現在,「質問」にも書きましたように,PHPからpostgresにアクセスし認証するメンバーページを作成しております。 .htaccessからauto_prepend_fileにて自動的にPHPのインクルードファイルをインクルードし,その中でデータベースにアクセス,そしてユーザが認証されたときには,そのページを表示するようにしています。 今は,ページ自体は.PHPで作成していまして,.htaccessではapplication/x-httpd-php .phpを設定しています。 ページ自体はこのようにしてデータベースを使用してアクセス制限をしているのですが,画像に関しては,直接アドレスを入力すると,その制限が効かないのです。 データベースに登録されているユーザのみが見れるようにするにはどうすればいいのでしょうか。