は、現在、私のファイル構造は次のとおりです。自分自身でログインしているユーザーのユーザー名に関連する私はフォルダを持っているusers
フォルダの内部へのアクセス、ファイル
├── README.md
├── app
├── classes
├── composer.json
├── composer.lock
├── database
├── public
├── templates
├── users
└── vendor
、各ユーザーが定義したファイルおよびフォルダ
私が遭遇してるの問題は、私がusers
ディレクトリ内のファイルをダウンロードすることができませんということです。現在、私はpublic
ディレクトリの中users
ディレクトリを移動することによって、作業私のコードを持っていますが、これにはかなり明らかなセキュリティ上の欠陥があります。私のユーザディレクトリはここに示すように、ルートから1レベル上にありますが、まだpublic
ディレクトリでアクセスできるようにしますか?
私はすでにRewriteRule users/ ../users/
を使用してみましたが、動作するようには思えません。 public
フォルダのフロントコントローラではなく、PHP経由でusers
ディレクトリにアクセスできます。
これはので、私はこの全体のフロントコントローラ/ MVC型のものに非常に新しいですスリムを使用して私の最初の「本当の」プロジェクトです。どんな助けも素晴らしいでしょう、ありがとう!ユーザーを検証する必要があると思い、あなたのルーティングロジックまたはコントローラで
Ok。したがって、Webサーバー上の書き換えルールは、ユーザーが認証されているかどうかを知ることができないため、書き換えルールはこれを解決しません。ユーザーのアクセス許可に基づいてユーザーファイルを提供するために、アプリケーション内にルーティングロジックを記述する必要があります。 1つの質問/回答でカバーするには広すぎます。 – Devon
@Devonユーザーがファイルをクリックしたときにget要求を送信すると、そのファイルを取得するルートが呼び出されます。これは、この種のことをやり遂げるための実行可能な方法でしょうか?もちろん、このルートは、フォルダが自分のものであることを検証します。 –
はい、それはあなたがする必要があるでしょう。あなたのルーティングロジックやコントローラでは、ユーザが上記ファイルへのアクセス権を持っていることを確認する必要があります。その場合、Webパスからアクセスできないため、PHPを使用してファイルを処理します。 – Devon