Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does Firefox store the sessionStorage content

I am trying to find out where Firefox stores the sessionStorage content but have been unable to find so. I am expecting it to be in a SqLite database like the localStorage content is stored but I have not been able to find it.

So far, I have searched all the typical ".sqlite" files in the profile folder such as cookies.sqlite and content-prefs.sqlite etc but they do not seem to have the sessionStorage data.

I also tried to open the special in-memory database that Firefox supposedly creates - https://developer.mozilla.org/en/XPCOM_Interface_Reference/mozIStorageService#openSpecialDatabase%28%29 but I could not find a way to enumerate the tables present in the database. I could get a connection to the in memory database but i have no clue as to how to figure out the tables etc. that are present in that in-memory database...

Any help is appreciated

Thanks,

like image 326
user967973 Avatar asked Sep 27 '11 22:09

user967973


People also ask

Where does Firefox store session data?

During runtime Firefox uses files is the sessionstore-backups folder. You will normally find these files in the sessionstore-backups folder: *previous. jsonlz4 (cleanBackup: copy of sessionstore.

Where is sessionStorage data stored?

The sessionStorage exists only within the current browser tab. Another tab with the same page will have a different storage. But it is shared between iframes in the same tab (assuming they come from the same origin).

What is session storage in Firefox?

The two mechanisms within Web Storage are as follows: sessionStorage maintains a separate storage area for each given origin that's available for the duration of the page session (as long as the browser is open, including page reloads and restores).

Are sessions stored locally?

Using localStorage and sessionStorage for storage is an alternative to using cookies and there are some advantages: The data is saved locally only and can't be read by the server, which eliminates the security issue that cookies present.


1 Answers

localStorage data is saved in the file webappsstore.sqlite in the Firefox profile. There is a funny tweak that host names are reverted (gro.allizom instead of mozilla.org) but other than that it is pretty much what you would expect. There is only one table:

CREATE TABLE webappsstore2 (
  scope TEXT,
  key TEXT,
  value TEXT,
  secure INTEGER,
  owner TEXT
)

Note that this structure might change in a future Firefox version.

As to sessionStorage, it only needs to persist for one browser session. Restarting the browser normally clears it, so it doesn't need to be stored in a database. Firefox still writes it to disk to allow restoring the current browsing session, namely to the sessionstore.js file (JSON format). There is a key storage, its value is a map from URLs to their corresponding sessionStorage data. I am not sure whether this data is complete however given that its main purpose is to recover from crashes.

like image 78
Wladimir Palant Avatar answered Feb 04 '23 09:02

Wladimir Palant