所以我的意思是。假设您正在构建需要使用外部服务的Web应用程序。该外部服务要求您使用client_id
和client_secret
对其进行身份验证。因此,我希望javascript能够找到client_id
和client_secret
的内容,而没有任何可以打开开发人员工具的随机开发人员能够找到它们。
这甚至可能吗?是否有可能对这些事情进行加密或者至少使其模糊不清以至于普通开发人员如何获取这些密钥是非常不切实际的?
我有时会读到的一些事情是,您可以将数据/代码放在png中,然后将该png作为javascript中的代码读取。这似乎是一种可接受的方法,因为我认为大多数人都不会考虑查看加载的图像,对吧?而我猜测我会以某种方式尽可能地将javascript本身搞砸太正确吗?还有更多类似的方法吗?
答案 0 :(得分:2)
是否可以对这些内容进行加密或者至少使其模糊不清以至于普通开发人员找不到如何获取这些密钥是非常不切实际的?
没有
这似乎是一种可接受的方法,因为我认为大多数人都不会考虑查看加载的图像,对吧?
然后,用户只需查看浏览器中的“网络”选项卡,并观察对Web服务的HTTP请求,并从中提取密码。它们不需要解码您的源代码。
答案 1 :(得分:-1)
尝试查看混淆和缩小。这符合您的描述。然而,无法在Javascript中真正隐藏某些东西,无论你做出多么扭曲,它总是可以被另一个开发者/黑客检索