您不能切断脚本的任何本机传输。
例如,Worker 只能访问一个本机传输 XMLHttpRequest(因为无法访问文档 -> 没有带有 src、link、forms 的节点),您可以重新定义它,即window.XMLHttpRequest = function () {return 1}
脚本无法将数据发送到服务器。
但是只要运行delete window.XMLHttpRequest
,你就会设置回原生 XMLHttpRequest。它在严格模式下工作正常(ECMAScript-262 ed. 5/6)
(function () {
'use strict';
window.XMLHttpRequest = function () {return 1};
console.log(window.XMLHttpRequest);
delete window.XMLHttpRequest;
console.log(window.XMLHttpRequest);
})()
关于 HTML5 iframe 选项。如果您使用sandbox="allow-scripts allow-same-origin allow-pointer-lock"
iframe 中的任何脚本都无法发送跨域请求(XMLHttpRequest、postMessage、WebSocket、WebRTC、Server-Sent Events...any)。如果您需要拒绝跨域请求 - 就是这样。