Well, it depends on the needs, since Gravity Forms might be a lot more than needed, and keeping tiny small code for only what is needed is always my preferred choice.
You can easily avoid SQL injections using addslashes() and mysql_real_escape_string() functions when assigning the user’s $_POST data to variables.
If you use a file upload field, you may perform check for the file type on the server before using it.
Using such a form you may control and support everything you need for our specific needs.
The basis in that post is good, it needed to be handled a bit. I think it’s better than a using plugin that does a lot more code than that and adds a lot of code to your site, and also costs money. Isn’t it?