javascript - 如何克服 Ajax 内容安全策略指令?

标签 javascript ajax web content-security-policy

我在各种网站上注入(inject)一些 JS 代码(使用 Selenium 和 Python),以将 POST 请求发送到我的本地 Web 服务器。在某些网站上它运行良好。但大多数情况下,我没有收到请求。认为这是因为内容安全策略。

例如,当我尝试在 github.com 上的 Chrome 中使用控制台运行代码时,出现以下错误:

Refused to connect to 'http://10.50.50.127:7777/' because it violates the following Content Security Policy directive: "connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com ...".

我的代码如下所示:

function sendData() {
            var request = new XMLHttpRequest();
            request.open('POST', 'http://10.50.50.127:7777', false);  
            request.send("test");
        }

我自己做了一些研究,找到了一个可能的解决方案 - 使用本地代理服务器并将数据发送到像“/test”这样的相对路径。但从头开始编写代理服务器相当复杂。

那么,我可以采取什么措施来克服此内容安全政策?

最佳答案

如果您使用 Chrome 并且想要禁用内容安全策略,您还可以使用 Chrome 网上应用店中名为禁用内容安全策略的插件。这是 Chrome 禁用 header 的插件。 我通过 Tampermonkey (Chrome) 注入(inject) JS,效果很好。

关于javascript - 如何克服 Ajax 内容安全策略指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46807244/

相关文章:

javascript - 使用描述对时间戳进行分组

javascript - 带有样式组件的样式函数中的 React.useContext

javascript - 如何调用函数并传递带有句点符号的变量

javascript - 难以重新初始化 jscrollpane 滚动条

html - CSS 不适用于 Django

linux - 为什么 Apache 不允许从 index.html 中访问 Web 根目录之外的文件?

javascript - 有没有办法在电脑之间自动同步html5 localstorage

javascript - 在 Javascript 中存储 JSON 响应的大小

asp.net - 如何强制从代码隐藏进行完整回发?

javascript - 使用 Excel VBA 在 JavaScript web 中选择 onchange 值