بهبود سازگاری WebView

مؤسسات آموزشی از محصولات فیلترینگ محتوا برای جلوگیری از دسترسی کاربرانشان به محتوای نامناسب در کروم‌بوک‌هایشان استفاده می‌کنند. روش‌های انگشت‌شماری وجود دارد که کاربران آنها می‌توانند از این سندباکس محتوا فرار کنند و به محتوایی دسترسی پیدا کنند که در غیر این صورت نباید به آن دسترسی داشته باشند. این توصیه‌های مربوط به برنامه‌های اندروید و کروم باید به توسعه‌دهندگان کمک کند تا اطمینان حاصل کنند که برنامه‌هایشان با فیلترینگ محتوا به خوبی کار می‌کنند.

محتوای وب را در برنامه خود کاهش دهید

اگر برنامه شما از WebViews برای ورود دانش‌آموزان به سرویس شما یا نمایش اسناد استفاده می‌کند، ممکن است دانش‌آموزان را قادر سازد بدون محافظت‌های فیلترینگ محتوا که توسط مدارسشان ارائه می‌شود، وب را مرور کنند. برخی از محبوب‌ترین محصولات فیلترینگ محتوا که توسط مدارس در Chromebooks استفاده می‌شوند، به عنوان افزونه‌های Chrome مستقر هستند که فقط می‌توانند ترافیک درون تب‌های مرورگر را مشاهده کنند. از آنجایی که محتوای وب اغلب غیرقابل پیش‌بینی است، دانش‌آموزان اغلب می‌توانند از طریق پیوندهای درون WebView آزادانه و بدون محافظت‌های فیلترینگ محتوا، وب را مرور کنند.

با کاهش میزان محتوای مبتنی بر مرورگر که در برنامه شما نمایش داده می‌شود، می‌توانید احتمال دسترسی به محتوای ناخواسته را در برنامه خود کاهش دهید. اگر این غیرممکن است، مطمئن شوید که WebView شما فقط محتوای مورد نظر شما را ارائه می‌دهد و به موتور جستجو یا وب باز پیوند نمی‌دهد.

محدود کردن محتوا در WebViews

اگر برنامه شما به WebView نیاز دارد، مطمئن شوید که محتوای درون WebView شما قادر به فرار از برنامه شما و هدایت به محتوایی که مالک یا کنترل آن نیستید، نباشد. این کار را می‌توان با تغییر کلاینت WebView برای لغو بارگذاری URLهای خاص از طریق یک لیست مجاز در اندروید یا با تجزیه دستی سایت خود و اعتبارسنجی اینکه لینک‌ها به محتوای شخص ثالثی که شما نمی‌توانید کنترل کنید، لینک نمی‌شوند، انجام داد، زیرا این امر ممکن است کاربران شما را به محتوای نامناسب هدایت کند. برای برنامه‌های Chrome، می‌توانید از WebRequestEventInterface نیز برای تغییر درخواست‌ها و اعتبارسنجی اینکه آنها مجاز به هدایت به لیست مجاز سایت‌های شما هستند، استفاده کنید.

سایت‌های خارجی را در مرورگر اجرا کنید

اگر محتوای وب را در مرورگرهای وب داخلی دستگاه‌ها باز کنید، می‌توانید خطر عبور کاربران از فیلتر محتوا را کاهش دهید.

در برنامه‌های اندروید، به جای WebViews، استفاده از Chrome Custom Tabs را در نظر بگیرید. در اندروید، تب سفارشی، یک تب مرورگر با تم مشابه برنامه شما را باز می‌کند. برای ChromeOS، این کار مرورگر معمولی را اجرا می‌کند و به کاربران اجازه می‌دهد تا به صورت عادی در صفحه پیمایش کنند، اما از آنجا که این مرورگر معمولی آنهاست، امکان اعمال سیاست‌های مرورگر بر محتوایی که دانش‌آموزان به آن دسترسی دارند را فراهم می‌کند. برای اکثر سازمان‌های آموزشی، این بدان معناست که محتوایی که نمایش داده می‌شود، برای افزونه‌های فیلترینگ محتوا که در مرورگر اجرا می‌شوند، قابل مشاهده خواهد بود. این امر به ویژه برای ارائه دهندگان هویت شخص ثالث که به پیاده‌سازی OAuth در WebView متکی هستند، مفید است.

در برنامه‌های کروم، لینک‌هایی که به محتوایی که متعلق به شما نیستند، اشاره دارند، باید در یک تب جدید باز شوند، نه در WebView که در حال اجرا است. برای باز کردن یک تب جدید از برنامه کروم خود، می‌توانید تگ‌های anchor خود را تغییر دهید تا ویژگی target را به _blank تنظیم کنید که به لینک اجازه می‌دهد در یک تب جدید باز شود.

<a href=”https://google.com” target=”_blank”>External Site</a>

توجه: اگر برای احراز هویت تک‌ورودی نیاز به استفاده از WebView در یک برنامه Chrome دارید، مطمئن شوید که ارائه‌دهنده هویتی که انتخاب می‌کنید یا با استفاده از ویژگی target ذکر شده _blank ، لینک‌های جدید را در تب‌های جدید باز می‌کند یا به هیچ محتوایی که به آنها اجازه می‌دهد به یک موتور جستجو یا محتوای دیگری که می‌تواند به آنها دسترسی گسترده به اینترنت بدهد، دسترسی پیدا کنند، لینک نمی‌دهد.

از ورود به سیستم گوگل استفاده کنید

اگر برنامه شما فقط از ورود به سیستم گوگل استفاده می‌کند، از وب‌ویو برای ورود به سیستم استفاده نکنید. در عوض، در اندروید، آن را با جریان ورود و ثبت‌نام با یک لمس مدیریت کنید. اگر از برنامه‌های کروم استفاده می‌کنید، همچنان از API chrome.identity استفاده کنید. لینک‌های موجود در این جریان ورود به سیستم به جای یک وب‌ویو تعبیه‌شده، از مرورگر شروع می‌شوند که ممکن است کنترل‌های فیلترینگ یکسانی روی آن اعمال نشود.