"不安全性治疗不安全-原点作为安全"旗帜无法在Chrome上运行

时间:2016-11-19 18:09:18

标签: google-chrome

我在使用Chrome上的HTTP在我的计算机上本地运行的网站上使用地理位置。但是这不起作用,因为我在HTTP上运行而不是HTTPS。

在控制台上说:

getCurrentPosition() and watchPosition() no longer work on insecure origins.
To use this feature, you should consider switching your application to a 
secure origin, such as HTTPS. See https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins 
for more details.

根据Deprecating Powerful Features on Insecure Origins说明使用--unsafely-treat-insecure-origin-as-secure="http://example.com"标志启动chrome。我运行的命令类似于:

chrome.exe --unsafely-treat-insecure-origin-as-secure="http://hello.app"

但是,仍然会出现相同的错误消息。

如何解决此问题。

7 个答案:

答案 0 :(得分:19)

没有一个解决方案对我有用。

我通过以下步骤实现了这一目标。

  1. 在地址栏中输入 chrome:// flags /#unsafely-treat-insecure-origin-as-secure
  2. 如下图所示,添加您需要视为安全的原点。

enter image description here

  1. 重新启动Chrome。

答案 1 :(得分:7)

你一定错过了一些步骤。试着按照这个

  1. 转到文件资源管理器,然后将其粘贴到地址栏>> C:\ Program Files(x86)\ Google \ Chrome \ Application(或者只是去你可以找到chrome.exe的地方
  2. 右键单击chrome.exe>发送至>桌面(创建快捷方式)
  3. 转到桌面,然后找到您创建的Chrome快捷方式。
  4. 将其重命名为ChromeForTesting(此步骤是可选的)
  5. 右键单击快捷方式,然后单击“属性”
  6. 在“目标”中,将以下内容粘贴到链接的末尾

    - user-data-dir = / tmp / foo --unsafely-treat-insecure-origin-as-secure = http://example.com

  7. 所以Target应该看起来有点类似于

    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=/tmp/foo --unsafely-treat-insecure-origin-as-secure=http://example.com
    
    1. 点击确定..
    2. 在测试期间关闭所有已打开的Google Chrome浏览器。 然后双击ChromeForTesting快捷方式(您创建的快捷方式),当出现提示时,只需点击确定..
    3. 编辑:如果上述步骤对您不起作用,您可能正在使用Chrome V63,将其更新为上面的V64,因为此标志在V63中搞砸了。

      P.S。如果它仍然不起作用,请遵循这些额外步骤

      1. 在您的驱动器C上,创建一个文件夹并将其命名为“ChromeTempFiles”。
      2. 然后在--user-data-dir=中将值更改为“C:\ ChromeTempFiles”
      3. 将这些添加到您的目标

        - allow-running-insecure-content --reduce-security-for-testing

      4. 所以你的目标现在应该是这样的

        "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=C:\ChromeTempFiles --unsafely-treat-insecure-origin-as-secure=http://example.com --allow-running-insecure-content --reduce-security-for-testing
        

答案 2 :(得分:3)

您还应该为该会话使用temproary新配置文件。像这样的东西:

chrome.exe --user-data-dir=/test/only/profile/dir --unsafely-treat-insecure-origin-as-secure="http://example.com"

答案 3 :(得分:1)

只需针对Chrome 70进行此更新即可。

“ C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe” --user-data-dir = C:\ ChromeTempFiles --allow-running-insecure-content

现在有人知道Firefox是否具有等效功能吗?

答案 4 :(得分:0)

对于Chromium 44,请使用

-不安全-治疗不安全来源= http://192.168.0.101:3000

代替

-不安全处理不安全的原始== http://192.168.0.101:3000

看到bug

答案 5 :(得分:0)

在Google Chrome浏览器中,您只需在地址栏中输入“ chrome:// flags”,然后搜索“ --unsafely-treat-insecure-origin-as-secure”,启用该标志,然后输入您希望将其视为安全域的下方字段(可以输入多个,并用逗号分隔)。这可能会或可能不会损害您的安全性,但是我认为不会,因为getCurrentPosition()和watchPosition()是最近不推荐使用的功能。这也适用于公共服务域。

答案 6 :(得分:0)

在Chrome 79中,无论如何,此设置均无效。

我最终要做的是在VPS上配置域以显示一些测试网页,然后使用Let's Encrypt的certbot为该网页生成有效的证书。

然后我将该证书复制到我的计算机上,并且现在有效。