Greasemonkey: Solicitação de recurso: API de cookie

Criado em 7 set. 2013  ·  8Comentários  ·  Fonte: greasemonkey/greasemonkey

Proponho um cookie api. A motivação é remover o cookie "NID" do google.com para reduzir o rastreamento, deixando o cookie "PREF" intacto. O problema com document.cookie é que ele mostra apenas o cookie "PREF" e nada mais, já que o cookie "NID" pertence a ".google.com". O Firefox também não parece oferecer suporte nativo a essa funcionalidade e deve ser desativado apenas por domínio.
Algumas APIs, possivelmente com restrições aos domínios que podem ser acessados, serão úteis neste caso.

Comentários muito úteis

Já me deparei com algumas situações em que gostaria de fazer a manipulação de cookies para a qual document.cookie também não era suficiente. Há muitas coisas a considerar sobre como fazer isso bem ...

Todos 8 comentários

O NID não está visível em document.cookie porque é httponly = true. Aposto que você pode substituí-lo por seu próprio valor fictício.

Eu poderia substituí-lo no domínio atual, mas não no domínio google.com. Portanto, acredito que isso ainda pode ser considerado, uma vez que os cookies são frequentemente usados ​​para rastrear usuários.

Este problema pode ser reaberto? Mesmo se eu substituísse o cookie, não há, digamos, nenhuma maneira de listar os cookies na página atual. O acesso de script de usuário a cookies http pode resolver isso, digamos, por exemplo, usando uma GM_cookie() api.

Claro que pode, em teoria. Mas a filosofia do Greasemonkey

(Os sites IMO não usam HttpOnly por acidente, é um recurso de segurança implementado intencionalmente. Portanto, o caso provavelmente seria difícil de fazer. E nada o impede de fazer uma extensão específica de site se você precisar de acesso a APIs de nível inferior e for deseja ser Firefox apenas como resultado.)

Desculpe por comentar em questão tão antiga.

Aposto que você pode substituí-lo por seu próprio valor fictício

Eu tentei e parece que não é possível. Embora o navegador mantenha alguns cookies com a sinalização HttpOnly, você não pode acessar ou sobrescrever a partir de JS.

Um caso forte ajudaria

Não tenho certeza de quão forte é esse caso, mas preciso remover o cookie do userscript para evitar o redirecionamento sem sentido em um site específico. E atualmente não é possível porque é definido pelo lado do servidor com o sinalizador HttpOnly.

Vou apresentar um cenário de exemplo fraco. Estou criando um script em uma página na qual existe uma grande quantidade de cookies. Um cookie faz com que todo o site seja renderizado de forma diferente devido a alguma escolha de design estranha; o cookie é definido por meio do login em uma determinada parte do site, sem a capacidade de logout em qualquer lugar. Dado que este cookie é definido com um sinalizador httponly, não posso consertar usando o método document.cookie padrão. Seria bom ter um GM_cookie ou algo semelhante para ser capaz de definir / substituir / excluir cookies que, de outra forma, são protegidos via httponly.

Já me deparei com algumas situações em que gostaria de fazer a manipulação de cookies para a qual document.cookie também não era suficiente. Há muitas coisas a considerar sobre como fazer isso bem ...

Esta página foi útil?
0 / 5 - 0 avaliações