防止在JavaScript中拦截XHR请求

防止在JavaScript中拦截XHR请求,javascript,xss,Javascript,Xss,有没有办法防止从全局范围截取XHR请求(如) 首先,我想到的是,将XMLHttpRequest作为参数传递给应用程序条目函数(或IIFE),并基于该副本发出请求(例如,JQuery有一个自定义XHR对象的选项)。它可靠吗?或者有其他方法在不改变XMLHttpRequest的情况下拦截请求 需要注意的是,当XSS攻击成功后,攻击者可以拦截请求并从头中窃取JWT时,如何处理这种情况。使其不可变: const send = XMLHttpRequest.prototype.send; delete X

有没有办法防止从全局范围截取XHR请求(如)

首先,我想到的是,将XMLHttpRequest作为参数传递给应用程序条目函数(或IIFE),并基于该副本发出请求(例如,JQuery有一个自定义XHR对象的选项)。它可靠吗?或者有其他方法在不改变XMLHttpRequest的情况下拦截请求

需要注意的是,当XSS攻击成功后,攻击者可以拦截请求并从头中窃取JWT时,如何处理这种情况。

使其不可变:

const send = XMLHttpRequest.prototype.send;
delete XMLHttpRequest.prototype.send;
Object.defineProperty(XMLHttpRequest.prototype, 'send', {value: send});

“[…]在一次成功的XSS攻击后”您遇到的问题比您在这里试图解决的任何问题都要大。就像。。。“他们可能会用核武器袭击我们,那么我们如何对付步兵呢?”你是对的,但有时你无法控制一切。谢谢!这看起来很有希望。作为额外的一步,XMLHttpRequest本身可以作为只读的。