- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP・セッションでのユーザー認証サイトでDL用ファイルへのアクセスも同時に制限するには)
PHP・セッションでのユーザー認証サイトでDL用ファイルへのアクセスも同時に制限するには
このQ&Aのポイント
- 会員制サイトの構築を考えている初心者です。セッションを用いたユーザー認証サイトで、DL用ファイルへのアクセス制限を実装したいと思っています。
- 現在の仕組みでは、会員用ページへのアクセス制限しかできず、PDF文書などのDL用ファイルへのアクセス制限ができません。しかし、ユーザーに2度もパスワードを入力させるのは煩雑です。
- DL用ファイルを含むすべての会員用コンテンツにアクセス制限をかけるためには、一度の認証で制限を行う方法が必要です。どのように実装するのが良いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のような方法が良いかと思います。 (1)セッションを調べて認証OKだったら、DL対象のファイルをオープンして、その内容をクライアント(ブラウザ)にレスポンスするPHPプログラムを作成する。 (2)DLリンクは、上記のPHPプログラムに張る。 (3)DL対象のファイルは、Webサーバの公開ディレクトリの外に置く(URL直接アクセスを避けるため) 上記(1)については、以下のページが参考になると思います。 http://www.spencernetwork.org/memo/tips-5.php このページのサンプルPHPプログラムの頭の方に、セッションによるユーザ認証処理を入れてやればよいと思います。また、mb_http_output('pass'); を指定する必要がある場合もあります。
お礼
・.htaccessなどで非公開ディレクトリを設定し、その中にDL対象ファイルを置く。 ・対象ファイルはPHPからオープンし、ユーザーに渡す。 ということですね。 これならできそうです。URLも大変参考になりました。 ありがとうございました。