NoScript (sorry, Firefox only - there is no comparable functionality available in Chrome) is a must-have add-on for safer web surfing. It does not only prevent many clickjacking attacks, but it can do much more for you.

In the default setting, NoScript will block any script that you did not explicitely whitelist. While this is a bit annoying in the beginning - you will have to whitelist most of your everyday web pages - it will give you quite some insight in the amount of tracking that you are exposed to. A recent test showed that on a typical newspaper website, there will be tracking codes of more than 10 web sites (mostly ad websites and social networks). Accepting these will probably pull in another set. Most of this is happening in the background, and tracking you across various web sites this way.

NoScript will essentially force you to make a decision for each site: permanently allow it, temporarily allow it, or block it. Since it blocks by default, you will easily see what works without and what does not - if it doesn’t work as expected, and you need the site, you can allow it with just a few clicks.

But there is more functionality hidden. NoScript has a function called ABE, “Application Boundaries Enforcer”. This can be seen as a refinement of NoScript: you don’t only whitelist web sites, but actually web site combinations. I’ll give you a simple example of why and how this is useful. Consider these ABE rules:

`

# Only Facebook may embed Facebook
Site        .facebook.com .fbcdn.net .facebook.net
Accept from .facebook.com .fbcdn.net .facebook.net
Deny        INCLUSION POST

# Only Google may embed Google +1
Site        plusone.google.com
Accept from         google.com
Deny        INCLUSION POST

`

These rules are quite simple: essentially they say that no website may access facebook except facebook, and no website may access Google +1 except Google. I chose these rules for multiple reasons:

  1. I don’t ever click on a “like” or “+1” button. I could as well not load them at all in the first place.
  2. These websites tend to track your behaviour.

Note that I did not block them altogether. I can still access the web pages as usual, if I want to. I even allowed links, but not scripts and similar embeddings.

And it doesn’t just increase your privacy (read this current article in the NYT for an example of the amount of tracking happening these days). It also makes web pages load faster, because you don’t load all their cruft all the time, and can live without them showing you videos from 3 different domains next to the actual article that you want to read …

Update: I’ve learned that newer version of Chrome actually can filter on load (and not just display), and there is a similar extension available called ScriptNo. The main reason I’m currently moving away from Chromium is that it wastes more memory than Firefox, and I’m always short on RAM.