【发布时间】:2019-05-09 22:41:12
【问题描述】:
任何知道如何在 Tampermonkey 扩展程序中编写脚本或如何创建扩展程序的人都可以轻松地在网页中注入 javascript 代码并访问配置键。那么如何保护它呢?
var config = {
apiKey: "apiKey",
authDomain: "projectId.firebaseapp.com",
databaseURL: "https://databaseName.firebaseio.com",
storageBucket: "bucket.appspot.com"
};
firebase.initializeApp(config);
现在我唯一能想到的就是包装匿名函数以避免全局变量可访问性。这可以防止访问变量。
还是不安全,开发者可以使用正则表达式ajax javascript文件和解析数据,那么如何防止呢?
我想到的另一件事是使用 nodejs 作为后端并使用 restapi 获取数据,但它也排除了它是实时数据库。此外,如果firebase在后端实时更新数据库,我必须使用socket.io将数据实时传输到客户端。
因为如果任何人都可以注入脚本来访问配置键,那么他也可以按照自己的意愿在数据库中的任何地方读写,只要授予读写权限。 这是一个安全问题。客户端上可用的任何密钥都是有风险的。那么如何防止此类攻击呢?
【问题讨论】:
标签: javascript firebase firebase-realtime-database