Protect images uploaded with Carrierwave

I want to protect certain images from download. Only authorized users would be able to download them.

As I upload images with Carrierwave, they are stored inside public/uploads/image. Users can download them via urls.

How can I protect images inside image folder so anonymous users can't access them? I know I can make before_action which wont allow anonymous user to download it via download link but the image is still accessible if the user knows path to the folder where are images stored. pls help me to find a solution

In your routes.rb are you making public/uploads/image available? run rake routes. Otherwise, I would simply move your files out of public/uploads/image and create a ‘private’ folder within or outside your App. Then I would cease in informing the public where your image files are stored. :wink:

Hey there,

I want to protect certain images from download. Only authorized users would be able to download them.

As I upload images with Carrierwave, they are stored inside public/uploads/image. Users can download them via urls.

How can I protect images inside image folder so anonymous users can't access them? I know I can make before_action which wont allow anonymous user to download it via download link but the image is still accessible if the user knows path to the folder where are images stored.

Did you try any of the options listed in the documentation? If not, have a look at

    How To: Secure Upload · carrierwaveuploader/carrierwave Wiki · GitHub