One thing that is usually overlooked wile using TOR, is something called DNS-leaks. This occurs when you have a browser with a TOR enable/disable button (for example foxyproxy in
firefox). Such enable-by-click buttons change the proxy settings for the browser, thus piping the traffic either directly (no proxy), or through the defined proxy-chain that includes TOR.
The problem with such enable/disable schemes, is that depending on the situation, the DNS look-up traffic can be temporarily or for the entire session be passed as normal traffic and NOT through the TOR/socks layer. Such a situation renders TOR ineffective, because while the traffic is encrypted and hidden, the IP's of clients who have looked-up the IP for the "forbidden website" are now on record.
The solution is to NOT use such enable/disable buttons, plain and simple. In fact, the windows package now comes with its own browser with dedicated proxy settings. The thing to do (or my personal solution) on open source systems is to dedicate a separate browser with PERMANENT proxy settings for TOR/socks &
www/privoxy (I prefer it to polipo), and to use that for anonymous browsing. Use other browsers for normal activities. So, for example, setup
www/midori (now comes with script-blocker add-on) for TOR/socks and use your favorite browser for the other times.