問題タブ [refile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - FactoryGirl with Refile gem
アプリケーションでファイルのアップロードを処理するために refile gem を選択します。FactoryGirl での使用に問題があります。私の工場では、次のようなものがあります。
いくつかの機能仕様を実行すると、次のエラーが返されます。
編集:このエラーは、ビュー テンプレートの次の行が原因で発生します:
ruby-on-rails - 本番用のS3バックエンドと開発モード用のファイルバックエンドをリファイル
これはRefile gem を使用した初めての Rails プロジェクトなので、このすばらしいファイル アップロード gem の詳細をまだ完全には把握していません。
本番モードではファイルが Amazon S3 にアップロードされるように Refile gem を設定しようとしていますが、開発モードではファイルがファイル システムにアップロードされます。
私の config/initializers/refile.rb ファイルは次のようになります。
しかし、開発中の画像をアップロードしようとすると、次のエラー メッセージが表示されます。
そこで、条件に構成を追加してこれを修正しようとしました:
しかし、それでも問題は解決しませんでした。開発モードで上記のエラー メッセージが引き続き表示されます。
本番環境では Amazon S3 にファイルをアップロードし、開発モードではファイル システムにファイルをアップロードするように Refile を設定する方法を知っている人はいますか?
ご協力いただきありがとうございます、
アンソニー
ruby-on-rails - Refile gem でアップロードされたファイルの専門家による承認
Pundit を使用して Refile gem でアップロードされたファイルの認証を行うにはどうすればよいですか? ファイルをアップロードしたユーザーに制限する必要があるファイルをアップロードしましたが、Refile の attachment_url が生成する URL を持つ人は誰でもファイルにアクセスできます。Refile は独自の Sinatra アプリを使用しているため、Pundit の authorize メソッドを呼び出すための Rails コントローラーはありません。
ruby-on-rails - プロダクション エラー レールのリファイル
開発中、私のレールアプリは問題なく動作します。
代わりに、本番環境では画像がなく、サーバーにアップロードされますが、表示されません。デフォルトのバックエンドを使用しています。
画像の URL に直接アクセスすると、「エラー」しか表示されません。:(
誰かが私にヒントをくれることを願っています。
ruby-on-rails - Refile Gem: remote_image_url が無効または存在しない場合に例外を無視する
refileを使用して、ユーザーが S3 バックエンドに画像をアップロードできるようにします。remote_image_url
さらに、インターネット上の任意の画像への URL を (プロパティを通じて) 入力するオプションをユーザーに提供します。
入力した URL が実際のファイルを指している限り、これは正常に機能します。ただし、URL に誤りがあった場合、または無意味な入力が与えられた場合Refile
は、次の例外がスローされます。
入力された URL が無効な場合 ( validate_download
CarrierWave のオプションと同様) を無視し、理想的には代替画像を使用するオプションはありますか?
raise_errors
オプションを に設定してアタッカーを取り付けてみましたfalse
が、結果は同じでした。
私たちのプロジェクトでは と を使用Rails 4.2.0
しRefile 0.5.3
ます。
編集:
SystemCallError
この例外はに由来する下位レベルでKernel.open
あり、この例外タイプは Refile によってレスキューされていないことを確認しました。
これを修正するために再ファイルするプルリクエストに取り組んでいます。
編集2:
これに取り組んでいる間に、潜在的な攻撃者がリモート コード実行を使用できるようにする重大なセキュリティ上の問題がに発見されました。Refile
Refile gem には、URL を指定してリモート ファイルをアップロードする機能があります。
remote_image_url
これは、フォームのようにフィールドを追加することで実行できます。ここimage
で、 は添付ファイルの名前です。この機能は、open-uri を使用して、渡された URI を検証せずにこの HTTP 要求を作成していました。攻撃者は、ホスト マシンで任意のシェル コマンドを実行する URI を作成できます。
Refile
バージョン0.5.0
-を使用している場合は0.5.3
、最新バージョンにアップグレードしてください。アップグレードすると、上記の問題も解決されます。
ruby-on-rails - S3 への Refile アップロードでも localhost アップロードが返される
refile/refileのチュートリアルに従い、`refile-s3 を使用して写真を S3 にアップロードしようとしました。しかし、それはまだローカルホストにアップロードされています.. なぜだろうか??
Github のコード: https://github.com/chrisyeung1121/refile-example
何か不足していますか?
ruby-on-rails - Rails Rest API を使用した S3 へのモバイルアップロードファイル
Rails にプロフィール画像をアップロードする Web アプリがあります。Refile gem を使用して写真を Amazon S3 に直接アップロードしています。
しかし、今はモバイル アプリからもこのアップロードを行う必要があります。魔女はそれを行うための最良の方法ですか?
バイナリ データを受信し、非同期ジョブ (Sidekiq) を使用して Amazon S3 にアップロードする Rails の Rest API について考えていますが、このアプローチが最善の方法であるかどうかはわかりません。
誰でも私を助けることができますか?
ありがとう!
ruby-on-rails - 複数の画像 (url) を同じリスティング テーブル レールに追加する
私のアプリにはリストtable(:name, :description)
とpictures table(:image_id, :listing_id)
. このすべての情報を取得するためにネストされたフォーム(タブ付き)を使用しており、 gem で正常に動作していcarrierwave
ます。ここ数日間、Amazon s3 の直接画像アップロード機能を Rails アプリケーションに追加しようとしています。しかし、ネストされた形でこれを達成するのは難しいようです。そのため、リスト テーブル自体にすべての image_url をリストする予定です。実際の画像のURLだけなので、このようにするのは良い考えですか? (リストごとに最大 8 つの画像のみを許可します)??
可能であればrefileでこれを行う予定です。このトピックに光を当ててくれる人を探しています...助けてくれてありがとう:)