2015-12-10 13 views
14

का उपयोग किए बिना क्रोम संस्करण 47 में वे getUserMedia() का उपयोग करने की अनुमति देने के लिए https का उपयोग करने के लिए मजबूर करते हैं। दुर्भाग्यवश, मैं अपने पूरे वेब में https का उपयोग नहीं कर सकता, मैं केवल इसे लॉगिन बाकी में उपयोग करता हूं (यह एक एसपीए - एकल पृष्ठ ऐप) है। इसलिए, वेब पर पता https के बिना है, केवल लॉगिन बाकी एसएसएल का उपयोग करता है। मैं बहुत कम परिवर्तन के साथ इस रेपो का उपयोग करें: अगर वहाँ किसी भी तरह से अपने वेब अनुप्रयोग में ऑडियो रिकॉर्डर का उपयोग करें और http के साथ अपने वेब पता रखने के लिए और https नहीं है https://github.com/Jmlevick/html-recordergetUserMedia() को क्रोम 47 में https

मेरा प्रश्न है? इस मुद्दे को दूर करने के लिए आपको क्या विचार हैं?

+0

संस्करण 51 पर यह नहीं है। क्या किसी को पता है कि कौन से संस्करण प्रभावित हैं? केवल 47? – ocram

उत्तर

26

getUserMedia आपको उपयोगकर्ता की निजी बातचीत में सुनने की अनुमति देता है। यदि यह अनएन्क्रिप्टेड HTTP पर सक्षम था, तो यह किसी हमलावर को उस कोड को इंजेक्ट करने की अनुमति देगा जो वार्तालाप में वार्तालापों को सुनता है और भेजता है। उदाहरण के लिए, यदि आप अनएन्क्रिप्टेड वाईफाई वाले होटल के निजी सम्मेलन कक्ष में हैं, तो होटल के आसपास के सभी लोग सुन सकते हैं। भले ही आपका ऐप आमतौर पर संवेदनशील बातचीत से निपटता न हो, एक हमलावर आपके कोड को प्रतिस्थापित कर सकता है बाद में सुनने के लिए, जब एक और ऐप उपयोग में है।

इसलिए, getUserMedia केवल secure contexts से उपलब्ध है। परीक्षण के लिए, --unsafely-treat-insecure-origin-as-secure="example.com" के साथ क्रोम शुरू करके can exempt your domain, या बस http://localhost/ के अंतर्गत परीक्षण करें।

यदि आप चाहते हैं कि आपका ऐप उपयोगकर्ता के माइक्रोफ़ोन को सुनें, तो आपको इसे टीएलएस के माध्यम से प्रस्तुत करना होगा। इसके आसपास कोई रास्ता नहीं है। यदि वहां थे, तो इसे सुरक्षा छेद के रूप में माना जाएगा और ब्राउज़र के अगले संस्करण में तय किया जाएगा।

+0

धन्यवाद! मैं एन्क्रिप्टेड HTTP में ऑडियो भेजने का जोखिम समझ गया। इस मुद्दे को एक सेकंड के लिए एक पक्ष दें। क्या यह काम करेगा यदि मैं आईटीआरएएम में रिकॉर्डर का उपयोग https रिकॉर्डर ऐप के लिंक के साथ करता हूं जो मेरे "http" ऐप के अंदर ऑडियो रिकॉर्डिंग को संभालता है और उस डेटा से ऑडियो डेटा के साथ एक संदेश पोस्ट करता है जो उसके माता-पिता (मेरे ऐप) में होता है और फिर कुछ करता है ऑडियो पर प्रसंस्करण (यहां तक ​​कि असुरक्षित http में सर्वर को भी भेजें)? – Noampz

+0

@Noampz नहीं, क्योंकि एक हमलावर बाहरी से आंतरिक फ्रेम को संशोधित कर सकता है। अधिक जानकारी के लिए, [सुरक्षित संदर्भों पर लिंक] देखें (https://w3c.github.io/webappsec-secure-contexts/#examples-framed)। – phihag

+0

अभी आप http पर किसी भी समस्या के बिना फ़ायरफ़ॉक्स में 'getUserMedia() 'का उपयोग कर सकते हैं। क्या यह वास्तव में एक गलती है? मुझे लगता है कि यह इस तरह की चीजों को अनुमति देने के लिए फ़ायरफ़ॉक्स नीति में है। –

संबंधित मुद्दे