2016-03-24 15 views
0

私のアプリケーションでCSVファイルを使用して製品をエクスポートしています。私は、製品ごとにイメージの場所を提供するイメージフィールドを持っています。これはローカルマシン上のリンクまたはパスになります。Rails 4:CSVファイルで指定されたパスから画像をアップロード

ユーザーがサイトにアクセスするために使用しているマシンから画像をアップロードできますか?サーバー内のリンクや場所を使用しているときに正常に実行できます。

答えて

2

いいえ。セキュリティの観点から、それを実行できるかどうかを考えてください。あなたがアクセスしたどのウェブサイトでも、ファイルシステムから必要なものを読み込むことができます!ありがたいことに、それは不可能です。

ユーザーがCANファイルをサーバーにアップロードできるCarrierWave、PaperClipなどの場合:ユーザー自身がブラウザ内でファイルを選択し、要求がサーバーに送信されると、ユーザーから明示的に選択されたものは、要求自体の一部としてアップロードされます。そのため、ファイルはサーバーに送信されます。サーバーは、ユーザーのファイルシステム自体から読み取ることはありません。

違いがある:

これはOKです:「ねえ、サーバは、ここで私はあなたがそれを処理することができますので、私はあなたにそれを渡している、選択したファイルだ」

これはOKではありません: "ちょっとユーザー、私はあなたに私にリクエストを送ったことを知っています。私は自分のファイルシステムから私が望むものを読むためにそれを取るつもりです!

+0

しかし、PaperClipやCarrierWaveなどはどうしていますか?彼らは基本的にユーザー権利からファイルを取得していますか? – Aswathy

+0

ユーザー自身がブラウザ内でファイル自体を選択し、要求がサーバーに送信されると、ユーザーから明示的に選択された特定のファイルが要求自体の一部としてアップロードされます。そのため、ファイルはサーバーに送信されます。サーバーは、ユーザーのファイルシステム自体から読み取ることはありません。 –

+0

したがって、CSV権限を使用してファイルをアップロードする方法はありませんか? – Aswathy

関連する問題