gpt4 book ai didi

google-chrome - 在 Chrome 48+ 中禁用网络安全

转载 作者:行者123 更新时间:2023-12-01 18:00:13 26 4
gpt4 key购买 nike

我的 --disable-web-security 标志有问题。它不适用于 Windows 上的 Chrome 48 和 Chrome 49 beta。

我尝试终止所有实例,重新启动并首先使用该标志运行 Chrome,也尝试了不同的机器。在测试版中,我可以看到警告弹出窗口(“您正在使用不受支持的标志..”),但 CORS 仍在强制执行。公共(public)版本似乎完全忽略了该标志。

似乎没有任何新闻或人对此进行报道,所以这可能是一个本地问题。将不胜感激帮助或任何相关信息。

最佳答案

更新 2021-10-18

从 Chrome 95 开始,在 MacOS 和 Windows 上,--disable-site-isolation-trials 仍然是禁用网络安全的必需标志,因此 Chrome 的命令行参数如下所示仍然有效。 (Chrome 并未正式支持某些参数,因为它会警告您。)

要测试您是否已在禁用网络安全的情况下成功启动 Chrome,请运行本文底部网络安全测试中的代码段。

更新2020-04-30

从 Chrome 81 开始,必须通过 --disable-site-isolation-Trials 传递两者和非空配置文件路径 - user-data-dir 以使 --disable-web-security 生效:

# MacOS (in Terminal)
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

# Windows (from "Run" dialog [Windows+R] or start menu in Windows 8+)
chrome.exe --user-data-dir=%TMP%\temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

(推测)Chrome 可能需要非空配置文件路径,以降低在默认配置文件上禁​​用网络安全的情况下启动浏览器的高安全风险。请参阅 --user-data-dir=--user-data-dir=/some/path 欲了解更多详情,请参阅下文。

感谢@Snæbjørn在评论中查看 Chrome 81 提示。

<小时/>

更新2020-03-06

从 Chrome 80(可能更早)开始,标志组合 --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials 不再禁用网络安全

尚不清楚 Chromium 代码库何时回归,但下载旧版本的 Chromium(在 "Not-so-easy steps" on the Chromium download page 之后)是我找到的唯一解决方法。我最终使用了版本 77.0.3865.0,它可以使用这些标志正确禁用网络安全。

<小时/>

原帖2019-11-01

在 Chrome 67+ 中,必须传递 --disable-site-isolation-trials 标志以及参数 --user-data-dir=--disable-web-security 真正禁用网络安全。

在 MacOS 上,完整命令变为:

open -na Google\ Chrome --args --user-data-dir= --disable-web-security --disable-site-isolation-trials

关于--user-data-dir

David Amey's answer ,仍然需要为 Chrome 指定 --user-data-dir= 以遵循 --disable-web-security 选项。

--user-data-dir=--user-data-dir=/some/path

尽管通过 --user-data-dir= 传递空路径可与 --disable-web-security 配合使用,但出于安全目的,不建议这样做,因为它使用您的默认 Chrome 配置文件,该配置文件具有电子邮件等的事件登录 session 。禁用 Chrome 安全性后,您的事件 session 很容易受到其他浏览器内漏洞的攻击。<​​/p>

因此,建议使用 --user-data-dir=/tmp/chrome-sesh 或同等内容为您的 Chrome 配置文件使用替代目录。信用 @James B在评论中指出这一点。

来源

此修复是在浏览器测试框架 Cypress 中发现的:https://github.com/cypress-io/cypress/issues/1951

网络安全测试

运行此代码片段以确认此解决方案实际上禁用了 Google Chrome 中的网络安全性:

window.addEventListener("DOMContentLoaded", () => {
const iframe = document.querySelector("iframe");
iframe.addEventListener("load", () => {
const canAccessIframeDocument = !!iframe.contentDocument;
document
.querySelector(
canAccessIframeDocument ? ".security-disabled" : ".security-enabled"
)
.classList.remove("hidden");
});
// To ensure the `load` event always fires, only set iframe src after the
// event listener is attached.
iframe.src = "https://google.com";
});
body {
font-family: sans-serif;
}

.hidden {
display: none;
}

/* Web security should normally be enabled, so this is colored green, despite
the objective of this solution to disable it. */
.security-enabled {
font-weight: bold;
color: darkgreen;
}

.security-disabled {
font-weight: bold;
color: darkred;
}
<h1>Web Security Test</h1>
<p>
This test attempts to access the inner contents of a cross-origin iframe,
which is normally disallowed.
</p>
<p class="security-enabled hidden">
Web security is enabled. The cross-origin iframe document could not be
accessed.
</p>
<p class="security-disabled hidden">
Web security is disabled. The cross-origin iframe document was
successfully accessed.
</p>
<iframe class="hidden">
Iframes are not supported.
</iframe>

关于google-chrome - 在 Chrome 48+ 中禁用网络安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35432749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com