Skip to content

Instantly share code, notes, and snippets.

@entp
Created November 4, 2010 02:23
Show Gist options
  • Save entp/662049 to your computer and use it in GitHub Desktop.
Save entp/662049 to your computer and use it in GitHub Desktop.
Get around FireSheep issues for non-SSL connections
One of the problems with requiring SSL for all pages in a site is that you can't rely on a lot of the benefits of browser caching. However, many sites DO require login over SSL.
During login process, set a LocalStorage private key. This won't be visible to any attacker.
Periodically, ask user to encrypt or hash something asymmetrically and send the (public) result back.
If a user sends back the same result twice, or it wasn't encrypted correctly, log them out.
This may require some way to track individual tabs - if a user opens a new tab/window, there's likely some way to track this. Maybe they can encrypt the last URL they opened, and set that as a cookie.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment