當我嵌入一個託管在JS上的JS可以說,xyz.com在一個託管在abc.com上的網頁上時,似乎xyz.com/test.js可以讀取和寫入abc.com上設置的所有鍵值。這不是被認爲是巨大的安全漏洞嗎?當您計劃使用Google Analytics等第三方JS時,建議網站不要在本地存儲中存儲任何用戶敏感信息?第三方JS訪問第一方localstorage可以嗎?
下面是一個例子 - https://jsfiddle.net/kuldeepk/eqawezd6/1/
localStorage.setItem('first-party', 'first-party');
window.Test.setKeyValue('third-party', 'third-party')
console.log(window.Test.getKey('first-party'))
console.log(localStorage.getItem('third-party'));
window.Test在第三方JS
是的,任何加載在頁面上的JS都可以從頁面的域中訪問cookie和localStorage。這是您不應該在瀏覽器中存儲敏感數據的原因之一(如果您必須,請將其加密並將其解密到服務器端)。在法國,我們有法律禁止在未經用戶同意的情況下在本地存儲數據,並存儲非加密的敏感數據,如用戶電子郵件,密碼等。 – blex
有趣。我很困惑爲什麼瀏覽器允許這個安全漏洞,而cookie不會遭受同樣的設計缺陷。 –
_「餅乾不會遭受同樣的設計缺陷」_? https://jsfiddle.net/scwo1ba9/ – blex