我一直在通过 URL 中带有 token 的链接自动验证访问我们内部 wiki 的用户,如下所示:
href="https://user:pass@host/"
在 Chrome 59 中,这是被阻止的。
[弃用] 其 URL 包含嵌入式凭据(例如 https://user:pass@host/
)的子资源请求被阻止。
我阅读并在这样的 ajax 请求中绕过了它:
how to replace embedded credentials in subresource requests
============================================= =========================
我的问题是:
有谁知道如何直接在链接中执行此操作,或者您可以提供某种解决方法吗?这可能吗?
最佳答案
传递命令行选项“--disable-blink-features=BlockCredentialedSubresources”可恢复预期行为。如果您使用的是 Selneium,则可以将其作为浏览器功能中的 args 选项传递,以恢复预期的行为。
PHP: 'chromeOptions' => array('args' => ['--disable-blink-features=BlockCredentialedSubresources']);
python : capabilities['chromeOptions'] = {'args': ['--headless']}
根据 Chromium 票证 (https://bugs.chromium.org/p/chromium/issues/detail?id=731618),此行为可能不会在未来的版本中恢复,尽管它处于“弃用”状态。在这种情况下,最好查看 ssh 管道以进行测试或在可能的情况下将 IP 列入白名单,以防止 HTTP 身份验证交互。
安东尼
关于html - 绕过阻止其 URL 包含嵌入式凭据的子资源请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039335/