教育機関は、コンテンツ フィルタリング プロダクトを使用して、ユーザーが Chromebook で不適切なコンテンツにアクセスできないようにしています。ユーザーがこのコンテンツ サンドボックスを抜け出し、本来アクセスできないコンテンツにアクセスする方法はいくつかあります。これらの Android アプリと Chrome アプリの推奨事項は、デベロッパーがコンテンツ フィルタリングでアプリが適切に動作するようにするうえで役立ちます。
アプリ内のウェブ コンテンツを減らす
アプリで WebView を使用して生徒がサービスにログインしたり、ドキュメントを表示したりできるようにしている場合、生徒が学校のコンテンツ フィルタリング保護を受けずにウェブを閲覧できる可能性があります。Chromebook で学校が使用する人気のコンテンツ フィルタリング プロダクトの一部は、Chrome 拡張機能としてデプロイされています。この場合、ブラウザタブ内のトラフィックしか確認できません。ウェブ コンテンツは予測できないことが多いため、生徒は WebView 内のリンクをたどって、コンテンツ フィルタリングの保護なしで自由にウェブを閲覧できることがよくあります。
アプリに表示されるブラウザベースのコンテンツの量を減らすことで、アプリ内で不要なコンテンツにアクセスできる可能性を減らすことができます。それが不可能な場合は、WebView が必要なコンテンツのみを提供し、検索エンジンやオープン ウェブにリンクしないようにしてください。
WebView でコンテンツを制限する
アプリで WebView が必要な場合は、WebView 内のコンテンツがアプリから抜け出して、所有または制御していないコンテンツに移動できないようにしてください。これは、Android で特定の URL の読み込みを許可リストでオーバーライドするように WebView クライアントを変更するか、サイトを手動で解析して、制御できない第三者のコンテンツにリンクしていないことを確認することで行えます。そのようなリンクがあると、ユーザーが不適切なコンテンツにアクセスできる可能性があります。Chrome アプリでは、WebRequestEventInterface を使用してリクエストを変更し、許可リストにあるサイトへの移動が許可されていることを検証することもできます。
ブラウザで外部サイトを起動する
デバイスの組み込みウェブブラウザでウェブ コンテンツを開くと、ユーザーがコンテンツ フィルタリングを回避するリスクを軽減できます。
Android アプリでは、WebView の代わりに Chrome カスタムタブの使用を検討してください。Android では、カスタムタブでアプリケーションと同じテーマのブラウザタブが開きます。ChromeOS の場合、通常のブラウザが起動し、ユーザーは通常どおりページ内を移動できますが、通常のブラウザであるため、生徒がアクセスしているコンテンツにブラウザ ポリシーを適用できます。ほとんどの教育機関では、表示されるコンテンツはブラウザで実行されているコンテンツ フィルタリング拡張機能に表示されます。これは、WebView で OAuth を実装しているサードパーティの ID プロバイダで特に役立ちます。
Chrome アプリでは、所有していないコンテンツへのリンクは、実行中の WebView 内ではなく、新しいタブで開く必要があります。Chrome アプリから新しいタブを開くには、アンカータグを変更して target 属性を _blank に設定します。これにより、リンクが新しいタブで開くようになります。
<a href=”https://google.com” target=”_blank”>External Site</a>
注: シングル サインオン認証のために Chrome アプリで WebView を使用する必要がある場合は、選択した ID プロバイダが、_blank の前述の target 属性を使用して新しいタブで新しいリンクを開くか、検索エンジンや広範なインターネット アクセスを可能にするその他のコンテンツにアクセスできるコンテンツにリンクしないようにしてください。
Google ログインを使用する
アプリで Google ログインのみを使用する場合は、ログインに WebView を使用しないでください。代わりに、Android では、ワンタップでのログインと登録のフローで処理します。Chrome アプリを使用している場合は、引き続き chrome.identity API を使用してください。このログインフローのリンクは、埋め込み WebView ではなくブラウザから開始されます。埋め込み WebView には、同じフィルタリング コントロールが適用されない場合があります。