阻止Web应用程序在域白名单之外发出HTTP请求

我构想了一种适用于浏览器/ Web客户端的安全功能,但是我无法找到有关该主题的任何资源或讨论,因此我想获得一个评估该功能是否可以/应该/应该的答案。存在。

问题:是否可以根据允许域的白名单来限制Web客户端能够向哪些域发出HTTP请求?

合理性:

前端Web开发人员倾向于使用第三方库。它更容易,更快,更易于维护,并且通常有助于提高产品质量。这些库中的许多库都是开源的且信誉良好,但是很难审计所有第三方依赖项,并且使用它们意味着一定的风险评估和一定程度的合理信任。可以想象,外部库可能包含恶意代码。

作为一个示例,假设我正在开发一个接受信用卡详细信息的应用程序。在整个应用程序中,我使用的是第三方UI /样式框架。在我不知情的情况下,事实证明第三方库包含旨在窃取信用卡号并将其发布到外部站点的恶意JavaScript。这似乎是Web应用程序中恶意代码的常见模式,因为为了在Web应用程序外部产生某种恶意影响,必须对某些外部资源(应用程序域服务器或恶意第三方服务器)执行操作

在此示例中,如果可以将应用程序域不变地列入白名单(这样以后就不会再将第三方站点列入恶意代码白名单),那么恶意代码就不可能窃取信用卡通过将其发送到第三方站点进行编号。作为浏览器的安全功能,它可能看起来像(1)在任何JavaScript之前加载的HTML属性,(2)允许定义白名单,但不允许以后定义限制较少的白名单的JavaScript接口。

显然,这不能防止恶意代码可能采取的所有邪恶行为,但是它确实消除了大范围的担忧。大多数邪恶的(但有用的是值得采取的措施)都需要网络请求(窃取敏感数据,发送挖出的比特币,有害的分析等)。事实是,我包含的前端依赖项可能正在发出外部HTTP请求,而我可能不知道。

这样的方案已经存在吗?这种功能会有帮助还是有问题?

a9413164 回答:阻止Web应用程序在域白名单之外发出HTTP请求

您正在寻找Content Security Policy

一个简单的脚本(仅用于限制脚本),因此只能从与HTML文档相同的来源加载脚本,如下所示:HTTP响应标头:

Content-Security-Policy: default-src *; script-src 'self'
本文链接:https://www.f2er.com/2353752.html

大家都在问