启用交叉原点请求被CORS或CSP阻止。禁用选定主机名中的CORS和CSP,保留其他网站的安全性
扩展程序可以使用fetch()或xmlhttprequest(xhr)对象的cross Origin请求,这些对象被CORS策略阻止或违反了文档的内容安全策略。这是解决开发过程中CORS错误的最简单方法。
Internally the extension bypasses Cross-Origin Resource Sharing (CORS) and Content Security Policy (CSP) by setting permissive Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Allow-Credentials and Content-Security-Policy response headers.
用户指南:
单击“选项卡中的扩展图”图标,其中包含要启用交叉原始请求的URL的URL。 CORS策略在所有选项卡中都使用相同的主机名被禁用。来自其他主机的网页的标签不受影响。除非被CSP阻止,否则任何Fetch()或XHR请求都将成功。要禁用CSP,必须重新加载页面。
典型用例:
您开发了一个企业Web应用程序,其功能取决于已经存在的Web服务。生产环境具有与Web服务相同的主机名,但是开发环境是在您的办公室设置的,并具有不同的主机名。 Web服务不支持交叉原始请求。因此,在开发环境中,浏览器中的CORS机制阻止了对基本Web服务的请求。您可以想象一个基于反向代理和剩余服务的环境依赖性URL的解决方案,或者您可以选择轻松的解决方案,而不是安装浏览器扩展程序,而不必做任何其他事情。
不仅CORS,而且CSP也可以防止交叉原始请求。严格的CSP是越来越普遍的安全要求。与CORS一样,您可以为开发和生产环境设置不同的策略,但是使用扩展而不是配置特定于环境的应用程序设置。
该扩展如何比其他扩展更好:
- 扩展是特定于域的。启用了交叉原始请求,即CORS和CSP被禁用,而不是在所有浏览器选项卡中在全球范围内,而是在与您通过单击扩展图标中选择的主机名的选项卡中进行禁用。因此,扩展名不会损害浏览器中打开的所有网站的安全性。
- 扩展是开源的,因此是安全的。
- 扩展使CORS和CSP放松。
- 支持cookie的交叉原点请求。扩展集不是星号,而是访问控制 - 允许原始标头中的确切来源。
- 扩展名不会破坏任何流行的网站,例如youtube.com或Google文档
- 扩展程序没有任何设置,也无需配置。
- 除了图标外,扩展程序还没有任何用户界面。
如何测试CORS扩展
有两个标准:
- 交叉起源请求成为可能。您可以在https://crossoriginrequests.onrender.com上测试所有可能的请求,即获取,发布,放置,删除,有或没有凭据。
- 其他网站的功能,例如youtube.com或docs.google.com,即使在其标签中激活扩展名时也不应受到干扰。
https://marian-caikovski.medium.com/how-to-bypass-cors-cors-cors-and-cors-and-cors-policies-and-enable-cross-cross-origin-requests-in-a-a-browests-in-a-a-a-browser-477FE269500fb中说明了反cors扩展的源代码。
可以从扩展名中提取普通源代码,也可以从https://github.com/marianc000/anticors下载