web-dev-qa-db-ja.com

getUserMedia()in chrome 47 httpsを使用せずに

chromeバージョン47では、getUserMedia()の使用を許可するためにhttpsを使用するように強制されます。残念ながら、Web全体でhttpsを使用することはできません。 SPA-シングルページアプリ)。したがって、Webへのアドレスにはhttpsがなく、ログインの残りの部分だけがsslを使用します。このレポはほとんど変更せずに使用しています: https:// github com/Jmlevick/html-recorder

私の質問は、Webアプリでオーディオレコーダーを使用し、httpsではなくhttpでWebアドレスを保持する方法があるかどうかです。この問題を克服するにはどのようなアイデアが必要ですか?

20
Noampz

getUserMedia を使用すると、ユーザーのプライベートな会話を聞くことができます。暗号化されていないHTTPで有効にした場合、これにより攻撃者は会話をリッスンし、攻撃者に会話を送信するコードを挿入できます。たとえば、ホテルのプライベート会議室で暗号化されていないWiFiを使用している場合、ホテルの近くにいる人はだれでも聞くことができます。別のアプリが使用されているときに後で聞くために彼らのもの。

したがって、getUserMediasecure contexts からのみ利用可能です。テストの場合、 ドメインを免除できます Chrome=で--unsafely-treat-insecure-Origin-as-secure="example.com"を開始するか、単にhttp://localhost/でテストします。

アプリにユーザーのマイクを聞かせたい場合は、TLS経由で提供する必要があります。それを回避する方法はありません。存在する場合、セキュリティホールと見なされ、ブラウザの次のバージョンで修正されます。

[〜#〜]ヒント[〜#〜]

コマンドラインに「http://」を追加する必要がある場合があります。例:--unsafely-treat-insecure-Origin-as-secure="http://example.com"

49
phihag

また、chrome://flagsを開いてunsafely-treat-insecure-Origin-as-secureを検索してホワイトリストを追加できます。

chrome:// flags /#unsafely-treat-insecure-Origin-as-secure

0
Wayou