chromeバージョン47では、getUserMedia()の使用を許可するためにhttpsを使用するように強制されます。残念ながら、Web全体でhttpsを使用することはできません。 SPA-シングルページアプリ)。したがって、Webへのアドレスにはhttpsがなく、ログインの残りの部分だけがsslを使用します。このレポはほとんど変更せずに使用しています: https:// github com/Jmlevick/html-recorder
私の質問は、Webアプリでオーディオレコーダーを使用し、httpsではなくhttpでWebアドレスを保持する方法があるかどうかです。この問題を克服するにはどのようなアイデアが必要ですか?
getUserMedia
を使用すると、ユーザーのプライベートな会話を聞くことができます。暗号化されていないHTTPで有効にした場合、これにより攻撃者は会話をリッスンし、攻撃者に会話を送信するコードを挿入できます。たとえば、ホテルのプライベート会議室で暗号化されていないWiFiを使用している場合、ホテルの近くにいる人はだれでも聞くことができます。別のアプリが使用されているときに後で聞くために彼らのもの。
したがって、getUserMedia
は secure contexts からのみ利用可能です。テストの場合、 ドメインを免除できます Chrome=で--unsafely-treat-insecure-Origin-as-secure="example.com"
を開始するか、単にhttp://localhost/
でテストします。
アプリにユーザーのマイクを聞かせたい場合は、TLS経由で提供する必要があります。それを回避する方法はありません。存在する場合、セキュリティホールと見なされ、ブラウザの次のバージョンで修正されます。
[〜#〜]ヒント[〜#〜]
コマンドラインに「http://」を追加する必要がある場合があります。例:--unsafely-treat-insecure-Origin-as-secure="http://example.com"
また、chrome://flags
を開いてunsafely-treat-insecure-Origin-as-secure
を検索してホワイトリストを追加できます。