aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio <shernade@gmail.com>2013-09-15 23:51:31 +0200
committerSergio <shernade@gmail.com>2013-09-15 23:51:31 +0200
commitebcd9d6c03fecc6946c794c19c544b5f1349b8f1 (patch)
treec23ccbf17becb5a7192fa5d7b6cdb350910fde5c
parentb827663e5f6646eb6aaceac1f04a09db993ec5bf (diff)
downloadrails-ebcd9d6c03fecc6946c794c19c544b5f1349b8f1.tar.gz
rails-ebcd9d6c03fecc6946c794c19c544b5f1349b8f1.tar.bz2
rails-ebcd9d6c03fecc6946c794c19c544b5f1349b8f1.zip
surplus : in attachment_fu plugin
surplus ':' character in url
-rw-r--r--guides/source/security.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/guides/source/security.md b/guides/source/security.md
index 4aba39f55a..0c2d3caa4e 100644
--- a/guides/source/security.md
+++ b/guides/source/security.md
@@ -290,7 +290,7 @@ NOTE: _Make sure file uploads don't overwrite important files, and process media
Many web applications allow users to upload files. _File names, which the user may choose (partly), should always be filtered_ as an attacker could use a malicious file name to overwrite any file on the server. If you store file uploads at /var/www/uploads, and the user enters a file name like "../../../etc/passwd", it may overwrite an important file. Of course, the Ruby interpreter would need the appropriate permissions to do so - one more reason to run web servers, database servers and other programs as a less privileged Unix user.
-When filtering user input file names, _don't try to remove malicious parts_. Think of a situation where the web application removes all "../" in a file name and an attacker uses a string such as "....//" - the result will be "../". It is best to use a whitelist approach, which _checks for the validity of a file name with a set of accepted characters_. This is opposed to a blacklist approach which attempts to remove not allowed characters. In case it isn't a valid file name, reject it (or replace not accepted characters), but don't remove them. Here is the file name sanitizer from the [attachment_fu plugin](https://github.com/technoweenie/attachment_fu/tree/master:)
+When filtering user input file names, _don't try to remove malicious parts_. Think of a situation where the web application removes all "../" in a file name and an attacker uses a string such as "....//" - the result will be "../". It is best to use a whitelist approach, which _checks for the validity of a file name with a set of accepted characters_. This is opposed to a blacklist approach which attempts to remove not allowed characters. In case it isn't a valid file name, reject it (or replace not accepted characters), but don't remove them. Here is the file name sanitizer from the [attachment_fu plugin](https://github.com/technoweenie/attachment_fu/tree/master)
```ruby
def sanitize_filename(filename)