Enter LeechBlock, a FireFox add-on that can serve as internet blinders for the easily distracted. Give it a list of websites and it will prevent you from accessing it during certain hours or after spending a specified amount of time on one. Lifehacker has setup instructions. Currently, I have 2 lists set up, but it's possible to set up to 6. One list blocks websites that are never productive, like Tumblr or Facebook, for significant portions of the day. The other allows me to access sites like Twitter or certain professional blogs for 10 minutes every 2 hours, but then will send me back to work. You can lock the program so it won't allow you to change the settings while it's actively blocking websites, but since I'm adding URLs frequently right now, I don't have the lists locked yet.
Since LeechBlock allows you to use any URL as the page that shows up when a site is blocked, I've also shamelessly recruited a few friends to help me block the websites:
(that's four cast members from The Avengers and Benedict Cumberbatch on Sherlock, if you're wondering. Sadly the webpages that I got them from don't seem to be around anymore, although the first one is all over Tumblr.)
Thus far I'm annoyed at having my websites blocked but I know that means the program's doing what I need it to do. With minimal fuss, I'm happy. And my customized block pages at least make me laugh a little bit :)
Admittedly, this is only a browser-based solution. I think there are other programs out there for different browsers, but since the only thing on my work computer is FireFox, I'm not worrying about it. Gradhacker has some total internet control apps (all Mac-based) reviewed here.