RESTFUL authentication - http://railscasts.com/episodes/67 recaptcha - http://agilewebdevelopment.com/plugins/recaptcha
but you might have to modify it a little bit to allow non-account holders to modify data, sort of unconventional?