在Chrome版本47中,它们强制您使用https来允许使用getUserMedia()。 不幸的是,我无法在我的整个网络中使用https,我只在登录休息中使用它(它是SPA - 单页应用程序)。因此,Web的地址没有https,只有登录休息使用ssl。 我使用这个repo只有很少的变化: https://github.com/Jmlevick/html-recorder
我的问题是,是否有任何方法可以在我的网络应用程序中使用录音机,并保持我的网址与http而不是https?你有什么想法来克服这个问题?
答案 0 :(得分:41)
http://www.boost.org/doc/libs/1_59_0/doc/html/lockfree.html允许您收听用户的私人谈话。如果通过未加密的HTTP启用它,则会允许攻击者注入侦听的代码并将对话发送给攻击者。例如,如果您在酒店的私人会议室中使用未加密的WiFi,酒店附近的每个人都可以收听。即使您的应用通常不处理敏感对话,攻击者也可以用当他们正在使用另一个应用程序时,他们可以在以后收听。
因此,getUserMedia
仅适用于getUserMedia
。要通过--unsafely-treat-insecure-origin-as-secure="example.com"
启动Chrome,或者只需在http://localhost/
下进行测试,即可secure contexts进行测试。
如果您希望自己的应用听取用户的麦克风,则必须通过TLS提供。没有其他办法了。如果有,它将被视为安全漏洞并在下一版本的浏览器中修复。
<强> HINT 强>
您可能必须在命令行中添加“http://”,例如:
--unsafely-treat-insecure-origin-as-secure="http://example.com"
答案 1 :(得分:0)
您还可以通过打开chrome://flags
并搜索unsafely-treat-insecure-origin-as-secure
来添加白名单: