rack-secure-upload
Upload files securely
Installation
Add the rack-secure-upload gem to your Gemfile.
gem "rack-secure-upload"
And run bundle install
.
Rack App
require 'rack-secure-upload'
use Rack::SecureUpload::Middleware, :fsecure
run MyApp
Rails App
In config/application.rb
module MyApp
class Application < Rails::Application
config.middleware.insert_before ActionDispatch::ParamsParser, Rack::SecureUpload::Middleware, :avast
end
end
Options
You can add some options like below.
use Rack::SecureUpload::Middleware, :fsecure, {foo: :bar}
fallback
-
proc { |env, params, path| }
- use return value of proc
-
:raise
- raise
Rack::SecureUpload::InsecureFileError
|
- raise
- else
- return
406
- return
AntiVirus Softwares
Avast
- Get license
- Install the package
wget -c http://files.avast.com/files/linux/avast4workstation-1.3.0-1.i586.rpm
sudo yum localinstall avast4workstation-1.3.0-1.i586.rpm
avast -V # Input your license
avast-update
F-Secure
- Get license (Optional)
- Install the package
wget http://download.f-secure.com/webclub/f-secure-linux-security-10.00.60.tar.gz
tar xvzf f-secure-linux-security-10.00.60.tar.gz
sudo ./f-secure-linux-security-10.00.60/f-secure-linux-security-10.00.60
Test this middleware
- Download eicar test file
- Upload it
You can try this with sample app
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Copyright
Copyright (c) 2014 Daisuke Taniwaki. See LICENSE for details.