鍍金池/ 問(wèn)答/HTML/ js 中 cookie限制相關(guān)的問(wèn)題

js 中 cookie限制相關(guān)的問(wèn)題

問(wèn)題:js獲取單個(gè)域名的單個(gè)cookie的max字符或者字節(jié)容量?js獲取單個(gè)域名的cookie的max數(shù)量和當(dāng)前數(shù)量?js獲取瀏覽器的cookie當(dāng)前數(shù)量和max數(shù)量?

網(wǎng)上找了一圈了,國(guó)內(nèi)外都看過(guò)了,沒(méi)有能回答清晰的,頂多就是給個(gè)rfc或者通過(guò)測(cè)試的方式給出各個(gè)瀏覽器的支持情況,都未能滿(mǎn)足我的問(wèn)題,因?yàn)樾枰诖a中實(shí)時(shí)捕獲這些信息。
1.是否存在直接的函數(shù)獲取提問(wèn)中的內(nèi)容?
2.假如不存在,是否有其他變相的途徑去獲取此內(nèi)容?
3.指示用html5的localstorage請(qǐng)繞道
4.請(qǐng)用簡(jiǎn)單直接的方式回答,多謝

回答
編輯回答
墨小羽

基于瀏覽器的js無(wú)法獲取到全部的cookie。
document.cookie獲取的是經(jīng)過(guò)瀏覽器篩選的cookie數(shù)據(jù),連domain、path、expiretime這些都不會(huì)包含的,因?yàn)榛诎踩?,瀏覽器只會(huì)在此接口里返回符合domain、path和expiretime的數(shù)據(jù),你沒(méi)有辦法拿到類(lèi)似在chrome瀏覽器application-》cookies里面那樣的全部數(shù)據(jù)。

變相辦法只能求助脫離瀏覽器的安全沙箱,例如自制一個(gè)擴(kuò)展來(lái)讀取,但這已經(jīng)是很高門(mén)檻,沒(méi)有了普適性。

2018年1月25日 07:42
編輯回答
憶當(dāng)年

首先,你要界定
單個(gè)域名是什么?
所有域名又是什么?


如果單個(gè)域名是指abc.xyz.com 這樣的一個(gè)子域名,所有的是指xyz.com這樣的定級(jí)域名的話(huà),還有一點(diǎn)點(diǎn)可能可以獲取,否則會(huì)因?yàn)榭缬蚨荒塬@取。

cookie的限制其實(shí)由瀏覽器來(lái)實(shí)現(xiàn),參考Cookie有數(shù)量和大小的限制,一般都是4k。

當(dāng)前cookie數(shù)量這個(gè)你如果能讀取到就知道了。

2017年11月18日 08:17