如何确保JavaScript页面不通信

如何确保JavaScript页面不通信,javascript,Javascript,我创建了一个小的JavaScript应用程序,我重用了从internet下载的一些(相当大的)JavaScript资源。 我的应用程序与其他交互式web应用程序一样在浏览器中运行,但完全脱机工作 然而,我打算在应用程序中输入一些私人信息,它将可视化。由于我最终无法信任我下载的JavaScript片段,我想知道是否有JavaScript选项来确保没有数据被下载,尤其是上传到web 请注意,我知道我可以切断本地internet连接,或者更改浏览器设置或使用应用程序防火墙,但这不是一个适合我需要的解决

我创建了一个小的JavaScript应用程序,我重用了从internet下载的一些(相当大的)JavaScript资源。 我的应用程序与其他交互式web应用程序一样在浏览器中运行,但完全脱机工作

然而,我打算在应用程序中输入一些私人信息,它将可视化。由于我最终无法信任我下载的JavaScript片段,我想知道是否有JavaScript选项来确保没有数据被下载,尤其是上传到web


请注意,我知道我可以切断本地internet连接,或者更改浏览器设置或使用应用程序防火墙,但这不是一个适合我需要的解决方案。您可以假设浏览器实例的隔离是save,即没有其他可能是恶意的网站可以访问我的脱机JavaScript应用程序或我输入的用户数据。如果有一种安全的方法(自动)检查下载资源的代码(例如,因为只能通过我可以搜索的几个专用JavaScript命令进行通信),这也是一种可接受的解决方案。

您应该查看内容安全策略(CSP)(请参阅和)。这基本上会阻止从浏览器到任何其他主机的所有连接,除非明确允许。请注意,并非所有浏览器都支持CSP,这会导致潜在的安全问题


查看库代码可能很困难,因为有很多方法可以屏蔽这些代码块。

在应用程序运行时,通过观察浏览器的网络活动,自己找到它

有足够多的工具来实现这一点。另外,如果您知道如何使用
netstat
命令行工具,那么它很容易随windows一起提供

下面是一个很酷的chrome扩展,它监视当前选项卡的流量

这里还有另一个扩展,可以修改所选流量

您可以设置过滤器并修改页面中发生的所有请求/响应



如果您想自己编写一个扩展来阻止请求,请查看答案。

我想说的是,要真正确保完全控制您的数据,请自己重新编写资源代码。当然可以,但我正试图在我的安全需求和我自己编写代码的努力之间找到平衡。做后者,我可能也会忽略可能使其不安全的问题。您是在本地web服务器上使用此web应用程序,还是使用
文件://
协议打开网站?@t.niese有什么意义?@t.niese您可能认为不涉及web服务器。是的,这是我考虑过的一个选项。当然,这是有限制的,因为我很难测试应用程序可能遇到的每个条件。也就是说,重复使用的代码只能在我测试时无法解决的特定情况下进行通信。但这并不能告诉您是什么代码导致了通信。@Cerbrus OP说他的代码不通信。所以,如果他看到任何日志,一定是他使用的库。是的,但是这些库中有什么功能?他不需要确保库没有通信吗?因此,当他在日志中看到一个活动时,他就有了自己的输入——一个库正在提交。此外,他可以进入chrome的“网络”选项卡,找到请求的确切来源。谢谢,我不知道。关于审查,是否有机会使用JavaScript生成的某种机器代码来确定它(例如,如果所有JavaScript有效通信的方式都归结为几个特定的库调用)?