Hello,
There is nothing you can do to forbid uploading shells; of course you might try and write a rule (or a set of rules) for apache mod_security, but no 100% protection, as a PHP script might be obfuscated or encoded; and you'd better get rid of such a customer, who violates your TOS.
Of course, you might want to secure php.ini and disable "dangerous" functions there, but it won't give you 100% of protection. Another thing you could do is to install suhosin.