如何确保JavaScript页面无法通信

时间:2018-05-17 08:07:12

标签: javascript

我创建了一个小型JavaScript应用程序,我重用了一些(非常大的)我从互联网上下载的JavaScript资源。 我的应用程序像其他交互式Web应用程序一样在浏览器中运行,但完全脱机工作。

但是,我打算在应用程序中输入一些可视化的私人信息。由于我无法最终信任我下载的JavaScript部分,因此我想知道是否有JavaScript选项可确保不下载任何数据,特别是上传到网络。

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

2 个答案:

答案 0 :(得分:1)

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

查看库代码可能很困难,因为有很多方法可以掩盖这些代码片段。

答案 1 :(得分:1)

通过在应用程序运行时观察浏览器的网络活动来自行查找。

有很多工具可以做到这一点。此外,如果您知道如何使用netstat命令行工具,则很快就会附带Windows。

这是一个很酷的镀铬扩展程序,它可以监视当前标签的流量。

https://chrome.google.com/webstore/detail/http-trace/idladlllljmbcnfninpljlkaoklggknp

enter image description here

并且,这是另一个可以修改所选流量的扩展。

https://chrome.google.com/webstore/detail/tamper-chrome-extension/hifhgpdkfodlpnlmlnmhchnkepplebkb?hl=en

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

如果您想自己编写扩展名来阻止请求,请检查this answer out。