Ive been a fan of shared hosting as a cost-efficient solution for most Web sites, but you pay a price for saving that money. Im not as much of a fan as I used to be.
In a way, its like taking a bath with strangers. You probably save a lot of water, but you dont know whats in there besides the soap. A well-designed and -managed operating system and other system software can attempt to protect applications and users from each other, but things do go wrong at times.
Consider what happens when an attacker goes after one of the other sites on your shared server. Vulnerabilities such as this MySQL Password Handler Buffer Overflow Vulnerability or this PHP wordwrap() Heap Corruption Vulnerability occur. If the attacker gains control of the server or the database, youre all just as vulnerable.
And it may not be an outsider. It could be one of the other hosting customers. If the hosting admin and other customers arent attentive, the offending party might even get away with it.
Shared hosting has the potential to be a great thing for both host and customer alike. Because the host can run literally thousands of low-volume sites on a single box for Web hosting (they need another box for mail hosting), it can be enormously profitable even when the sites are very inexpensive. There are a number of mature "control panels" available to hosts, and many write their own, to let customers manage their own sites. If things go well, it should be nearly pure profit.
I guess dedicated hosting must be even more profitable, since hosting services seem to push it far more than the cheap shared plans. I suspect there are a lot of dedicated hosting users out there paying $150 a month for needs that would be served by a $20-a-month shared plan.
Mike Prettejohn of Internet research firm Netcraft Ltd., which follows the hosting market carefully, said he thinks "strongly themed shared hosting—e.g. the Yahoo storefronts"—are the best type of shared hosting. They define a rigid but easy-to-use environment for the customer, limiting the damage the customer can do, accidentally or otherwise, and they scale brilliantly for the hosting company.
Generic shared-hosting accounts, on the other hand—the ones with access to Perl and PHP and (shudder!) shell accounts—are a potential disaster. Its very easy for one customer to DoS (denial of service) all of the others with a badly written program. And you know how youll often read about a vulnerability in Linux, such as this one, but its not so big a deal because only local users can exploit it, not remote users? Those shell accounts make the users local. (Good management can prevent those users from uploading and executing arbitrary and exploitative code, but good management isnt built into the operating system.)
And then there are the external DoS attacks. Ive read reports indicating that general DoS attacks against hosting services are up, so if your sites are in the wrong IP range, you get to suffer along with everyone else.