在 PhantomJS 中禁用内容安全策略
Disable Content Security Policy in PhantomJS
我正在尝试在 PhantomJS (2.1.1) 的 page.evaulate()
调用中使用 WebSocket。尝试连接到 WebSocket 服务器时,出现以下错误:
SecurityError: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
我可以通过转到 about:config
并将 security.csp.enable
设置为 false 来禁用 Firefox 中的 CSP。完成此操作后,我可以 运行 通过将 PhantomJS 脚本中的相同代码粘贴到 Firefox 的控制台中,没有任何问题。
是否可以在 PhantomJS 中禁用内容安全策略? (我试过设置 page.webSecurityEnabled = false
和 page.localToRemoteUrlAccessEnabled = true
无济于事。)
PhantomJS 最新稳定版 2.1.1 在尝试获取具有以下响应的网页时存在错误 header:
content-security-policy: default-src 'none'
修复:
分支 2.1.1,文件:\phantomjs\src\qt\qtwebkit\Source\WebCore\page\ContentSecurityPolicy.cpp,更改第 354 行:
, m_allowEval(false)
收件人:
, m_allowEval(true)
然后 build.py -r ... 享受吧!
我正在尝试在 PhantomJS (2.1.1) 的 page.evaulate()
调用中使用 WebSocket。尝试连接到 WebSocket 服务器时,出现以下错误:
SecurityError: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
我可以通过转到 about:config
并将 security.csp.enable
设置为 false 来禁用 Firefox 中的 CSP。完成此操作后,我可以 运行 通过将 PhantomJS 脚本中的相同代码粘贴到 Firefox 的控制台中,没有任何问题。
是否可以在 PhantomJS 中禁用内容安全策略? (我试过设置 page.webSecurityEnabled = false
和 page.localToRemoteUrlAccessEnabled = true
无济于事。)
PhantomJS 最新稳定版 2.1.1 在尝试获取具有以下响应的网页时存在错误 header: content-security-policy: default-src 'none'
修复: 分支 2.1.1,文件:\phantomjs\src\qt\qtwebkit\Source\WebCore\page\ContentSecurityPolicy.cpp,更改第 354 行:
, m_allowEval(false)
收件人:
, m_allowEval(true)
然后 build.py -r ... 享受吧!