Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将敏感数据共享到浏览器中的js脚本?_Javascript_Security - Fatal编程技术网

Javascript 是否可以将敏感数据共享到浏览器中的js脚本?

Javascript 是否可以将敏感数据共享到浏览器中的js脚本?,javascript,security,Javascript,Security,所以我的意思是。假设您正在构建一个需要使用外部服务的web应用程序。而该外部服务要求您使用客户id和客户机密向他们进行身份验证。因此,我希望javascript能够找出client\u id和client\u secret是什么,而无需任何随机开发人员打开开发人员工具就能找到它们 这可能吗?是否有可能对这些东西进行加密,或者至少将其隐藏得如此之深,以至于对于一个普通的开发人员来说,找到如何获取这些密钥是非常不切实际的 我有时读到的一些东西是,您可以将数据/代码放在png中,然后将该png作为ja

所以我的意思是。假设您正在构建一个需要使用外部服务的web应用程序。而该外部服务要求您使用
客户id
客户机密
向他们进行身份验证。因此,我希望javascript能够找出
client\u id
client\u secret
是什么,而无需任何随机开发人员打开开发人员工具就能找到它们

这可能吗?是否有可能对这些东西进行加密,或者至少将其隐藏得如此之深,以至于对于一个普通的开发人员来说,找到如何获取这些密钥是非常不切实际的


我有时读到的一些东西是,您可以将数据/代码放在png中,然后将该png作为javascript中的代码读取。这似乎是一种可以接受的方法,因为我认为大多数人不会考虑查看加载的图像,对吗?我猜我需要尽可能地丑化javascript本身,对吗?还有其他类似的方法吗?

试试模糊和缩小。这符合你的描述。然而,不可能在Javascript中真正隐藏某些内容,无论您如何扭曲它,它总是可以被其他开发人员/黑客检索到

是否有可能对这些东西进行加密,或者至少将其隐藏得如此之深,以至于对于一个普通的开发人员来说,找到如何获取这些密钥是非常不切实际的

没有

这似乎是一种可以接受的方法,因为我认为大多数人不会考虑查看加载的图像,对吗


然后,用户只需查看浏览器中的网络选项卡,查看对Web服务的HTTP请求,并从中提取秘密。他们不需要解码您的源代码。

不,这是不可能的。您应该从服务器而不是客户端调用API。即使您忽略了Javascript,他们也可以转到DevTools的“网络”选项卡,查看发送到外部服务的内容。将您的服务器用作代理。在网络请求中,值仍将像day一样清晰。这就是我所说的。。它总是可以找回的?