Web アプリケーションで webrtc を使用してデスクトップ情報をストリーミングすることは可能ですか。可能であれば、そのようなアプリケーションはセキュリティ上の問題になるのでしょうか? 現在、webrtc を使用して Webcam を使用してストリーミングできるアプリケーションを構築しました。しかし、コンピューターの実際のデスクトップを誰かにストリーミングする方法についての本当の考えはありません.SkypeやTeamViewerなど、このようなことができるネイティブアプリケーションしか知りませんが、Webアプリケーションですか?
1 に答える
はい、可能です。カメラの代わりにユーザーのデスクトップをストリーミングするには、次を置き換えます
const stream = await navigator.mediaDevices.getUserMedia({video: true});
と
const stream = await navigator.mediaDevices.getDisplayMedia({video: true});
これにより、ユーザーは選択したアプリケーション ウィンドウまたはデスクトップ サーフェスを共有するように求められます。
現時点では、ブラウザのサポートが制限されていることに注意してください。getDisplayMediaは、Chrome 72、Firefox 66、Edge 17 で実装され、Safari 11ではフラグの後ろに実装されています。
古いバージョンの Firefox および Chrome でadapter.js ポリフィルを使用して使用することもできますが、これには Chrome に Web 拡張機能をインストールする必要があります。
そのようなアプリケーションはセキュリティ上の問題になりますか
はい、画面共有に関連する重大なセキュリティ上の問題があります。
Web サイトにデスクトップを記録させることの明らかなリスクは、個人情報が漏洩する可能性があることです。
自明ではないリスクとして、ブラウザーが表示されているときにブラウザーまたはデスクトップ全体を共有することは危険であり、信頼できるサイトとのみ共有する必要があります。
これは、そのような Web サーフェスに存在する悪意のある Web サイトが、ユーザーに代わって効果的に閲覧し、結果を記録して、ブラウザーの重要なクロスオリジン保護を回避する可能性があるためです。