私は現在、Slim 3を使用して単純なファイルホスティングスクリプトを構築しています。現在、自分のパブリックディレクトリと同じレベルのユーザーフォルダを持っています。これで、ユーザーフォルダ内のファイルにアクセスしようとしているので、ドキュメントルートがユーザーフォルダにアクセスできないためにエラーが発生しています。私のパブリックフォルダの中にユーザーフォルダを置くことは、技術的にはログインしたユーザーの公開情報になるので、より良い考えですか?ユーザーフォルダはSlim 3プロジェクトのどこにあるべきですか?
1
A
答えて
1
これらのファイルは、特定のユーザー専用である場合、またはすべてのユーザーが使用できる場合にのみ表示されます。
ファイルをプライベートにする必要がある場合、誰もがURLをハックしてそのファイルにアクセスできるため、ファイルを公開することはできません。したがって、data
ディレクトリに入れて、/file/{username}/{name}
のようなエンドポイントを使用して利用可能にする必要があります。
このようなエンドポイントでは、ファイルタイプについてヘッダーを簡単に追加することも、ブラウザーウィンドウにダウンロードしたり表示したりすることもできます。その他の資産として、デフォルトで処理されますどのようなWebサーバーに公開する
1
:
- そのURLはURLを知っていれば、あなたがそれをダウンロードすることができ、実際のファイル名
- に基づいています
- それはあなたは確かにこのすべての懸念に対処することができます(そのうちのいくつかもあなたのユースケースについての懸念ではないかもしれない)それは
に実行されます.php
ファイルなら私これが典型的なユーザー管理のディレクトリツリーの理想的なレイアウトだとは思わないようにしてください。あなたの現在のアプローチは私にはもっと意味があります。
このようなファイルにアクセスするには、すべての適切なチェック(アクセスチェックなど)を行い、URLからのファイルシステムを照合し、そのアセットを静的ファイルとして提供する適切なダウンロードスクリプトを作成する必要があります。スリムでは、パラメータを持つルートを作成し、これらのすべてを行うハンドラ関数を記述することを意味します。
関連する問題
- 1. ライブラリはどこでRails 3に入るべきですか?
- 2. ホスト上のドッカーボリュームはどこにあるべきですか?
- 3. RoRプロジェクトでは、すべてのライブラリファイルはどこにありますか?
- 4. データベースクエリーはどこにあるべきですか?
- 5. ルビ定数はどこにあるべきですか?
- 6. URLのオプションパラメータ - Slim 3
- 7. .NETプロジェクトでその他の機能はどこに置くべきですか?
- 8. このオントロジーの成果はどうあるべきですか?
- 9. Swaggerize-Restifyプロジェクトで共通エンドポイントのアルゴリズムはどこに置くべきですか?
- 10. 大きなAndroid 3. *の例はどこにありますか?
- 11. Slim PHPフレームワークでのセッションはどこですか?
- 12. すべてのプロジェクトに影響を与えるには、どこに.gitignoreを置くべきですか?
- 13. Slim 3.xを手動でインストールする
- 14. Slim 3 with Doctrine 2
- 15. Slim Framework 3のPHPスコープ
- 16. エラー:スリムインスタンスはSlim \ Views \ Twig、Slim \ Containerである必要があります
- 17. Webアプリケーション(mavenプロジェクト)でjava.util.loggingのlogging.propertiesファイルをどこに置くべきですか?
- 18. Windsorインストーラをどのプロジェクトに入れるべきですか?
- 19. Slim 3 - get/put/post変数をすべて取得する方法は?
- 20. 3層アーキテクチャでは、DAOパターンはどこにありますか?
- 21. プロジェクトのローカルパッチバージョンをどのように表すべきですか?
- 22. Flex 3:プロジェクトのコピーではどのように作業できますか?
- 23. Slim 3 no error traceback php
- 24. C#プロジェクトでapplication.exe.configファイルはどこにありますか?
- 25. Ionic 2プロジェクトでsystemjs.configはどこにありますか?
- 26. ユーザーフォルダにファイルをアップロード
- 27. Rails Newby:古いRubyクラスはどこにあるべきですか?
- 28. .Net:コールバックはどのスレッドにあるべきですか?
- 29. TensorFlow-Slimで正則化はどのように使用できますか?
- 30. この「シングルトン」はASP.NETアプリケーションでスレッドセーフであるべきですか?
私は、ログインしたユーザーのユーザー名とパラメーターをURLから取得するルートファイルを作成しました。完璧に動作します。ありがとう。 –
ただし、共有していないユーザーは自分のファイルにしかアクセスできません。 – danopz
実際のパスは 'username/file'のようには表示されません。ダウンロードされるファイルとusersフォルダの下にあるフォルダだけが表示されます。ダウンロードするファイルのユーザ名部分がPHP経由で動的にロードされているため、ユーザはこれを見ることはなく、変更する方法もありません。 –