elimine os cookies que não foram acedidos nos últimos x dias

2

Usando o Firefox. Eu gostaria de me livrar de cookies "obsoletos". Por "obsoletos" quero dizer cookies que não foram acessados por nenhum site nos últimos x dias.

Pesquisei alto e baixo, mas não encontrei como fazer isso. O que eu encontrei é, entre outros:

  • restringe a vida útil de todos os cookies (about: config - > network.cookie.lifetimePolicy).
  • domínios de listas de permissões ou de listas negras (preferências de firefox - > privacidade - > exceções de cookies)
  • excluir todos os cookies das últimas x horas (histórico do Firefox - > limpar histórico recente).

Nada disso é o que eu quero.

Desejo excluir todos os cookies que não foram acessados por nenhum website nos últimos x dias.

    
por lesmana 04.01.2012 / 17:06

2 respostas

1

O Hora do cookie pode ser configurada para excluir automaticamente os cookies que não foram usados por um período especificado (expirado). Ele também tem uma configuração separada para forçar a expiração / exclusão de todos os cookies que estão além da idade especificada.

    
por 29.05.2014 / 17:49
1

Eu fiz algumas pesquisas.

  1. Os cookies são armazenados no arquivo cookies.sqlite no diretório do perfil do firefox.
  2. O arquivo é um banco de dados sqlite.
  3. O registro de data e hora do último acesso é armazenado no lastAccessed coluna na tabela moz_cookies .
  4. O formato de lastAccessed é um pouco do formato PRTime , que é basicamente o tempo da época do unix com microssegundos.

A consulta a seguir listará todos os cookies que não foram acessados nos últimos 14 dias.

select host, name from moz_cookies
where lastaccessed < strftime('%s000000', 'now', '-14 days')
order by lastaccessed;

Acabei de aprender um pouco de SQL para isso, então pode muito bem ser que essa consulta possa ser feita melhor.

A consulta a seguir excluirá todos esses cookies.

delete from moz_cookies
where lastaccessed < strftime('%s000000', 'now', '-14 days');

Aqui está um script de shell rápido e sujo que faz o trabalho. Você precisará do comando sqlite3 instalado em seu sistema.

#!/bin/sh

DAYS="14"

SELECT="select host, name"
DELETE="delete"
FROM="from moz_cookies"
OBSOLETE="strftime('%s000000', 'now', '-$DAYS days')"
WHERE="where lastaccessed < $OBSOLETE"
ORDER="order by lastaccessed"

SELECTQUERY="$SELECT $FROM $WHERE $ORDER;"
DELETEQUERY="$DELETE $FROM $WHERE;"

printf '%s\n' "$SELECTQUERY" | sqlite3 cookies.sqlite
    
por 30.01.2012 / 23:02