نلاحظ في كل إصدار من إصدارات Chrome تقريبًا عددًا كبيرًا من التحديثات والتحسينات التي طرأت على المنتج وأدائه وإمكانات "النظام الأساسي للويب". توضح هذه المقالة عمليات الإيقاف والإزالة في Chrome 56، الذي يتوفر في الإصدار التجريبي اعتبارًا من 8 كانون الأول (ديسمبر). تخضع هذه القائمة للتغيير في أي وقت.
إيقاف الشهادات المستندة إلى معيار SHA-1
بدأت خوارزمية التجزئة التشفيرية SHA-1في إظهار علامات ضعف قبل أكثر من أحد عشر عامًا، وتشير الأبحاث الحديثة إلى احتمالية حدوث هجمات قريبة يمكن أن تؤثر بشكل مباشر في سلامة البنية الأساسية للمفتاح العام على الويب (PKI).
لحماية المستخدمين من هذه الهجمات، لم يعُد Chrome متوافقًا مع شهادات SHA-1 بدءًا من الإصدار 56 من Chrome، الذي تم إصداره في كانون الثاني (يناير) 2017. وعند زيارة موقع إلكتروني يستخدم شهادة، تظهر رسالة تحذير بينية. نوفّر المزيد من التفاصيل في Chrome Security Blog.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة رموز خوارزمية ECDSA في وضع "التسلسل من جهة العميل إلى الخادم" في بروتوكول أمان طبقة النقل (TLS)
هناك عيوب في بنية وضع CBC في بروتوكول TLS، ما يجعله هشًا ويصعّب تنفيذه بأمان. على الرغم من أنّ رموز وضع CBC لا تزال تُستخدم على نطاق واسع مع RSA، لا يتم استخدامها تقريبًا مع ECDSA. ولا تزال المتصفحات الأخرى تستخدم هذه الرموز، ونعتقد أن المخاطر منخفضة. بالإضافة إلى ذلك، لا تستخدم سوى بضع منظمات ECDSA في بروتوكول أمان طبقة النقل، وعادةً ما يكون الإعداد أكثر تعقيدًا (يتوافق بعض العملاء الأقدم مع RSA فقط)، لذلك نتوقع أن تكون المواقع الإلكترونية التي تستخدم ECDSA مُدارة بشكل أفضل وأكثر سرعة في الاستجابة في حال حدوث مشاكل.
أضاف بروتوكول TLS 1.2 رموز تشفير جديدة تستند إلى رموز AEAD التي تتجنّب هذه المشاكل، وتحديدًا AES_128_GCM أو AES_256_GCM أو CHACHA20_POLY1305. على الرغم من أنّنا نطلب ذلك فقط للمواقع الإلكترونية المستندة إلى ECDSA في هذا الوقت، ننصحك به لجميع المشرفين. لا تؤدي التشفيرات المستندة إلى AEAD إلى تحسين الأمان فحسب، بل تؤدي أيضًا إلى تحسين الأداء. يتوفّر لـ AES-GCM دعم الأجهزة على معالجات الوسائط الحديثة، ويسمح ChaCha20-Poly1305 بتنفيذ البرامج بسرعة. وفي الوقت نفسه، تتطلب رموز CBC إجراءات تخفيف بطيئة ومعقدة والوصول إلى PRNG في كل سجل صادر. كما أن الرموز المستندة إلى بروتوكول AEAD تُعدّ أيضًا متطلبًا أساسيًا لتحسينات HTTP/2 والبدء الخاطئ.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة إيماءات المستخدم من الانتقال السريع باللمس
لقد رصدنا عدّة أمثلة على الإعلانات الرديئة الكتابة أو
الضارّة التي تؤدي إلى التنقّل في عمليات التمرير باللمس إما في أحداث touchstart
أو جميع أحداث touchend
. إذا لم يتمكن حدث "عجلة" من فتح نافذة منبثقة، فلا ينبغي أن يؤدي
التمرير باللمس. وقد يؤدي ذلك إلى إيقاف بعض السيناريوهات، على سبيل المثال، عدم تشغيل الوسائط عند لمسها أو عدم فتح النوافذ المنبثقة عند لمسها. يتعذّر على Safari بالفعل فتح النوافذ المنبثقة
في كل هذه السيناريوهات بدون قصد.
نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium
عدم السماح بجميع عمليات الجلب للنصوص البرمجية التي تتضمن سمات النوع/اللغة غير الصالحة
في الوقت الحالي، يُجلب الماسح الضوئي لميزة "التحميل المُسبَق" في Chrome العناصر في عناصر <scripts>
بغض النظر عن قيمة السمة type
أو language
، إلا أنّه لن يتم تنفيذ النص البرمجي
عند تحليله. من خلال إيقاف ميزة الجلب نهائيًا، سيكون للمسح الضوئي للتحميل المُسبَق
والأداة التحليلية الدلالات نفسها، ولن نبدأ
عمليات جلب للنصوص البرمجية التي لن نستخدمها. يهدف ذلك إلى حفظ بيانات المستخدمين الذين
ينتقلون إلى مواقع إلكترونية تتضمّن الكثير من علامات النصوص البرمجية المخصّصة التي تتم معالجتها بعد ذلك (مثل
type="text/template"
، على سبيل المثال).
تتناول sendBeacon API بشكلٍ كافٍ حالة استخدام استخدام نصوص برمجية غير صالحة لإرسال إشعارات إلى الخوادم.
يتوافق هذا التغيير مع Chrome وSafari، إلا أنّ Firefox لا يزال يطلب النصوص البرمجية بغض النظر عن النوع أو اللغة.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة MediaStreamTrack.getSources()
لم تعُد هذه الطريقة جزءًا من المواصفات ولا تتوافق مع أي متصفح أساسي آخر. وتم استبداله بعلامة
MediaDevices.enumerateDevices()
،
التي تتيحها Blink بدون استخدام علامات منذ الإصدار 47، وهي متوفرة أيضًا في
المتصفّحات الأخرى. في ما يلي مثال على ذلك. تستخدِم الدالةgetCameras()
الافتراضية أولاً ميزة رصد العناصر للعثور علىenumerateDevices()
و
استخدامها. في حال تعذَّر رصد الميزة، سيتم البحث عن
getSources()
في MediaStreamTrack
. أخيرًا، في حال عدم توفّر أي نوع من دعم واجهة برمجة التطبيقات، يجب عرض المصفوفة الفارغة 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);
}
};
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة توجيه CSP المنعكس
كانت المسودات الأولى لمواصفات المستوى 2 من سياسة أمان المحتوى
تحتوي على توجيه reflected-xss
لا يقدّم سوى X-XSS-Protection
سوى بنية مختلفة. تمت إزالة هذه التوجيهات
من المواصفات في عام 2015، ولكن ليس قبل تنفيذها في Chrome.
تتم حاليًا إزالة هذا التوجيه.
Intent to Remove | Chromestatus Tracker | Chromium Bug
استبدال توجيه "المُحيل" في خدمة Content Security Policy
سمح توجيه referrer
لسياسة CSP لمالكي المواقع الإلكترونية بضبط سياسة المُحيل من
عنوان HTTP. لا تُستخدَم هذه الميزة سوى بمعدل منخفض جدًا، ولم تعُد أيضًا جزءًا من أي مواصفات W3C.
يجب أن تستخدم المواقع الإلكترونية التي لا تزال بحاجة إلى هذه الوظيفة <meta name="referrer">
أو
عنوان Referrer-Policy الجديد.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة حقل PaymentAddress.careOf
تحتوي واجهة PaymentAddress
على حقل careOf
غير عادي (لا تتيحه أي معايير عناوين معروفة). يعد الحقل careOf
أيضًا
غير ضروري، حيث يتيح حقلا المستلم والمؤسسة بشكل كافٍ جميع
حالات الاستخدام اللازمة. تؤدي إضافة careOf
إلى حدوث مشاكل كبيرة من حيث
التوافق مع مخطّطات واجهات برمجة التطبيقات الحالية للعناوين البريدية. للاطّلاع على مناقشة كاملة، يمكنك قراءة اقتراح إزالة المواصفات على GitHub.
النية في الإزالة | خطأ في Chromium
إزالة SVGViewElement.viewTarget
لا تشكّل السمة SVGViewElement.viewTarget
جزءًا من مواصفات SVG2.0
، واستخدامها قليل أو غير موجود. تم إيقاف هذه السمة نهائيًا في الإصدار 54 من Chrome، وتمّت إزالتها الآن.