Tarayıcımda depolanan tüm çerezleri JavaScript kullanarak almam gerekiyor . Nasıl yapılabilir?
Tarayıcımda depolanan tüm çerezleri JavaScript kullanarak almam gerekiyor . Nasıl yapılabilir?
Yanıtlar:
Yalnızca belirli bir site için tanımlama bilgilerine erişebilirsiniz. Kullanılması document.cookie
seni noktalı virgül ayrılmış kaçan anahtar = değer çiftleri listesini alacak.
secret=do%20not%20tell%you;last_visit=1225445171794
Erişimi basitleştirmek için dizeyi ayrıştırmanız ve tüm girişleri kaldırmanız gerekir:
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
Böylece daha sonra yazabilirsiniz:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
Tanımlama bilgilerini göremezsiniz .document.cookie
, noktalı virgülle ayrılmış name=value
çiftler listesi içeren özelliktedir .Yapamazsın. Tasarım gereği, güvenlik amacıyla, yalnızca siteniz tarafından ayarlanan çerezlere erişebilirsiniz. StackOverflow, UserVoice tarafından ayarlanan çerezleri veya Amazon tarafından ayarlananları göremez.
Tarayıcıda açık olan geçerli belge için tüm çerezleri almak için, document.cookie
özelliği tekrar kullanırsınız .
Modern yaklaşım.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Başlık programatik olması gerektiğini belirtmediğinden, bunun gerçek bir hata ayıklama / gizlilik yönetimi sorunu olduğunu ve çözümün tarayıcıya bağlı olduğunu ve yerleşik ayrıntılı çerez yönetimi geçiş ücreti ve / veya hata ayıklama modülüne sahip bir tarayıcı gerektirdiğini varsayacağım. bir eklenti / uzantı. Birini listeleyeceğim ve diğer insanlardan ayrıntılı olarak bildikleri tarayıcılar hakkında yazmalarını isteyeceğim ve lütfen sürümler konusunda kesin olun.
Krom, Demir yapı (SRWare Iron 4.0.280)
İngiliz anahtarı (araç) menüsü: Seçenekler / Gelişmiş Seçenekler / [Çerezleri ve web sitesi izinlerini göster] İlgili alanlar / siteler için soneki arama kutusuna yazın (.foo.tv gibi). Uyarı: Tıklama ile vurgulanmış bir düğümünüz (site veya çerez) olduğunda, yalnızca belirli alt ağaçları öldürmek için [Kaldır] seçeneğini kullanın. [Tümünü Kaldır] 'ı kullanmak, aramayla seçilen tüm siteler için çerezleri yine de siler ve hata ayıklama oturumunuzu boşa harcar.
Tarayıcı uzantıları geliştirirseniz , browser.cookies.getAll () 'yi deneyebilirsiniz.
İstediğiniz şey mümkün; ancak bu yalnızca belirli bir tarayıcıda çalışacaktır. Bunu başarmak için bir tarayıcı uzantısı uygulaması geliştirmelisiniz. Daha iyi anlamak için chrome api hakkında daha fazla bilgi edinebilirsiniz. https://developer.chrome.com/extensions/cookies