如果你有一個變量設置敏感數據:覆蓋可變內容的JavaScript
var secretPassword = 'myPa$sW0rd';
,你覆蓋它:
secretPassword = '0000000000';
做了一個JavaScript引擎分配新的內存爲新的數據?數據myPa $ sW0rd可能在未分配內存中的某處仍然存在? 我的主要問題是:有沒有辦法保證你覆蓋數據? (即零出或安全刪除數據)。我想知道是否循環遍歷字符串中的字符並重新設置它們。
我想這是不太可能,你將能夠訪問數據,而一些bug的JavaScript引擎。
即使是有保證的,這種低級別的安全性是徒勞的在javascript:什麼是說任何人讀取或修改secretPassword的你得到它之前? – doldt
要了解UI級別的安全性是多麼徒勞,在它創建一個密碼字段的網頁,在鍵入密碼,然後,在控制檯中,運行以下命令:'警報(的document.getElementById(THE_PASSWORD_FIELD_ID).value的);' – talemyn
謝謝你們,我不擔心這些事情。當你存儲憑證時,他們必須存儲在某個地方。我只是想的更多,當用戶在相同的特權升級不再驗證,或者至少不是(爲什麼讓他們比必要升級更長)。希望確保它們可能在未分配的內存中,就像我想的那樣(即使在重置變量之後)。 – Mike