How to prevent node creation if blacklisted words detected in the body?
I can't give you working code, but the basic approach I have used is:


Make a new Vocabulary.  Call it Naughty Words.  Populate it with all of your naughty words.
hook_form_alter() your submission form, and push on a new $form['#validate'] functions.
In your validation function, read in all of the naughty word terms into an array.  Then check the submitted element(s) against the naughty words.  form_set_error() if there is a match.  


There are several ways to do the matching.  One is a simple loop with a strpos against each term; another is to explode the submission and then do an array intersection.  Play around with it in something standalone.