Jak mogę usunąć określony plik cookie o tej nazwie roundcube_sessauth
?
Nie powinien:
function del_cookie(name) {
document.cookie = 'roundcube_sessauth' +
'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
I wtedy:
<a href="javascript:del_cookie(name);">KILL</a>
Zabić roundcube_sessauth
ciastko?
javascript
cookies
Charlie
źródło
źródło
name
? Jaki to ma sens? A może jest to kac po bardziej wszechstronnej wersji, która pozwala określić nazwę pliku cookie?How can I delete a
specific
cookie
Odpowiedzi:
Należy zdefiniować ścieżkę, na której znajduje się plik cookie, aby upewnić się, że usuwasz właściwy plik cookie.
Jeśli nie określisz ścieżki, przeglądarka ustawi plik cookie w odniesieniu do strony, na której aktualnie się znajdujesz, więc jeśli usuniesz plik cookie na innej stronie, drugi plik cookie będzie nadal istniał.
Edytuj na podstawie komentarza @Evan Morrison.
Należy pamiętać, że w niektórych przypadkach do zidentyfikowania prawidłowego pliku cookie
Domain
wymagany jest parametr.Zwykle jest definiowany jako
Domain=.yourdomain.com
.Umieszczenie kropki przed nazwą domeny oznacza, że ten plik cookie może istnieć w dowolnej subdomenie (
www
liczy się również jako subdomena).Ponadto, jak wspomniano w odpowiedzi @ RobertT,
HttpOnly
plików cookie nie można usunąć za pomocą JavaScript po stronie klienta.źródło
Path
w większości przypadków nie działa .Max-Age=0
, jeśli zależy ci na takich rzeczach.Aby usunąć plik cookie, ustaw
expires
datę na przeszłą. Funkcją, która to robi, byłaby.Następnie, aby usunąć plik cookie o nazwie
roundcube_sessauth
po prostu zrób.źródło
path=/
Klucz jest ważny dla zgodności przeglądarki.// jeśli przeszedł exMins = 0, zostanie usunięty zaraz po utworzeniu.
źródło
Nie jestem pewien, czy tak było z wersją Roundcube z maja 2012 roku, ale w przypadku obecnej odpowiedź brzmi, że nie można usunąć
roundcube_sessauth
cookie z JavaScript, ponieważ jest on oznaczony jakoHttpOnly
. A to oznacza, że nie jest dostępny z kodu po stronie klienta JS i można go usunąć tylko za pomocą skryptu po stronie serwera lub przez bezpośrednie działanie użytkownika (za pośrednictwem niektórych mechanizmów przeglądarki, takich jak zintegrowany debugger lub niektóre wtyczki).źródło
Możesz wypróbować to rozwiązanie
źródło
W moim przypadku użyłem kodu Blow dla innego środowiska.
źródło