最近PHPを勉強している初心者です。
会員制サイトの構築を考えています。
基本的な仕組みは
・会員はHTML上のフォーム入力によりログイン
・PHPから、MySQLに保存された会員データベースを呼び出して認証
・セッションを用いて会員用ページにアクセス
のようにしようと思います。
しかし、この仕組みではページへのアクセス制限しかできません。
具体的には会員用ページにのPDF文書を置きたいのですが、
ログインせずともURL直接アクセスでDLできてしまいます。
DL用ファイルへのアクセスも含めて制限するのであればBasic認証などが考えられます。
ですがユーザーに2度もパスワードを入力させるわけにはいきません。
パスワードの管理も2重になり、煩雑です。
このような場合、どうやってアクセス制限するのが良いのでしょう。
要点は
・DL用ファイルを含むすべての会員用コンテンツにアクセス制限をかける
・認証は1回のみ(できればフォームで)
ということです。
類似の質問には目を通したつもりですが、解決できませんでした。
よろしくお願い致します。
No.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も大変参考になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- その他(ネットショッピング・通販・ECサイト) URLの有効期限について 1 2022/09/10 16:41
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 1 2023/03/15 20:44
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- その他(暮らし・生活・行事) → ※このメールは、ファミマTカードをファミペイに登録されたことがある会員様にお送りしております。す 4 2023/05/03 12:24
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 3 2023/03/25 04:08
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- HTML・CSS 詐欺メールがまた来ました。5月に入ってから頻度が上がってます。なぜでしょうか? 7 2023/05/08 17:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Edgeでページが開け...
-
スペースデスクというアプリは...
-
有線LAN のセキュリティについて
-
iiyama ProLite XUB2390HSの起...
-
URLが開けずホームページが見る...
-
Webゆうパックプリントとプリン...
-
httpをhttpsにしたい
-
ウェブページへのアクセス不可 ...
-
Webサーバ(yuzu.uja.or.jp)に...
-
お願いいたします。ホームペー...
-
スマホのウイルスって聞いたこ...
-
オリックス
-
PC Cleaner
-
httpサイトの危険性について
-
無線LAN設定時の通信について
-
至急教えてください! このサイ...
-
マインクラフト ポート開放につ...
-
(SPSS研修)ログインできない理由
-
あるサイトに、繋がる回線と繋...
-
ルート証明書の有効期限がだい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム要素の文字数制限について
-
fc2無料HPのディレクトリアクセ...
-
フォームの文字数制限を解除したい
-
HPにアクセス制限をかけるために
-
Perlでマックアドレスの取得
-
HPのアドレス統一?
-
無料掲示板で書き込みは特定の...
-
1日1回しかアクセスできないページ
-
【再】.htaccessでアクセス制限...
-
ホームページへのパスワード設...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
エクセルで相対パスの書き方を...
-
アンケートなどの1日1回の投...
-
DBを10件毎に表示ページング...
おすすめ情報