Many know that SSH offers the possibility to forward single ports over a secure connection. What many people don’t know is that SSH can work as SOCKSv5 proxy. This way you can securely surf the web from any public WLAN.
ssh -D8080 firstname.lastname@example.org
This way you have a SOCKSv5 proxy on localhost:8080. You now need to configure Firefox to use this this as you proxy.
One way to make your surf adventures even more secure is to tell Firefox to use your proxy for DNS queries to. To do this go to about:config in Firefox and change the following key to:
network.proxy.socks_remote_dns = True
Now all your traffic from your browser goes to your secure SSH connection.
Update: If you often use proxies I recommend to use FoxyProxy for Firefox to make you live much easier.