我需要使用javascript/Angular2 2将敏感数据复制到剪贴板。与字符串应该保密,例如在不再需要时从计算机内存中删除它。
类似的东西在微软.Net (System.Security.SecureString)中是可用的。
问:作为Microsoft clipboard is not secure,这样的东西也适用于javascript/Angular2 2吗?
谢谢
发布于 2016-07-15 13:47:45
只有javascript和angular,在普通的web浏览器中,您会期望消费者已经安装了这是不可能的。
所有主流浏览器都提供了可以检查浏览器中使用的变量的开发工具。因此,位于正确位置的断点将允许任何打开网页的人访问该变量。而且,一旦数据在剪贴板中,您无论如何也就失去了对数据的控制,并且它被公开供其他应用程序从剪贴板复制。听起来,您可能需要某种本地安装的瘦客户机(桌面应用程序),才能安全地允许用户与这些数据交互。
在这里阅读javascript虚拟机中的内存管理,了解何时以及如何清除Management内存。
也许有人知道用javascript做这件事的方法,但我不相信这是可能的,但是很难知道你不知道什么。
.NET SecureString为您做的事情就是在客户端的javascript中不能工作(服务器上不是node.js,这是另一种情况)。如果客户端javascript VM中确实有这样的特性,则需要一种加密字符串数据的方法,这意味着您需要在客户端或网页中的某个位置存储加密密钥和初始化向量,但更重要的是需要对它们进行保护。
考虑到所有的数据都在客户端机器上,并且没有离开客户端机器,您想要保护这些数据不受什么威胁?用户是否将数据从剪贴板传输到远程计算机?数据在剪贴板上之后会发生什么呢?
https://stackoverflow.com/questions/38397486
复制相似问题