طلب إذن جديد للوصول إلى الشبكة المحلية

Chris Thompson
Chris Thompson

تاريخ النشر: 9 حزيران (يونيو) 2025

يضيف Chrome طلب إذن جديدًا للمواقع الإلكترونية التي تُجري اتصالات بشبكة مستخدمه المحلية كجزء من مسودة مواصفات الوصول إلى الشبكة المحلية. والهدف من ذلك هو حماية المستخدمين من هجمات التزوير عبر المواقع الإلكترونية (CSRF) التي تستهدف أجهزة التوجيه والأجهزة الأخرى على الشبكات الخاصة، والحد من قدرة المواقع الإلكترونية على استخدام هذه الطلبات لتحديد هوية الشبكة المحلية للمستخدم.

لفهم مدى تأثير هذا التغيير في منظومة الويب المتكاملة، يطلب فريق Chrome ملاحظات من المطوّرين الذين يبنون تطبيقات ويب تعتمد على إجراء اتصالات بالشبكة المحلية للمستخدم أو بالبرامج التي تعمل على جهازه محليًا. بدءًا من الإصدار 138 من Chrome، يمكنك تفعيل هذه القيود الجديدة من خلال الانتقال إلى chrome://flags/#local-network-access-check وضبط العلامة على "مفعَّل (حظر)".

ما هي ميزة "الوصول إلى الشبكة المحلية"؟

يحدّ الوصول إلى الشبكة المحلية من قدرة المواقع الإلكترونية على إرسال طلبات إلى الخوادم على شبكة المستخدِم المحلية (بما في ذلك الخوادم التي تعمل على الجهاز المحلي للمستخدِم)، ويتطلّب من المستخدِم منح الموقع الإلكتروني الإذن قبل أن يتم تقديم هذه الطلبات. تقتصر إمكانية طلب هذا الإذن على السياقات الآمنة.

رسالة تطلب "البحث عن أي جهاز على الشبكة المحلية والاتصال به"
مثال على طلب إذن الوصول إلى الشبكة المحلية في Chrome

تحصل العديد من الأنظمة الأساسية الأخرى، مثل Android و iOS و MacOS على إذن الوصول إلى الشبكة المحلية. على سبيل المثال، قد تكون قد منحت تطبيق Google Home هذا الإذن بالوصول إلى الشبكة المحلية عند إعداد أجهزة Google TV وChromecast الجديدة.

ما هي أنواع الطلبات المتأثرة؟

بالنسبة إلى الإنجاز الأول لميزة "الوصول إلى الشبكة المحلية"، نعتبر أنّ "طلب الشبكة المحلية " هو أي طلب من الشبكة العامة إلى شبكة محلية أو وجهة إعادة توجيه.

الشبكة المحلية هي أي وجهة يتم تحليلها إلى مساحة العنوان الخاصة المحدّدة في القسم 3 من RFC1918 في IPv4 (مثل 192.168.0.0/16)، أو عنوان IPv6 تم ربطه بعنوان IPv4 يكون فيه عنوان IPv4 المرتبط خاصًا، أو عنوان IPv6 خارج الشبكات الفرعية ::1/128 و2000::/3 وff00::/8.

العنوان التلقائي هو أي وجهة يتمّ حلّها إلى المساحة "التلقائية" (127.0.0.0/8) المحدّدة في القسم 3.2.1.3 من RFC1122 لبروتوكول IPv4، أو المساحة "المحلية على مستوى الرابط" (169.254.0.0/16) المحدّدة في RFC3927 لبروتوكول IPv4، أو بادئة "العنوان المحلي الفريد" (fcc00::/7) المحدّدة في القسم 3 من RFC4193 لبروتوكول IPv6، أو بادئة "العنوان المحلي على مستوى الرابط" (fe80::/10) المحدّدة في القسم 2.5.6 من RFC4291 لبروتوكول IPv6.

الشبكة العامة هي أي وجهة أخرى.

بما أنّ إذن الوصول إلى الشبكة المحلية يقتصر على السياقات الآمنة، وقد يكون من الصعب نقل بيانات أجهزة الشبكة المحلية إلى HTTPS، سيتم الآن استثناء طلبات الشبكة المحلية الخاضعة للإذن من عمليات التحقّق من المحتوى المختلط إذا كان Chrome يعلم أنّ الطلبات ستنتقل إلى الشبكة المحلية قبل تحليل الوجهة. يرصد Chrome أنّ الطلب سيتم إرساله إلى الشبكة المحلية في الحالات التالية:

  • اسم المضيف للطلب هو عنوان IP خاص (مثل 192.168.0.1).
  • اسم مضيف الطلب هو نطاق .local.
  • تمّت إضافة تعليق توضيحي إلى طلب fetch() باستخدام الخيار targetAddressSpace: "local".
// Example 1: Private IP literal is exempt from mixed content.
fetch("http://192.168.0.1/ping");

// Example 2: `.local` domain is exempt from mixed content.
fetch("http://router.local/ping");

// Example 3: Public domain is not exempt from mixed content,
// even if it resolves to a local network address.
fetch("http://example.com/ping");

// Example 4: Adding the `targetAddressSpace` option flags that
// the request will go to the local network, and is thus exempt
// from mixed content.
fetch("http://example.com/ping", {
  targetAddressSpace: "local",
});

التغييرات في Chrome

الإصدار 138 من Chrome

أصبح الإصدار الأول من ميزة "الوصول إلى الشبكة المحلية" جاهزًا للاختبار التجريبي في Chrome 138. يمكن للمستخدمين تفعيل طلب الإذن الجديد من خلال ضبط قيمة chrome://flags#local-network-access-check على "مفعَّل (حظر)". يتيح ذلك بدء طلب إذن الوصول إلى الشبكة المحلية للطلبات التي يتم بدؤها باستخدام واجهة برمجة التطبيقات JavaScript fetch() وتحميل الموارد الفرعية والتنقّل في الإطار الفرعي.

يتوفّر موقع إلكتروني تجريبي على الرابط https://local-network-access-testing.glitch.me/ لبدء أشكال مختلفة من طلبات الوصول إلى الشبكة المحلية.

المشاكل والقيود المعروفة

  • لا يتم حاليًا تنفيذ طلب الإذن الجديد إلا على إصدار Chrome المخصّص للكمبيوتر المكتبي. نحن نعمل جاهدين على نقلها إلى متصفّح Chrome على Android. (يتم تتبُّع هذه المشكلة في crbug.com/400455013.)
  • إنّ عمليات الاتصال بشبكة WebSockets (crbug.com/421156866) وWebTransport (crbug.com/421216834) وWebRTC (crbug.com/421223919) بالشبكة المحلية لم يتم حظر الوصول إليها بعد استنادًا إلى إذن LNA.
  • تتطلّب طلبات الوصول إلى الشبكة المحلية من "عمال الخدمة" حاليًا أن يكون قد تم منح مصدر "عامل الخدمة" إذن الوصول إلى الشبكة المحلية في السابق.
    • إذا كان تطبيقك يُجري طلبات للشبكة المحلية من أحد موظّفي الخدمة، عليك حاليًا بدء طلب للشبكة المحلية بشكل منفصل من تطبيقك لعرض طلب الحصول على الإذن. (نحن نعمل على تطوير طريقة تتيح للمستخدمين عرض طلب الإذن إذا كان هناك مستند نشط متاحًا. يُرجى الاطّلاع على crbug.com/404887282).

الإصدار 139 من Chrome والإصدارات الأحدث

ونهدف إلى طرح ميزة "الوصول إلى الشبكة المحلية" في أقرب وقت ممكن. بما أنّه قد تحتاج بعض المواقع الإلكترونية إلى وقت إضافي لتحديثها باستخدام التعليقات التوضيحية لميزة "الوصول إلى الشبكة المحلية"، سنضيف إصدارًا تجريبيًا للمطوّرين للسماح للمواقع الإلكترونية بإيقاف ميزة "السياقات الآمنة" مؤقتًا قبل طرح ميزة "الوصول إلى الشبكة المحلية" تلقائيًا. من المفترض أن يوفّر ذلك مسار نقل بيانات أكثر وضوحًا للمطوّرين، خاصةً إذا كنت تعتمد على الوصول إلى موارد الشبكة المحلية عبر HTTP (لأنّه سيتم منع هذه الطلبات باعتبارها محتوى مختلطًا إذا تم طلبها من صفحة HTTPS في المتصفّحات التي لا توفّر بعد استثناء المحتوى المختلط للوصول إلى الشبكة المحلية).

سنضيف أيضًا سياسة Chrome للمؤسسات للتحكّم في المواقع الإلكترونية التي يمكنها إرسال طلبات إلى الشبكة المحلية والتي لا يمكنها إرسالها (منح الإذن أو رفضه مسبقًا لهذه المواقع الإلكترونية). سيسمح ذلك لعمليات تثبيت Chrome المُدارة، مثل تلك التي يتم تثبيتها في إعدادات المؤسسة، بتجنُّب عرض التحذير لحالات الاستخدام المقصودة المعروفة، أو فرض المزيد من القيود على المواقع الإلكترونية ومنعها من طلب الإذن على الإطلاق.

ونخطّط لمواصلة دمج إذن "الوصول إلى الشبكة المحلية" مع ميزات مختلفة يمكنها إرسال طلبات إلى الشبكة المحلية. على سبيل المثال، نخطّط قريبًا لإتاحة ميزة "الوصول إلى الشبكة المحلية" لاتصالات WebSockets وWebTransport وWebRTC.

سنشارك المزيد من المعلومات مع اقتراب موعد إطلاق ميزة الوصول إلى الشبكة المحلية في Chrome بالكامل.

نريد معرفة ملاحظاتك

كانت الملاحظات السابقة حول تطوير "الوصول إلى الشبكة الخاصة" مُهمة جدًا في توجيهنا إلى نهجنا الجديد بشأن إذن "الوصول إلى الشبكة المحلية". نريد أن نشكر مرة أخرى جميع المستخدمين الذين شاركوا في هذه الميزة على مدار السنوات.

إذا كنت مطوّرًا لموقع إلكتروني يعتمد على إجراء اتصالات بالشبكة المحلية للمستخدم أو بالبرامج التي تعمل على الجهاز المحلي للمستخدم، أو إذا كنت أحد مستخدمي هذا الموقع، يهتم فريق Chrome بملاحظاتك وحالات الاستخدام. هناك أمران يمكنك فعلهما للمساعدة: