[英]Javascript scope / security concern in Firefox extension
我正在開發FireFox擴展程序,並且必須存儲一些我需要保護的值,這些值是安全的,並且無法從其他任何擴展程序/頁面等訪問。
我正在為我的擴展代碼使用設置,如下所示:
if(!namesp) var namesp={};
if(!namesp.anothernamesp) namesp.anothernamesp={};
namesp.anothernamesp = function() {
var mySecureValue = ''; //is this variable accessible from anything aside from inside the namesp.anothernamesp scope?
return {
useSecureValue: function() {
//do something here with mySecureValue
}
};
function getSecureValue() { //can this method be called from anywhere besides inside the namesp.anothernamesp scope?
return mySecureValue;
}
}();
除了我自己的擴展名之外,還有什么方法可以訪問“ mySecureValue”? 為了使該對象可以在擴展程序等中打開的任何窗口全局訪問,我將該對象傳遞給window.openDialog()方法中的窗口,並使用window.arguments從新創建的窗口中訪問它。 謝謝。
似乎很正確。 實際上,這是大多數教程和書籍教授模擬私有方法和屬性的方式。
沒有 ,有沒有辦法可以保持一個擴展名從影響其他分機。
原因如下:
如果其他某個擴展要讀取變量mySecureValue
則可以通過以下方式進行讀取:
profile/extensions
文件夾中讀取它) mySecureValue
! 所有這些最不幸的原因是Mozilla firefox在擴展之間未實現任何形式的右分隔。 每個擴展都可以為所有人做任何事情。 它甚至可以執行shellcode並進行其他損害賠償。
您唯一可以嘗試的就是混淆您的秘密數據。 盡管這不會阻止但可能只會使攻擊復雜化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.