Tecnicamente, o navegador pode, de fato, ignorar a vida útil do cookie que o servidor definiu, o que você já comprovou. Você pode até mesmo criar um script que altere esse arquivo .sqlite
sem a necessidade de copiá-lo. †
Essas alterações farão com que o navegador envie o nome e o valor do cookie (mas não a data de expiração) para o servidor junto com a próxima solicitação. No entanto, nesse ponto, cabe ao servidor:
-
A maioria dos cookies não inclui muitos detalhes, espere por algum ID único aleatório, que o servidor também precisa saber. Portanto, se, por exemplo, o servidor já tiver removido esse ID exclusivo expirado de seu banco de dados, ele não encontrará uma correspondência com o cookie que o navegador enviou e o ignorará. Ou pode reconhecê-lo, mas ainda rejeitá-lo como ele sabe melhor.
-
Alguns cookies podem ter um valor que, de alguma forma, declara uma data de expiração.
-
Muitos servidores atualizam o cookie de vez em quando, ou até mesmo em todas as respostas. Assim, mesmo que o cookie alterado fosse aceito, o navegador poderia substituí-lo por um novo valor e uma nova data de expiração assim que esse cookie fosse enviado ao servidor e o servidor retornasse um novo cookie.
Eu diria que as chances de sucesso são baixas e dependem muito do site.
† Um arquivo .sqlite
é basicamente um banco de dados SQL, e talvez alguns update cookies set expires = ... where name = ...
podem resolver, se o navegador não proteger seu conteúdo de alguma forma. Você também pode alterar um cookie de "sessão" para um cookie permanente adicionando uma data de expiração.