Obfuscate documentable and imageable file names.

This commit is contained in:
Senén Rodero Rodríguez
2017-09-19 13:05:32 +02:00
parent f9b207c488
commit baf9ce90a9
6 changed files with 10 additions and 7 deletions

View File

@@ -1,7 +1,9 @@
class Document < ActiveRecord::Base
include DocumentsHelper
include DocumentablesHelper
has_attached_file :attachment, path: ":rails_root/public/system/:class/:prefix/:style/:filename"
has_attached_file :attachment, path: ":rails_root/public/system/:class/:prefix/:style/:hash.:extension",
url: "/system/:class/:prefix/:style/:hash.:extension",
hash_secret: Rails.application.secrets.secret_key_base
attr_accessor :cached_attachment
belongs_to :user

View File

@@ -8,8 +8,9 @@ class Image < ActiveRecord::Base
ACCEPTED_CONTENT_TYPE = %w(image/jpeg image/jpg)
has_attached_file :attachment, styles: { large: "x#{MIN_SIZE}", medium: "300x300#", thumb: "140x245#" },
path: ":rails_root/public/system/:class/:prefix/:style/:filename",
url: "/system/:class/:prefix/:style/:filename"
path: ":rails_root/public/system/:class/:prefix/:style/:hash.:extension",
url: "/system/:class/:prefix/:style/:hash.:extension",
hash_secret: Rails.application.secrets.secret_key_base
attr_accessor :cached_attachment
belongs_to :user

View File

@@ -251,7 +251,7 @@ shared_examples "documentable" do |documentable_factory_name, documentable_path,
attach_document("spec/fixtures/files/empty.pdf", true)
expect(page).to have_css("input[name='document[cached_attachment]'][value$='empty.pdf']", visible: false)
expect(page).to have_css("input[name='document[cached_attachment]'][value$='.pdf']", visible: false)
end
scenario "Should not show 'Choose document' button after valid upload", :js do

View File

@@ -211,7 +211,7 @@ shared_examples "imageable" do |imageable_factory_name, imageable_path, imageabl
attach_image("spec/fixtures/files/clippy.jpg", true)
expect(page).to have_css("input[name='image[cached_attachment]'][value$='clippy.jpg']", visible: false)
expect(page).to have_css("input[name='image[cached_attachment]'][value$='.jpg']", visible: false)
end
scenario "Should not update image cached_attachment field after invalid file upload", :js do

View File

@@ -131,7 +131,7 @@ shared_examples "nested documentable" do |documentable_factory_name, path, docum
documentable_attach_new_file(documentable_factory_name, 0, "spec/fixtures/files/empty.pdf")
expect(page).to have_css("input[name='#{documentable_factory_name}[documents_attributes][0][cached_attachment]'][value$='empty.pdf']", visible: false)
expect(page).to have_css("input[name='#{documentable_factory_name}[documents_attributes][0][cached_attachment]'][value$='.pdf']", visible: false)
end
scenario "Should not update document cached_attachment field after unvalid file upload", :js do

View File

@@ -85,7 +85,7 @@ shared_examples "nested imageable" do |imageable_factory_name, path, imageable_p
imageable_attach_new_file(imageable_factory_name, "spec/fixtures/files/clippy.jpg")
expect(page).to have_selector("input[name='#{imageable_factory_name}[image_attributes]cached_attachment'][value$='clippy.jpg']", visible: false)
expect(page).to have_selector("input[name='#{imageable_factory_name}[image_attributes]cached_attachment'][value$='.jpg']", visible: false)
end
scenario "Should not update image cached_attachment field after unvalid file upload", :js do