Hi Nick,

I'm sorry to say I don't know of any reliable way to do this on a per-user basis. There are probably tools to do it on a per-browser basis. The Apple Parental controls work for Safari but you white-list rather than black-list sites so that's not really a good solution. The problem is that what ever browser-specific thing you put in place it can be trivially over-come, just go to any download site where you can get a browser and install it into your account and away you go.

Were I to be doing this myself I'd have two hosts files, hosts.forkids and hosts.forme say, and have a small script (or even just an alias on the Mac) to swap them into the location of the real hosts file as needed. It's not really an elegant solution but it would work.

If you really want to go mad you could write a script to run on login for your kids account and swap the hosts files then. This would work much more transparently but is still not something your average user is gonna throw together of an afternoon as it were.