在 chrome 版本 47 中,它们强制您使用 https 才能允许使用 getUserMedia()。
不幸的是,我不能在整个网络中使用 https,我只在登录休息中使用它(它是一个 SPA - 单页应用程序)。因此,网络地址没有 https,只有登录其余部分使用 ssl。
我使用这个存储库,几乎没有什么变化:https://github.com/Jmlevick/html-recorder
我的问题是是否有任何方法可以在我的网络应用程序中使用录音机并使用 http 而不是 https 保留我的网址?您有什么想法来克服这个问题?
getUserMedia允许您监听用户的私人对话。如果通过未加密的 HTTP 启用它,攻击者将能够注入侦听对话并将其发送给攻击者的代码。例如,如果您在酒店的私人会议室中,使用未加密的 WiFi,酒店附近的每个人都可以监听。即使您的应用程序通常不处理敏感对话,攻击者也可以将您的代码替换为他们的目的是为了稍后在使用另一个应用程序时收听。
所以,getUserMedia
只能从安全上下文。为了进行测试,您可以豁免您的域名通过启动 Chrome--unsafely-treat-insecure-origin-as-secure="example.com"
,或者简单地测试下http://localhost/
.
如果您希望应用程序监听用户的麦克风,则必须通过 TLS 提供服务。没有其他办法了。如果存在,它将被视为安全漏洞并在下一版本的浏览器中修复。
HINT
您可能需要在命令行上添加“http://”,例如:
--unsafely-treat-insecure-origin-as-secure="http://example.com"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)