阻止对另一个域的请求?

Prevent request to another domain?

我想通过不允许我页面上的任何内容发送 XHR/XMLHttpRequest(或其他?)请求 到 [=21= 来从管理上防止整个 class XSS 攻击] 除托管页面的域之外的其他域。这可能吗?

我以为我可以用 Cross-Origin Resource Sharing (CORS) 做到这一点,但看来我错了。如果 domain-a.com 上托管的页面试图向 domain-b.com 发出 XHR 请求,则可以在 domain-b.com 页面上 使用 CORS控制是否允许。

因此,如果 domain-a.com 页面上的某些内容试图向 hackers-r-us.com 发出 XHR 请求,只要 hackers-r-us.com 设置适当的 CORS headers.

但是我可以在 domain-a.com 上的页面上设置什么来禁止对 hackers-r-us.com 等其他域的请求,而不管 [=28 上的 CORS headers =].com?

要阻止对另一个域的请求,请使用 CSP — specifically, the connect-src CSP 指令。

CSP 指令使用 Content-Security-Policy HTTP header 指定,并由浏览器强制执行。指定 connect-src 指令的 header 的最简单示例是:

Content-Security-Policy: connect-src 'self';

如果您在 https://example.com/foo/ 提供文档,浏览器会阻止文档中的任何前端代码向其自身以外的任何来源的 URL 发出请求 ('self');即,浏览器将允许的请求限制为仅以 https://example.com.

开头的 URL