教育机构使用内容过滤产品来防止用户在 Chromebook 上访问不当内容。用户可以通过多种方式逃脱此内容沙盒,并访问他们本不应访问的内容。这些 Android 和 Chrome 应用建议应有助于开发者确保其应用能与内容过滤功能正常搭配使用。
减少应用中的 Web 内容
如果您的应用使用 WebView 允许学生登录您的服务或显示文档,则可能会导致学生在没有学校提供的内容过滤保护的情况下浏览网页。学校在 Chromebook 上使用的一些最热门的内容过滤产品以 Chrome 扩展程序的形式部署,这些扩展程序只能看到浏览器标签页中的流量。由于 Web 内容往往难以预测,学生通常可以在 WebView 中随意浏览网页,而无需内容过滤保护。
通过减少应用中显示的基于浏览器的内容量,您可以降低在应用中访问到不当内容的可能性。如果无法做到这一点,请确保您的 WebView 仅提供您想要的内容,并且不会链接到搜索引擎或开放式网络。
限制 WebView 中的内容
如果您的应用需要 WebView,请确保 WebView 中的内容无法逃脱您的应用并导航至您不拥有或控制的内容。为此,您可以在 Android 上修改 WebView 客户端,以通过许可名单替换加载某些网址,或者手动解析您的网站并验证链接是否未链接到您无法控制的第三方内容,因为这可能会让您的用户访问不当内容。对于 Chrome 应用,您还可以使用 WebRequestEventInterface 修改请求并验证这些请求是否允许导航到您的许可网站列表。
在浏览器中启动外部网站
如果您在设备的内置 Web 浏览器中打开 Web 内容,则可以降低用户绕过内容过滤的风险。
在 Android 应用中,请考虑使用 Chrome 自定义标签页,而不是 WebView。在 Android 上,自定义标签页将打开一个主题与应用类似的浏览器标签页。对于 ChromeOS,此操作会启动常规浏览器,并允许用户像往常一样在网页中浏览,但由于这是用户的常规浏览器,因此系统会允许对学生访问的内容强制执行浏览器政策。对于大多数教育组织,这意味着浏览器上运行的内容过滤扩展程序会看到将要显示的内容。对于依赖于在 WebView 中实现 OAuth 的第三方身份提供方,此功能尤其有用。
在 Chrome 应用中,指向非您拥有的内容的链接应在新标签页中打开,而不是在正在运行的 WebView 中打开。如需从 Chrome 应用中打开新标签页,您可以修改锚标记,将 target 属性设置为指向 _blank,这样链接便可在新标签页中打开。
<a href=”https://google.com” target=”_blank”>External Site</a>
注意:如果您需要在 Chrome 应用中使用 WebView 进行单点登录身份验证,请确保您选择使用的身份提供方要么使用上述 _blank 目标属性在新标签页中打开新链接,要么不链接到任何允许用户跳转到搜索引擎或其他可能提供广泛互联网访问权限的内容。
使用 Google 登录
如果您的应用仅使用 Google 登录,请勿使用 WebView 进行登录。在 Android 上,请改为使用一键登录和注册流程来处理此问题。如果您使用的是 Chrome 应用,请继续使用 chrome.identity API。此登录流程中的链接从浏览器(而非嵌入式 WebView)开始,而浏览器可能未应用相同的过滤控制。