【发布时间】:2020-02-25 22:27:31
【问题描述】:
我的网页需要以客户端启动的方式从可能(有时**)不受信任/受攻击者控制的域中获取数据。
JavaScript 是否允许 [安全地] 从可能不受信任或攻击者控制的域中获取数据*?
如果有,这是什么功能?
澄清/附录/“inb4”s / P.S.:
*数据获取协议/格式[尚未]定义;甚至没有 HTTP GET 与 POST。 我没有偏好数据格式,可以根据需要/适当的,包容性甚至可以选择+实现+,甚至是明文/分隔格式。 不需要使用 JSON。
**技术上,域(可能是任意的/用户定义的!)有时必须通过 HTTP 加载;这种威胁模型与从敌对服务器获取数据是同构的,尤其是在漫游非 VPN 网络连接的情况下。 (而且,是的,之后对所述不受信任数据的安全处理超出了这个问题的范围)
XY Problem“X”:这里的驱动项目是一个网络浏览器主页/应用程序,它将从可能是用户的来源加载内容(从偏好和琐碎的小部件到直接的内容)受控制并且可能(由用户选择)驻留在非 ICANN 域(例如本地域、OpenNIC 域等)上并且可以服务于各种目的,从“金丝雀”(MITM 存在和单纯的网络配置检查)到完全的位置特定数据。由于上述一系列原因[域未预定义],TLS 连接可能可用也可能不可用;即使在这种情况下,也有必须/应该/将要加载的内容。
这不是与#29022794 的重复。我没有使用 JQuery 的要求,这个问题只询问 $.getJSON() 是否可以安全地用于不受信任的 URL(其中,a.它似乎不是;b.甚至如果是,这个问题将询问 [JQuery 正在调用的] 底层函数,而不是询问如何使用 JQuery 本身)。
【问题讨论】:
-
也许您可以设置一个您当然会信任的服务器。然后,您的服务器可以根据您的标准验证不受信任方的有效负载是“好”还是“坏”……。
-
每当我读到以“Javascript 可以安全...”开头的问题时,我就已经知道答案了。
标签: javascript network-security