![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
phpでファイルをサーバーにアップロードし、ログインしないとそのファイルにアクセスできないというシステムを作りたいと考えています。
現在ログインしてアップロードするところまでは作りました。
そのファイルをたとえばmixiのように公開・非公開の設定を設けて、ログインしないと閲覧できないようにするにはどうしたらいいのでしょうか。
属性の意味があまり分かっていないのですが、いろいろ変更してみても閲覧できるか、できないかの2通りになってしまって、ログインされているかどうかでアクセスのしかたをかえる方法が分かりません。
漠然とした質問で申し訳ありません。何かヒントだけでもいただけると助かります。
サーバー:apache
言語:php
No.2ベストアンサー
- 回答日時:
> たとえば、アップロードしたファイルの場所が/dir/image.jpgだとすると、ドメイン名+このurlをブラウザのアドレスバーに打ち込むことで閲覧できてしまうのです。
これを防ぐにはどうしたらいいのでしょうか?・ドキュメントルートの外に置く
・/dir をアクセス制限する
どちらにしても、ログイン状態のチェックと、目的のファイルを読み込んで表示する装置が必要です。
回答ありがとうございます。
できました!
/dirのアクセス制限の仕方が分かっていませんでした。
ディレクトリの属性値についてよく分かっていなかったことが問題でした。
warezさん、Crystalizeさん気にかけてくださってどうもありがとうございました。
No.1
- 回答日時:
こんにちは。
具体的なPHPのプログラムというよりは方法のざっくりとした話になりますが、例えば、データベースを使うことができるのであれば、登録したユーザーのユーザー情報用のテーブル(IDとパスワード等を入れたもの)を作っておいて、アップロードしたファイル情報用のテーブル(ファイル名とそれをアップロードしたユーザー情報)も作り、ファイルにアクセスする際に、テーブルを参照して該当するユーザーであればファイルを開く事ができ、該当しないユーザーであればエラーを出す、
というような感じで作れば実現できると思います。
ちなみに、サーバー上のファイルそのものの属性や所有者は、ネットという不特定多数の環境からアップロードすれば、Apacheで指定したユーザーになるので、phpでファイルをアップロードしたユーザーとは概念が異なると思います。
以上ですが、参考になれば幸いです。
早速のご回答ありがとうございます。参考になりました。
ですが、一つ懸念されることがあるのです。
たとえば、アップロードしたファイルの場所が/dir/image.jpgだとすると、ドメイン名+このurlをブラウザのアドレスバーに打ち込むことで閲覧できてしまうのです。これを防ぐにはどうしたらいいのでしょうか?
mixiは画像を非公開などにすると、アドレスバーからアクセスしても閲覧できないようになっているんです。
もし分かりましたら回答よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Wi-Fi・無線LAN FTPクライアントソフト Wi-Fiだと繋がらない 3 2022/11/29 19:56
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(Microsoft Office) Office(Windows版,Word/Excel/PowerPoint等)にログインできません 4 2022/07/24 15:18
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- LINE LINEの不正ログインについて パソコン等からのログインは拒否設定していますが、万が一スマホから不正 1 2023/06/18 12:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
BASP21のFTPで日本語ファイル名...
-
youtubeに音声のみのmp4ファイ...
-
Dreamweaver ドリームウィーバ...
-
ファイルアップロード aviファ...
-
全角ファイル名をアップロード...
-
phpで巨大なファイルをアップロ...
-
ファイルのアップロードでパス...
-
ファイルをアップロードするには
-
CSVファイルのアップロードにつ...
-
フォントの色を変えるには?
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
バッチを用いたフォルダの自動移動
-
ファイル一覧を表示しその画面...
-
文字化けについて
-
PHPのif文でその処理を途中で抜...
-
eclipseのエラーの意味
-
透過PNGが透過されない!!
-
空メールの作り方教えて欲しい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
youtubeに音声のみのmp4ファイ...
-
ftpでアップロードが出来ない
-
VBでクラウドストレージにア...
-
ファイルサイズがpost_max_size...
-
ファイルをGET送信でアップロー...
-
FTPClientで転送結果(OKかFAIL)
-
10MB以内のJPG画像
-
「クラウドにアップロード」」...
-
どうして送信されないのでしょ...
-
BASP21のFTPで日本語ファイル名...
-
php,file_get_contentsの結果が...
-
全角ファイル名をアップロード...
-
PHPにてWebサーバー内データを...
-
aws cloud9というものを使って...
-
■PukiWiki アップロード可能な...
-
move_uploaded_fileについて
-
Dreamweaver ドリームウィーバ...
-
pixivのイラスト投稿の仕方を教...
-
ファイルのアップロードで、フ...
おすすめ情報