如何掩盖用Javascript编写的敏感数据?

时间:2015-03-28 14:16:17

标签: javascript security

我开发了一个Web应用程序,它在AngularJS应用程序中使用Google登录。

由于client_id和api_key是用Javascript编写的,我认为即使只是使用浏览器的开发控制台也很容易找到它们。

显然有可能“掩盖”JS代码(例如How can I obfuscate (protect) JavaScript?),但我担心的是:这是否真的让潜在的攻击者无法访问密钥?

如果没有,这种情况下的最佳做法是什么?我听说过某种后端会掩盖JS中写的密钥。一种“门户”

请注意,我的问题不只是关于Google API,而是我编写的所有代码,除非我决定这样做,否则我不想成为“开源代码”

编辑:因为我不确定我的疑问是否完整,这是我的实际问题

what methodology I can use to effectively prevent users "stealing" my keys? there exist any service which serves as gateway? shall I design one on my own?

1 个答案:

答案 0 :(得分:1)

  

这确实使潜在的攻击者无法访问   钥匙

您可以对其进行压缩和/或对其进行模糊处理,但只要您的应用程序需要普通密钥,此过程始终可以反转

  

我写的所有代码,我不想成为"开源代码"除非   我决定这样做

选择JavaScript作为您的语言,浏览器作为您的平台,已经决定开源。

您获得了代码的版权,因此您可以留下适当的许可标题,并且知道赚钱的公司不敢&"只是撕掉"你的代码。对你如何完成某些事情感兴趣的人将不会经历扭转压缩和/或混淆的麻烦。

编辑:非公共API密钥通常绑定到指定的引荐来源域。

  

To prevent your key from being used on unauthorized sites, only allow referrals from domains you administer.