Chrome के लगभग हर वर्शन में, हमें प्रॉडक्ट, उसकी परफ़ॉर्मेंस, और वेब प्लैटफ़ॉर्म की सुविधाओं में कई अपडेट और सुधार दिखते हैं. इस लेख में, Chrome 56 में बंद किए गए और हटाए गए फ़ंक्शन के बारे में बताया गया है. यह वर्शन 8 दिसंबर से बीटा वर्शन में उपलब्ध है. इस सूची में किसी भी समय बदलाव किया जा सकता है.
SHA-1 सर्टिफ़िकेट के लिए सहायता हटाना
SHA-1 क्रिप्टोग्राफ़िक हैश एल्गोरिदम ने 11 साल पहले पहली बार कमज़ोर होने के संकेत दिखाए. हाल ही में की गई रिसर्च में उन हमलों की जानकारी दी गई है जिनकी वजह से वेब पब्लिक-की इन्फ़्रास्ट्रक्चर (पीकेआई) की इंटेग्रिटी पर सीधा असर पड़ सकता है.
उपयोगकर्ताओं को ऐसे हमलों से बचाने के लिए, Chrome अब Chrome 56 से शुरू होने वाले SHA-1 सर्टिफ़िकेट के साथ काम नहीं करता, जिसकी स्टेबल रिलीज़ जनवरी 2017 में जारी कर दी गई है. इस तरह के सर्टिफ़िकेट का इस्तेमाल करके किसी साइट पर जाने पर, इंटरस्टीशियल चेतावनी दिखती है. हम Chrome Security Blog पर ज़्यादा जानकारी देते हैं.
हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग
TLS में CBC-mode ECDSA ciphers हटाना
TLS का CBC-मोड बनाने का तरीका खराब है. इस वजह से, यह नाज़ुक और सुरक्षित तरीके से लागू करना बहुत मुश्किल है. हालांकि, आरएसए के साथ सीबीसी-मोड वाले साइफ़र का अब भी ज़्यादातर इस्तेमाल किया जाता है, लेकिन ईसीडीएसए के साथ इनका इस्तेमाल नहीं किया जाता. अन्य ब्राउज़र अब भी इन एन्क्रिप्शन प्रोटोकॉल के साथ काम करते हैं. इसलिए, हमें लगता है कि इसकी वजह से कोई खतरा नहीं है. इसके अलावा, TLS में ECDSA का इस्तेमाल कुछ ही संगठन करते हैं और आम तौर पर, ज़्यादा जटिल सेटअप के साथ (कुछ पुराने क्लाइंट सिर्फ़ RSA के साथ काम करते हैं). इसलिए, हमें उम्मीद है कि ECDSA साइटों को बेहतर तरीके से मैनेज किया जाएगा और समस्याओं के मामले में ज़्यादा रिस्पॉन्सिव होगी.
TLS 1.2 में AEADs के आधार पर नए साइफ़र जोड़े गए. यह इन समस्याओं से बचाता है, खास तौर पर AES_128_GCM, AES_256_GCM या CHACHA20_POLY1305. फ़िलहाल, हम सिर्फ़ ईसीएसडीए पर आधारित साइटों के लिए ऐसा करने का सुझाव देते हैं. हालांकि, हमारा सुझाव है कि सभी एडमिन ऐसा करें. AEAD पर आधारित सिफर, न सिर्फ़ सुरक्षा को बेहतर बनाते हैं, बल्कि परफ़ॉर्मेंस को भी बेहतर बनाते हैं. AES-GCM को हाल ही के सीपीयू पर हार्डवेयर सपोर्ट किया जाता है और ChaCha20-Poly1305, तेज़ सॉफ़्टवेयर लागू करने की मंज़ूरी देती है. वहीं, सीबीसी एन्क्रिप्शन के लिए, हर आउटगोइंग रिकॉर्ड पर, धीमी और जटिल तरीके से कम करने की ज़रूरत होती है. साथ ही, पीआरएनजी का ऐक्सेस भी ज़रूरी होता है. एएईडी पर आधारित सिफर, एचटीटीपी/2 और फ़ॉल्स स्टार्ट ऑप्टिमाइज़ेशन के लिए भी ज़रूरी हैं.
हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग
टच स्क्रोल से उपयोगकर्ता के जेस्चर हटाना
हमें खराब तरीके से लिखे गए या नुकसान पहुंचाने वाले विज्ञापनों के कई उदाहरण मिले हैं. ये विज्ञापन, touchstart
या सभी touchend
इवेंट पर, टच स्क्रोल के लिए नेविगेशन को ट्रिगर करते हैं. अगर 'व्हील' इवेंट से पॉप-अप नहीं खुलता है, तो टच स्क्रॉल से भी नहीं खुलना चाहिए. इससे कुछ स्थितियों में समस्या आ सकती है. उदाहरण के लिए, टच करने पर मीडिया न चलना या टच करने पर पॉप-अप न खुलना. Safari, इन सभी स्थितियों में पहले से ही पॉप-अप खोलने में चुपचाप विफल रहता है.
हटाने का इरादा | Chromestatus ट्रैकर | Chromium गड़बड़ी
अमान्य टाइप/भाषा एट्रिब्यूट वाली स्क्रिप्ट के लिए, सभी फ़ेच को अनुमति न दें
फ़िलहाल, Chrome का प्रीलोड स्कैनर <scripts>
एलिमेंट में आइटम फ़ेच करता है. भले ही, type
या language
एट्रिब्यूट की वैल्यू कुछ भी हो. हालांकि, पार्स करने पर स्क्रिप्ट को लागू नहीं किया जाएगा. फ़ेच को बंद करने पर, प्रीलोड स्कैनर और पार्स करने वाले टूल के सेमेंटेक्स एक जैसे होंगे. साथ ही, हम उन स्क्रिप्ट के लिए फ़ेच शुरू नहीं करेंगे जिनका इस्तेमाल नहीं किया जाएगा. इसका मकसद उन उपयोगकर्ताओं का डेटा सेव करना है जो ऐसी साइटों पर जाते हैं जिनमें कई कस्टम स्क्रिप्ट टैग होते हैं. इन टैग को पोस्ट-प्रोसेस किया जाता है, जैसे कि type="text/template"
.
सर्वर को पिंग करने के लिए अमान्य स्क्रिप्ट का इस्तेमाल करने के उदाहरण के लिए, sendBeacon API का इस्तेमाल किया जा सकता है.
यह बदलाव Chrome को Safari के साथ अलाइन करता है, हालांकि Firefox अब भी स्क्रिप्ट का अनुरोध करता है, भले ही वह किसी भी तरह की भाषा या भाषा में हो.
हटाने का इरादा | Chromestatus ट्रैकर | Chromium गड़बड़ी
MediaStreamTrack.getSources() को हटाएं
यह तरीका अब स्पेसिफ़िकेशन का हिस्सा नहीं है और किसी भी दूसरे मुख्य ब्राउज़र पर काम नहीं करता. इसे MediaDevices.enumerateDevices()
से बदल दिया गया है. Blink में यह सुविधा, वर्शन 47 से बिना किसी फ़्लैग के काम करती है. साथ ही, यह सुविधा अन्य ब्राउज़र पर भी काम करती है. इसका उदाहरण यहां दिया गया है. यह काल्पनिक getCameras()
फ़ंक्शन, सबसे पहले सुविधा की पहचान का इस्तेमाल करके, enumerateDevices()
को ढूंढता है और उसका इस्तेमाल करता है. अगर सुविधा की पहचान नहीं हो पाती है, तो यह MediaStreamTrack
में getSources()
खोजता है. आखिर में, अगर किसी भी तरह का एपीआई सहायता नहीं है, तो खाली cameras
कलेक्शन दिखाएं.
function getCameras(camerasCallback) {
var cameras = [];
if('enumerateDevices' in navigator.mediaDevices) {
navigator.mediaDevices.enumerateDevices()
.then(function(sources) {
return sources.filter(function(source) {
return source.kind == 'videoinput'
});
})
.then(function(sources) {
sources.forEach(function(source) {
if(source.label.indexOf('facing back') >= 0) {
// move front facing to the front.
cameras.unshift(source);
}
else {
cameras.push(source);
}
});
camerasCallback(cameras);
});
}
else if('getSources' in MediaStreamTrack) {
MediaStreamTrack.getSources(function(sources) {
for(var i = 0; i < sources.length; i++) {
var source = sources[i];
if(source.kind === 'video') {
if(source.facing === 'environment') {
// cameras facing the environment are pushed to the front of the page
cameras.unshift(source);
}
else {
cameras.push(source);
}
}
}
camerasCallback(cameras);
});
}
else {
// We can't pick the correct camera because the API doesn't support it.
camerasCallback(cameras);
}
};
हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग
दिखाई देने वाले-xss सीएसपी निर्देश को हटाएं
कॉन्टेंट की सुरक्षा के लिए बनी नीति के लेवल 2 के शुरुआती ड्राफ़्ट में एक reflected-xss
निर्देश था. इसमें किसी दूसरे सिंटैक्स के अलावा, X-XSS-Protection
हेडर के अलावा और कुछ नहीं होता. इस डायरेक्टिव को साल 2015 में, स्पेसिफ़िकेशन से हटा दिया गया था, लेकिन Chrome में इसे लागू करने से पहले नहीं हटा दिया गया था.
इस डायरेक्टिव के लिए सहायता अब हटा दी जा रही है.
हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग
CSP 'रेफ़रल' डायरेक्टिव बदलना
सीएसपी referrer
डायरेक्टिव की मदद से, साइट के मालिक एचटीटीपी हेडर से रेफ़रर नीति सेट कर सकते हैं. इस सुविधा का काफ़ी कम इस्तेमाल होता है. साथ ही, यह अब W3C के किसी भी स्पेसिफ़िकेशन का हिस्सा नहीं है.
जिन साइटों को अब भी इस सुविधा की ज़रूरत है उन्हें <meta name="referrer">
या Referrer-Policy हेडर का इस्तेमाल करना चाहिए.
हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग
PaymentAddress.careOf फ़ील्ड हटाएं
PaymentAddress
इंटरफ़ेस में एक careOf
फ़ील्ड है, जो स्टैंडर्ड नहीं है. कोई भी जाना-पहचाना पता स्टैंडर्ड, इस पर काम नहीं करता. careOf
फ़ील्ड की वैल्यू देना ज़रूरी नहीं है. ईमेल पाने वाले और संगठन के फ़ील्ड, इस्तेमाल किए जाने वाले सभी ज़रूरी उदाहरणों के साथ काम करते हैं. careOf
को जोड़ने से, डाक पते के मौजूदा स्कीमा और एपीआई के साथ इंटरऑपरेबिलिटी के मामले में गंभीर समस्याएं आती हैं. ज़्यादा जानकारी के लिए, GitHub पर स्पेसिफ़िकेशन हटाने का प्रस्ताव पढ़ें.
हटाने का इंटेंट | Chromium में मौजूद गड़बड़ी
SVGViewElement.viewTarget को हटाएं
SVGViewElement.viewTarget
एट्रिब्यूट, SVG2.0 के स्पेसिफ़िकेशन का हिस्सा नहीं है. साथ ही, इसका इस्तेमाल कम या नहीं किया जाता. इस एट्रिब्यूट को Chrome 54 में बंद कर दिया गया था और अब इसे हटा दिया गया है.