WiFi را با نام عجیب، نام گذاری نکنید.

کارل شو مهندس نرمافزار، در توییتر فاش کرد که نام شبکه مذکور میتواند قابلیت اتصال دستگاه را کاملا از کار بیندازد و حتی راه اندازی دوباره (ری استارت) دستگاه یا تنظیم مجدد آیفون هم نمی تواند آنرا دوباره تنظیم کند.
کاربران برای احیای قابلیت اتصال باید خود نسخه پشتیبان آیفون را دستکاری و نام بدافزارانه شبکه مذکور را از داخل پوشه های سیستم عامل دستگاه پاک کنند.
شو گفت که دلیل بروز این ایراد آن است که پردازشگر وای فای نام شبکه را در یک رشته قرار می دهد که بعد به الگوریتمی که فرمت آنرا تشکیل می دهد منتقل میشود و بعد آن الگوریتم اطلاعات دریافتی اشتباه را به دستگاه وارد می کند. نام مذکور باعث می شود الگوریتم فرمت ساز به دنبال رشته ها (S%) و نشانگرهایی (P%) باشد که وجود ندارند. در نتیجه تعیین کننده فرمت رشته هنگام خواندن آن از حافظه ای که وجود ندارد یک نشانگر تهی می سازد که الگوریتم را از بین می برد.»
این نخستین خطای وای فای (Wi-Fi) عجیبی نیست که شو پیدا کرده است. پیشتر او کشف کرد دستگاه های اپل نمی توانند به شبکه های وای فای با نام هایی نظیر«% p% s% s% s% s% n» متصل شوند و همچنین ویژگی های شبکه داخلی گوشی مانند« ایر دراپ» را هم از کار می اندازد. معلوم نیست این اشکال دقیقا چگونه اتفاق می افتد ولی سایت ۹to5Mac می گوید به دلیل علامت«درصد» است که قبل از یک حرف می آید و باعث می شود زبان برنامه نویسی متغیرهای مختلف (نام هایی که ارزش هایی مشخص دارند) را به شکل یک رشته فرمت کند که ترکیبی از کاراکترها برای ذخیره کردن اطلاعات اند، مانند ساختار جمله در زبان انگلیسی.
در زبان برنامه نویسی سی، عبارت «n%» عبارتی مشخص است که کاراکترهای نوشته شده در یک رشته را به شکل متغیری ذخیره می کند و به الگوریتم فرمت ساز رشته انتقال می دهد. احتمالا سیستم وای فای آیفون و آیپد نام شبکه را به بایگانی داخلی دستگاه انتقال می دهد و آنرا به شکل یک رشته درمی آورد که باعث می شود حافظه خودکار اطلاعات را از جایی بردارد و در جای دیگر ذخیره کند که به پر و سرریز شدن میانگیر( بافر) دستگاه منجر می شود.حافظه خودکار حافظه ای است که در سیستم محلی دستگاه وجود دارد و توسط هر رشته از نو نوشته می شود، در همین حال میانگیر روندی است که به دستگاه اجازه می دهد دستورهای خود را بدون تاثیر بر عملکردهای دیگرش انجام دهد. اگر میانگیر سرریز شود، یعنی دستورها در جاهای دیگری که نباید، خوانده و اجرا می شوند.
گرچه احتمال وقوع این اتفاق خیلی کم است اما در صورت وقوع راهی برای درست کردن آن وجود دارد: گزینه«Reset Network Settings» در تنظیمات آیفون به کاربران اجازه می دهد تمام رمزهای عبور وای فای ذخیره شده را پاک کنند که اسامی- و تاثیر- آنها را هم از حافظه دستگاه حذف خواهد کرد.

بررسی مشکل اتصال آیفون به شبکههای وای فای با نام خاص
در ماههای اخیر، یک مشکل عجیب در دستگاههای آیفون و آیپد که از سیستم عامل iOS استفاده میکنند، کشف شده است. این مشکل زمانی رخ میدهد که دستگاهها سعی دارند به یک شبکه وای فای با نام خاص متصل شوند. نام این شبکهها معمولاً حاوی کاراکترهای خاص، مانند علامت درصد (%) است که میتواند موجب ایجاد خطا و حتی از کار افتادن قابلیت اتصال وای فای در دستگاه شود. یکی از این شبکهها که به این مشکل دامن میزند، شبکهای با نام «% secretclub% power» است. این نام باعث میشود که دستگاههای اپل بهطور کامل قادر به اتصال به شبکه وای فای نباشند و حتی ری استارت کردن دستگاه یا بازنشانی تنظیمات آیفون نمیتواند این مشکل را حل کند.
علت فنی بروز مشکل
این مشکل به نحوه پردازش نام شبکههای وای فای توسط سیستم عامل iOS مرتبط است. کارل شو، مهندس نرمافزار، در توییتر فاش کرد که علت این ایراد به نحوه پردازش رشتههای متنی در دستگاههای اپل مربوط میشود. نام شبکهای که شامل علامت درصد (%) است، باعث میشود که سیستم وای فای دستگاه وارد فرآیند نادرستی شود. در واقع، این علامت درصد در زبانهای برنامهنویسی بهعنوان یک علامت قالببندی شناخته میشود که به سیستم میگوید در این بخش باید مقدار خاصی قرار گیرد.
بهعبارت دیگر، هنگام تلاش برای اتصال به شبکهای که نام آن شامل «%» است، پردازشگر وای فای به اشتباه وارد یک الگوریتم فرمت میشود که رشته را بهطور نادرست پردازش کرده و در نهایت این رشته به حافظهای که وجود ندارد، ارجاع داده میشود. این اتفاق منجر به یک خطای بافر میشود که در نهایت باعث کرش یا از کار افتادن اتصال وای فای میشود.
نحوه رفع مشکل و دستکاری پشتیبان آیفون
این مشکل تا حد زیادی به این دلیل است که سیستمعامل iOS بهطور نادرست نام شبکه وای فای را پردازش کرده و یک بافر خراب در حافظه خود ایجاد میکند. برای رفع این مشکل، کاربران باید نام بدافزار شبکه مورد نظر را از پشتیبان دستگاه خود حذف کنند. این فرآیند شامل دستکاری نسخه پشتیبان آیفون است، که بهوسیله آن میتوان نام مشکلساز شبکه را از پوشههای سیستمعامل پاک کرد.
اگر کاربر بخواهد بهطور خودکار این مشکل را حل کند، گزینهای به نام “Reset Network Settings” در تنظیمات آیفون وجود دارد. با این کار، تمام تنظیمات مربوط به وای فای، از جمله رمزهای عبور ذخیرهشده، حذف خواهند شد و در نتیجه نامهای مشکلساز هم از حافظه دستگاه حذف میشوند.
مشکلات مشابه در دستگاههای اپل
این تنها خطای عجیب در سیستم وای فای دستگاههای اپل نیست. پیشتر، کارل شو کشف کرده بود که دستگاههای اپل نمیتوانند به شبکههای وای فای با نامهایی مشابه «% p% s% s% s% s% n» متصل شوند. علاوه بر این، ویژگیهای داخلی دیگر دستگاههای اپل، مانند «AirDrop»، بهدلیل همین ایراد در نامهای شبکه از کار میافتند. این خطا بهدلیل استفاده از علامت درصد در نام شبکه رخ میدهد، که باعث میشود سیستمهای اپل به اشتباه این نامها را بهعنوان فرمتهای متغیر در نظر بگیرند.
این مشکلات بهطور خاص در دستگاههای اپل مشاهده میشوند و به نظر میرسد که به نحوه پردازش نام شبکههای وای فای توسط سیستم عامل iOS مربوط باشند. در زبانهای برنامهنویسی، علامت درصد بهعنوان یک علامت قالببندی شناخته میشود و باعث میشود که متغیرها بهطور نادرست در حافظه ذخیره شوند و به الگوریتمهای فرمت آسیب برسانند.
تأثیرات و پیامدها
گرچه این مشکل ممکن است بهطور معمول در زندگی روزمره کاربران آیفون تأثیر زیادی نداشته باشد، اما در مواقع خاص، بهویژه برای کسانی که در محیطهای عمومی یا کار حرفهای از وای فای استفاده میکنند، میتواند نگرانکننده باشد. اگر کاربر بهطور تصادفی به یک شبکه وای فای با نام خاصی متصل شود، این مشکل میتواند باعث از دست رفتن ارتباط اینترنتی و مشکلات متعددی برای دستگاه شود.
پیشگیری از بروز این مشکل
برای جلوگیری از بروز این مشکلات، کاربران باید از انتخاب نامهای ساده و بدون استفاده از کاراکترهای خاص، بهویژه علامت درصد، در شبکههای وای فای خود پرهیز کنند. علاوه بر این، اگر کاربری با این مشکل مواجه شد، بهراحتی میتواند با ریست کردن تنظیمات شبکه و حذف نام شبکههای مشکلساز از حافظه دستگاه، از این ایرادات رهایی یابد.
در نهایت، این خطا میتواند بهعنوان یک هشدار برای برنامهنویسان و توسعهدهندگان نرمافزار باشد که باید در نظر داشته باشند که نحوه پردازش و مدیریت نامهای شبکه در دستگاههای مختلف میتواند بر عملکرد دستگاهها تأثیر بگذارد و باعث مشکلات غیرمنتظره شود.






