web-dev-qa-db-fra.com

getUserMedia () dans chrome 47 sans utiliser https

Dans chrome version 47, ils vous obligent à utiliser https pour autoriser l'utilisation de getUserMedia (). Malheureusement, je ne peux pas utiliser https dans l'ensemble de mon site Web, je ne l'utilise que dans le reste de la connexion (il une application SPA - une seule page). Donc, l'adresse du Web est sans https, seul le reste de la connexion utilise SSL. J'utilise ce dépôt avec très peu de modifications: https://github.com/Jmlevick/html -enregistreur

Ma question est de savoir s'il existe un moyen d'utiliser l'enregistreur audio dans mon application Web et de conserver mon adresse Web avec http et non https? quelles idées avez-vous pour surmonter ce problème?

20
Noampz

getUserMedia vous permet d'écouter les conversations privées de l'utilisateur. S'il était activé sur HTTP non chiffré, cela permettrait à un attaquant d'injecter du code qui écoute et envoie les conversations à l'attaquant. Par exemple, si vous êtes dans une salle de conférence privée d'un hôtel avec WiFi non crypté, tout le monde à proximité de l'hôtel pourrait écouter. Même si votre application ne traite généralement pas les conversations sensibles, un attaquant pourrait remplacer votre code par leur afin d'écouter plus tard, quand une autre application est en cours d'utilisation.

Par conséquent, getUserMedia n'est disponible qu'à partir de contextes sécurisés . Pour les tests, vous pouvez exempter votre domaine en démarrant Chrome avec --unsafely-treat-insecure-Origin-as-secure="example.com", ou testez simplement sous http://localhost/.

Si vous souhaitez que votre application écoute le microphone de l'utilisateur, vous devez la diffuser via TLS. Il n'y a pas moyen de contourner cela. S'il y en avait, il serait considéré comme une faille de sécurité et corrigé dans la prochaine version des navigateurs.

[~ # ~] indice [~ # ~]

Vous devrez peut-être ajouter "http: //" sur la ligne de commande, par exemple: --unsafely-treat-insecure-Origin-as-secure="http://example.com"

49
phihag

Vous pouvez également ajouter une liste blanche en ouvrant chrome://flags Et en recherchant unsafely-treat-insecure-Origin-as-secure:

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

0
Wayou