ユーザーがブラウザーから cloudinary に画像をアップロードできる Rails Web アプリケーションを構築しています。私は少し先を考えており、5 ページ (空の画像) で望ましくない出力が発生しないようにするために、渡されたパラメーターをユーザーが操作できないようにしたいと考えています。
私の見解では、cloudinary アップローダのコードがあります。
<%= form_tag(some_path, :method => :post) do %>
<%= cl_image_upload_tag(:image_id) %>
...
<% end %>
これで、ユーザーが画像をアップロードすると、画像は cloudinary に直接送られ、プロセスは :image_id を返します。ユーザーが画像を受け入れると、コントローラーで次のように受け取ります。
if params[:image_id].present?
preloaded = Cloudinary::PreloadedFile.new(params[:image_id])
raise "Invalid upload signature" if !preloaded.valid?
@model.image_id = preloaded.identifier
end
そのイメージ ID は、将来の取得のためにデータベースに保存されます。
ここで、ユーザーが "curl" などのツールを使用したり、返された :image_id をコントローラーに送信する前に変更できるその他の方法を使用した場合はどうなるでしょうか。データベースに間違った値があり、ページに表示しようとすると、見つけるのが難しく、空の画像が表示されます。これを回避する最善の方法は何ですか?
よろしく、