Bagaimana saya bisa menghapus cookie tertentu dengan namanya roundcube_sessauth
?
Bukankah seharusnya yang berikut ini:
function del_cookie(name) {
document.cookie = 'roundcube_sessauth' +
'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
Lalu:
<a href="javascript:del_cookie(name);">KILL</a>
Bunuh roundcube_sessauth
cookie?
javascript
cookies
Charlie
sumber
sumber
name
? Apa gunanya itu? Atau itu hangover dari versi yang lebih fleksibel yang memungkinkan Anda menentukan nama cookie?How can I delete a
specific
cookie
Jawaban:
Anda harus menentukan jalur di mana cookie itu ada untuk memastikan bahwa Anda menghapus cookie yang benar.
Jika Anda tidak menentukan jalurnya, browser akan menetapkan cookie relatif terhadap halaman yang sedang Anda kunjungi, jadi jika Anda menghapus cookie saat berada di halaman yang berbeda, cookie lainnya melanjutkan keberadaannya.
Edit berdasarkan komentar @Evan Morrison.
Perlu diketahui bahwa dalam beberapa kasus untuk mengidentifikasi cookie yang benar,
Domain
diperlukan parameter.Biasanya didefinisikan sebagai
Domain=.yourdomain.com
.Menempatkan titik di depan nama domain Anda berarti bahwa cookie ini mungkin ada di setiap sub-domain (
www
juga dianggap sebagai sub-domain).Juga, seperti disebutkan dalam jawaban @ RobertT,
HttpOnly
cookie tidak dapat dihapus dengan JavaScript di sisi klien.sumber
Path
dalam banyak kasus.Max-Age=0
, jika Anda peduli tentang hal-hal seperti itu.Untuk menghapus cookie, atur
expires
tanggal ke sesuatu di masa lalu. Suatu fungsi yang melakukan ini akan menjadi.Kemudian untuk menghapus cookie bernama
roundcube_sessauth
lakukan saja.sumber
path=/
kunci penting untuk kompatibilitas browser.// jika lulus exMins = 0 akan dihapus segera setelah dibuat.
sumber
Saya tidak begitu yakin apakah itu situasinya dengan versi Roundcube mulai Mei '12, tetapi untuk yang sekarang jawabannya adalah bahwa Anda tidak dapat menghapus
roundcube_sessauth
cookie dari JavaScript, karena ditandai sebagaiHttpOnly
. Dan ini berarti tidak dapat diakses dari kode sisi klien JS dan dapat dihapus hanya dengan skrip sisi server atau dengan tindakan pengguna langsung (melalui beberapa mekanisme browser seperti debugger terintegrasi atau beberapa plugin).sumber
Anda dapat mencoba solusi ini
sumber
Dalam kasus saya, saya menggunakan kode pukulan untuk lingkungan yang berbeda.
sumber