Улучшение совместимости с WebView

Образовательные учреждения используют продукты для фильтрации контента, чтобы предотвратить доступ пользователей к неприемлемому контенту на их Chromebook. Существует несколько способов, с помощью которых пользователи могут обойти эту «песочницу» и получить доступ к контенту, к которому они иначе не должны иметь доступа. Эти рекомендации по приложениям для Android и Chrome помогут разработчикам обеспечить корректную работу своих приложений с фильтрацией контента.

Сократите количество веб-контента в вашем приложении.

Если ваше приложение использует WebViews для входа студентов в ваш сервис или отображения документации, это может позволить студентам просматривать веб-страницы без защиты от фильтрации контента, предоставляемой их школами. Некоторые из самых популярных продуктов для фильтрации контента, используемых школами на Chromebook, развертываются в виде расширений Chrome, которые могут видеть трафик только во вкладках браузера. Поскольку веб-контент часто непредсказуем, студенты часто могут переходить по ссылкам внутри WebView, чтобы свободно просматривать веб-страницы без защиты от фильтрации контента.

Уменьшив количество контента, отображаемого в вашем приложении через браузер, вы можете снизить вероятность доступа к нежелательному контенту. Если это невозможно, убедитесь, что ваш WebView отображает только нужный вам контент и не содержит ссылок на поисковые системы или открытый интернет.

Ограничьте доступ к контенту в ваших WebView.

Если вашему приложению требуется WebView, убедитесь, что содержимое вашего WebView не может выйти за пределы приложения и перейти к контенту, который вам не принадлежит и который вы не контролируете. Это можно сделать, изменив клиент WebView, чтобы переопределить загрузку определенных URL-адресов через список разрешенных сайтов на Android, или вручную проанализировав ваш сайт и убедившись, что ссылки не ведут к стороннему контенту, который вы не можете контролировать, поскольку это может позволить вашим пользователям перейти к неприемлемому контенту. Для приложений Chrome вы также можете использовать WebRequestEventInterface для изменения запросов и проверки того, что им разрешен переход к сайтам из вашего списка разрешенных.

Запуск внешних сайтов в браузере

Вы можете снизить риск обхода пользователями фильтрации контента, открывая веб-контент во встроенных веб-браузерах устройств.

В приложениях для Android рекомендуется использовать пользовательские вкладки Chrome вместо WebView. На Android пользовательская вкладка откроет вкладку браузера, оформленную в соответствии с тематикой вашего приложения. В ChromeOS это запустит обычный браузер и позволит пользователям перемещаться по странице как обычно, но поскольку это их обычный браузер, это позволит применять политики браузера к контенту, к которому получают доступ студенты. Для большинства образовательных организаций это означает, что отображаемый контент будет виден расширениям фильтрации контента, работающим в браузере. Это особенно полезно для сторонних поставщиков идентификации, которые полагаются на реализацию OAuth в WebView.

В приложениях Chrome ссылки на контент, не принадлежащий вам, должны открываться в новой вкладке, а не внутри запущенного WebView. Чтобы открыть новую вкладку из вашего приложения Chrome, вы можете изменить теги привязки, установив атрибут target равным _blank , что позволит ссылке открываться в новой вкладке.

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

Примечание: Если вам необходимо использовать WebView в приложении Chrome для аутентификации с единым входом, убедитесь, что выбранный вами поставщик идентификации либо открывает новые ссылки в новых вкладках, используя упомянутый выше атрибут target со значением _blank , либо не ссылается на контент, который позволяет пользователям перейти к поисковой системе или другому контенту, который может предоставить им широкий доступ в Интернет.

Используйте вход через Google.

Если ваше приложение использует только вход через Google, не используйте WebView для авторизации. Вместо этого на Android используйте вход и регистрацию в один клик . Если вы используете приложения Chrome, продолжайте использовать API chrome.identity . Ссылки в этом процессе авторизации запускаются из браузера, а не из встроенного WebView, к которому могут быть применены другие элементы управления фильтрацией.