Hacked: commit to rails master on GitHub
This is basic security, folks: never drive your application from stuff that comes over the wire (or any untrusted channel).  Passing a params array directly to update_attributes is a fundamentally flawed approach for this reason.  Instead, inspect incoming data for exactly what you expect to be there.  By doing this, malformed input will either fail or be ignored without exposing a security vulnerability.<p>It should be obvious that you can't anticipate every potential attack vector at design time.  Therefore, a well-designed system is one for which, when expected or normal conditions are not met, the resulting action is nothing or error, not an unexpected action.<p>This principle is also known as fail-safe:
<a href="http://en.wikipedia.org/wiki/Fail-safe" rel="nofollow">http://en.wikipedia.org/wiki/Fail-safe</a>