How is it possible to scan a uploaded file for viruses, trojans etc.?
Just thinking about preventing some users to upload some nasty stuff.
I am using Heroku and Amazon S3.
it's support a REST/JSON antivirus web service
Here is the post - https://stackoverflow.com/questions/4104985/antivirus-scanning-service
For the passers-by asking the same question:
Metascan. It's free and has a simple API!
For anyone approaching this in future we recently created CarrierWave::AttachmentScanner to easily integrate virus and malware scanning into Rails and CarrierWave.
The plugin basically hooks into file uploads using carrierwave and sends the request to a JSON/REST web service to check the files.
If the file matches a known signature then it will raise a CarrierWave:: IntegrityError
.
Open Source: ClamAV and Clamby
Install ClamAV:
macOS
brew install clamav
Ubuntu
sudo apt-get install clamav clamav-daemon -y
Setup
after_create
callback in your Rails app to scan new Files:after_create :scan_for_viruses def scan_for_viruses raise "Virus discovered!" if Clamby.virus?( self.path ) end
来源:https://stackoverflow.com/questions/9640516/rails-heroku-how-to-anti-virus-scan-uploaded-file