স্থানীয় নেটওয়ার্ক অ্যাক্সেসের জন্য নতুন অনুমতি প্রম্পট

ক্রিস থম্পসন
Chris Thompson

প্রকাশিত: জুন 9, 2025

খসড়া স্থানীয় নেটওয়ার্ক অ্যাক্সেস স্পেসিফিকেশনের অংশ হিসাবে ব্যবহারকারীর স্থানীয় নেটওয়ার্কের সাথে সংযোগ করে এমন সাইটগুলির জন্য Chrome একটি নতুন অনুমতি প্রম্পট যুক্ত করছে৷ উদ্দেশ্য হল ক্রস-সাইট অনুরোধ জালিয়াতি (CSRF) আক্রমণ থেকে ব্যবহারকারীদের রক্ষা করা ব্যক্তিগত নেটওয়ার্কে রাউটার এবং অন্যান্য ডিভাইসগুলিকে লক্ষ্য করে এবং ব্যবহারকারীর স্থানীয় নেটওয়ার্কে ফিঙ্গারপ্রিন্ট করার জন্য এই অনুরোধগুলি ব্যবহার করার জন্য সাইটগুলির ক্ষমতা হ্রাস করা।

এই পরিবর্তন কীভাবে ওয়েব ইকোসিস্টেমের উপর প্রভাব ফেলে তা বোঝার জন্য, Chrome টিম এমন ডেভেলপারদের কাছ থেকে প্রতিক্রিয়া খুঁজছে যারা ওয়েব অ্যাপ্লিকেশন তৈরি করে যা ব্যবহারকারীর স্থানীয় নেটওয়ার্কে বা ব্যবহারকারীর মেশিনে স্থানীয়ভাবে চলমান সফ্টওয়্যারের সাথে সংযোগ স্থাপনের উপর নির্ভর করে। Chrome 138 থেকে, আপনি chrome://flags/#local-network-access-check গিয়ে এবং পতাকাটিকে "সক্ষম (ব্লকিং)" এ সেট করে এই নতুন বিধিনিষেধগুলিতে অপ্ট-ইন করতে পারেন৷

স্থানীয় নেটওয়ার্ক অ্যাক্সেস কি?

স্থানীয় নেটওয়ার্ক অ্যাক্সেস ব্যবহারকারীর স্থানীয় নেটওয়ার্কে (ব্যবহারকারীর মেশিনে স্থানীয়ভাবে চলমান সার্ভারগুলি সহ) সার্ভারগুলিতে অনুরোধ পাঠানোর ওয়েবসাইটগুলির ক্ষমতাকে সীমাবদ্ধ করে, এই ধরনের অনুরোধগুলি করার আগে ব্যবহারকারীকে সাইটের অনুমতি দিতে হবে। এই অনুমতির অনুরোধ করার ক্ষমতা সুরক্ষিত প্রসঙ্গে সীমাবদ্ধ।

পাঠ্য সহ একটি প্রম্পট 'আপনার স্থানীয় নেটওয়ার্কে যেকোনো ডিভাইসের জন্য দেখুন এবং সংযোগ করুন।'
Chrome এর স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতি প্রম্পটের উদাহরণ।

অন্যান্য অনেক প্ল্যাটফর্ম, যেমন Android , iOS , এবং MacOS-এর স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতি রয়েছে৷ উদাহরণস্বরূপ, আপনি নতুন Google TV এবং Chromecast ডিভাইসগুলি সেট-আপ করার সময় Google Home অ্যাপে স্থানীয় নেটওয়ার্ক অ্যাক্সেস করার অনুমতি দিতে পারেন।

কি ধরনের অনুরোধ প্রভাবিত হয়?

স্থানীয় নেটওয়ার্ক অ্যাক্সেসের প্রথম মাইলফলকের জন্য, আমরা একটি "স্থানীয় নেটওয়ার্ক অনুরোধ" বিবেচনা করি যেটি পাবলিক নেটওয়ার্ক থেকে একটি স্থানীয় নেটওয়ার্ক বা লুপব্যাক গন্তব্যের যেকোনো অনুরোধ।

একটি স্থানীয় নেটওয়ার্ক হল এমন কোনো গন্তব্য যা IPv4 (যেমন, 192.168.0.0/16 ), একটি IPv4-ম্যাপ করা IPv6 ঠিকানা যেখানে ম্যাপ করা IPv4 ঠিকানাটি নিজেই ব্যক্তিগত, অথবা ::1/128 : 2000::/3 এবং ff00::/8 এর বাইরের একটি IPv6 ঠিকানা RFC1918-এর ধারা 192.168.0.0/16 -তে সংজ্ঞায়িত ব্যক্তিগত ঠিকানা স্থানের সমাধান করে। সাবনেট

লুপব্যাক হল যে কোনও গন্তব্য যা IPv4-এর RFC1122- এর 3.2.1.3 অনুচ্ছেদে সংজ্ঞায়িত "লুপব্যাক" স্থান ( 127.0.0.0/8 ) সমাধান করে, RFC3927- এর "প্রি-অ্যাড্রেস, "প্রি-অ্যাড্রেস-এর RFC3927-এ সংজ্ঞায়িত "লিঙ্ক-লোকাল" স্পেস ( 169.254.0.0/16 )। fcc00::/7 ) IPv6-এর RFC4193- এর সেকশন 3-এ সংজ্ঞায়িত, অথবা IPv6-এর RFC4291- এর 2.5.6-এ সংজ্ঞায়িত "লিঙ্ক-স্থানীয়" উপসর্গ ( fe80::/10 )।

একটি পাবলিক নেটওয়ার্ক অন্য কোনো গন্তব্য হয়.

যেহেতু স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতি সুরক্ষিত প্রসঙ্গের মধ্যে সীমাবদ্ধ, এবং স্থানীয় নেটওয়ার্ক ডিভাইসগুলিকে 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 138-এ অপ্ট-ইন পরীক্ষার জন্য প্রস্তুত৷ ব্যবহারকারীরা chrome://flags#local-network-access-check "সক্ষম (ব্লকিং)" এ সেট করে নতুন অনুমতি প্রম্পট সক্ষম করতে পারেন৷ এটি জাভাস্ক্রিপ্ট fetch() এপিআই, সাবরিসোর্স লোডিং এবং সাবফ্রেম নেভিগেশন ব্যবহার করে শুরু করা অনুরোধগুলির জন্য স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতি প্রম্পটকে ট্রিগার করা সমর্থন করে।

স্থানীয় নেটওয়ার্ক অনুরোধের বিভিন্ন ফর্ম ট্রিগার করার জন্য একটি ডেমো সাইট https://local-network-access-testing.glitch.me/ এ উপলব্ধ।

পরিচিত সমস্যা এবং সীমাবদ্ধতা

  • নতুন অনুমতি প্রম্পট বর্তমানে শুধুমাত্র ডেস্কটপ Chrome এ প্রয়োগ করা হয়েছে। আমরা এটিকে অ্যান্ড্রয়েড ক্রোমে পোর্ট করার জন্য সক্রিয়ভাবে কাজ করছি। ( crug.com/400455013 এ ট্র্যাক করা হয়েছে।)
  • WebSockets ( crbug.com/421156866 ), WebTransport ( crbug.com/421216834 ), এবং WebRTC ( crbug.com/421223919 ) স্থানীয় নেটওয়ার্কের সংযোগগুলি এখনও LNA অনুমতিতে গেট করা হয়নি৷
  • পরিষেবা কর্মীদের কাছ থেকে স্থানীয় নেটওয়ার্ক অনুরোধগুলির জন্য বর্তমানে প্রয়োজন যে পরিষেবা কর্মী এর উত্স পূর্বে স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতি দেওয়া হয়েছে৷
    • যদি আপনার অ্যাপ্লিকেশনটি কোনও পরিষেবা কর্মী থেকে স্থানীয় নেটওয়ার্ক অনুরোধ করে, তবে অনুমতি প্রম্পট ট্রিগার করার জন্য আপনাকে বর্তমানে আপনার অ্যাপ্লিকেশন থেকে একটি স্থানীয় নেটওয়ার্ক অনুরোধ ট্রিগার করতে হবে। (যদি একটি সক্রিয় নথি পাওয়া যায় তবে কর্মীদের অনুমতি প্রম্পট ট্রিগার করার জন্য আমরা একটি উপায় নিয়ে কাজ করছি — crbug.com/404887282 দেখুন।)

Chrome 139 এবং তার পরেও

আমাদের উদ্দেশ্য হল যত তাড়াতাড়ি সম্ভব স্থানীয় নেটওয়ার্ক অ্যাক্সেস পাঠানো। স্থানীয় নেটওয়ার্ক অ্যাক্সেস টীকাগুলির সাথে আপডেট করার জন্য কিছু সাইটের অতিরিক্ত সময়ের প্রয়োজন হতে পারে তা স্বীকার করে, আমরা ডিফল্টরূপে স্থানীয় নেটওয়ার্ক অ্যাক্সেস পাঠানোর আগে সাইটগুলিকে অস্থায়ীভাবে সুরক্ষিত প্রসঙ্গ প্রয়োজনীয়তা থেকে অপ্ট-আউট করার অনুমতি দেওয়ার জন্য একটি অরিজিন ট্রায়াল যোগ করব৷ এটি বিকাশকারীদের জন্য একটি পরিষ্কার স্থানান্তর পথ প্রদান করবে, বিশেষ করে যদি আপনি HTTP-এর মাধ্যমে স্থানীয় নেটওয়ার্ক সংস্থানগুলি অ্যাক্সেস করার উপর নির্ভর করেন (যেহেতু এই অনুরোধগুলিকে মিশ্র সামগ্রী হিসাবে অবরুদ্ধ করা হবে যদি ব্রাউজারগুলিতে HTTPS পৃষ্ঠা থেকে অনুরোধ করা হয় যেগুলি এখনও স্থানীয় নেটওয়ার্ক অ্যাক্সেস মিশ্র সামগ্রী ছাড় সমর্থন করে না)।

কোন সাইটগুলি স্থানীয় নেটওয়ার্ক অনুরোধ করতে পারে এবং করতে পারে না তা নিয়ন্ত্রণ করার জন্য আমরা একটি ক্রোম এন্টারপ্রাইজ নীতিও যুক্ত করব (সেই সাইটগুলিতে আগে থেকে অনুমতি দেওয়া বা প্রি-অস্বীকার করা)৷ এটি কর্পোরেট সেটিংসের মতো পরিচালিত ক্রোম ইনস্টলেশনগুলিকে, পরিচিত উদ্দেশ্যমূলক ব্যবহারের ক্ষেত্রে সতর্কতা দেখানো এড়াতে বা আরও লক ডাউন করার অনুমতি দেবে এবং সাইটগুলিকে অনুমতির অনুরোধ করতে সক্ষম হতে বাধা দেবে৷

আমরা স্থানীয় নেটওয়ার্কে অনুরোধ পাঠাতে পারে এমন বিভিন্ন বৈশিষ্ট্যের সাথে স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতিকে একীভূত করার পরিকল্পনা করছি। উদাহরণস্বরূপ, আমরা শীঘ্রই WebSockets, WebTransport, এবং WebRTC সংযোগের জন্য স্থানীয় নেটওয়ার্ক অ্যাক্সেস পাঠানোর পরিকল্পনা করছি।

আমরা Chrome-এ সম্পূর্ণরূপে স্থানীয় নেটওয়ার্ক অ্যাক্সেস চালু করতে সক্ষম হওয়ার কাছাকাছি আসার সাথে সাথে আমরা আরও তথ্য ভাগ করব৷

প্রতিক্রিয়া চেয়েছিলেন

প্রাইভেট নেটওয়ার্ক অ্যাক্সেস ডেভেলপমেন্টের পূর্ববর্তী প্রতিক্রিয়া আমাদের নতুন স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতি পদ্ধতিতে আমাদের গাইড করার জন্য অবিশ্বাস্যভাবে মূল্যবান ছিল। আমরা আবারও সবাইকে ধন্যবাদ জানাতে চাই যারা বছরের পর বছর ধরে জড়িত।

আপনি যদি এমন একটি ওয়েবসাইট তৈরি করেন বা ব্যবহারকারী হন যা ব্যবহারকারীর স্থানীয় নেটওয়ার্ক বা ব্যবহারকারীর মেশিনে স্থানীয়ভাবে চলমান সফ্টওয়্যারের সাথে সংযোগ স্থাপনের উপর নির্ভর করে, Chrome টিম আপনার প্রতিক্রিয়া এবং ব্যবহারের ক্ষেত্রে আগ্রহী। সাহায্য করার জন্য আপনি দুটি জিনিস করতে পারেন:

  • chrome://flags#local-network-access-check এ যান, পতাকাটিকে "সক্ষম (অবরুদ্ধ করা)" এ সেট করুন, এবং দেখুন আপনার ওয়েবসাইট সঠিকভাবে নতুন অনুমতি প্রম্পটটি ট্রিগার করে কিনা (এবং আপনি অনুমতি দেওয়ার পরে প্রত্যাশিতভাবে কাজ করে)।
  • আপনি যদি কোনো সমস্যার সম্মুখীন হন বা প্রতিক্রিয়া পান, তাহলে Chromium Issue Tracker বা আমাদের LNA ব্যাখ্যাকারী GitHub সংগ্রহস্থলে একটি সমস্যা ফাইল করুন। Chrome আপনার কাছ থেকে শুনতে চাই।