پس زمینه
کروم 94 یک بلوک برای دسترسی به شبکه خصوصی از وبسایتهای عمومی غیر ایمن معرفی کرد. دسترسی مداوم به شبکه خصوصی از طریق آزمایش منسوخ شدن زمینههای غیرایمن، چالشهایی را در انتقال وبسایتهای آسیبدیده به HTTPS نشان داده است. یکی از نگرانیهای رایج دشواری انتقال دستگاههای خصوصی به HTTPS است که منجر به نقض مختلط بررسی محتوا میشود.
برای رسیدگی به چالشی که قبلاً ذکر شد، یک درخواست مجوز جدید تحت یک آزمایش اولیه از Chrome 120 در دسترس است
درخواست مجوز به عنوان گزینه جدید
با افزودن ویژگی targetAddressSpace
جدید به عنوان یک گزینه واکشی، درخواست می تواند از بررسی محتوای مختلط صرف نظر کند.
مثال:
fetch("http://router.local/ping", {
targetAddressSpace: "private",
});
مطابق با دسترسی به شبکه خصوصی: با معرفی پروازهای پیش از پرواز ، هر درخواست شبکه خصوصی قبل از یک درخواست قبل از پرواز انجام می شود. این درخواست پیش از پرواز شامل یک هدر جدید است، Access-Control-Request-Private-Network: true
، و پاسخ مربوطه باید شامل سرصفحه Access-Control-Allow-Private-Network: true
باشد.
برای انطباق با درخواست مجوز جدید، از دستگاهها خواستهایم که دو سرصفحه پاسخ جدید را وارد کنند: Private-Network-Access-Name
و Private-Network-Access-ID
.
Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>
مثال:
Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"
Private-Network-Access-ID
: یک مقدار 48 بیتی ارائه شده به صورت 6 بایت هگزادسیمال که با دو نقطه از هم جدا شده اند. Private-Network-Access-Name
: نام معتبری به عنوان رشته ای که با عبارت منظم ECMAScript مطابقت دارد /^[a-z0-9_-.]+$/
. حداکثر طول نام 248 واحد کد UTF-8 است.
نسخه ی نمایشی
می توانید نسخه ی نمایشی را در: https://private-network-access-permission-test.glitch.me/ بررسی کنید.
برای آزمایش اولیه ثبت نام کنید
برای اطمینان از اینکه درخواست مجوز دسترسی به شبکه خصوصی به توسعهدهندگان کمک میکند محدودیتهای زمینه ایمن را برای دسترسی به شبکه خصوصی اتخاذ کنند، ما آنها را از نسخه ۱۲۰ تا ۱۲۲ به عنوان نسخه آزمایشی اصلی در Chrome در دسترس قرار میدهیم.
برای فعال کردن وب سایت خود برای استفاده از درخواست مجوز، برای آزمایش اصلی ثبت نام کنید:
- برای مبدا خود یک نشانه درخواست کنید .
- از توکن به یکی از روش های زیر استفاده کنید:
- در HTML شما:
html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
- در جاوا اسکریپت شما:
js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
- در سرصفحه های HTTP:
text Origin-Trial: TOKEN_GOES_HERE
- در HTML شما:
برای هر گونه بازخورد یا پیشنهاد در مورد این ویژگی، لطفاً یک مشکل را در مخزن GitHub ثبت کنید.