ブラウザで、ブラウジング中にセーフサーチを有効/無効にする必要があります。
セーフサーチを使用してGoogleで明示的な結果をブロックする
セーフサーチ設定を使用すると、ポルノなどのGoogleでの明示的な検索結果をフィルタリングできます。セーフサーチは100%正確ではありません。ただし、携帯電話、タブレット、またはコンピューターでの明示的で不適切な検索結果を回避するのに役立ちます。
セーフサーチがオンになっている場合(グーグルクロームなど)、ユーザーは多くの脅威タイプ、感染ページ、ソーシャルエンジニアリングページ、ポルノなどの結果を表示せず、Google検索結果からの露骨な画像、ビデオ、およびWebサイトをブロックします。
これは、Chrome、GoogleアプリなどのGoogleプラットフォームで利用できます。このタスクを取得しましたが、ブラウザで有効にできますか?
セーフサーチAPI からヒントを得ましたが、これを使用すると2つのことができるため、役立つかどうかわかりません。
www.google.com
、www.bing.com
などの検索エンジンによって提供される方法はありますか。可能であれば、友達にヒントを教えてもらえますか?
開発者サイトを調べると、それは明確に述べられています
アプリがAndroid 7.1(APIレベル25)以下をターゲットにしている場合、URLのチェックからWebViewオブジェクトをオプトアウトできます Google Safe Browsing's =アプリのマニフェストファイルに次の要素を追加して、安全でないWebサイトのリスト:
<manifest>
<application>
<meta-data Android:name="Android.webkit.WebView.EnableSafeBrowsing"
Android:value="false" />
...
</application>
</manifest>
Android 8.0の場合、
EnableSafeBrowsingのデフォルト値はtrueですが、条件付きでのみセーフブラウジングを有効にしたり無効にしたりする場合があります。 Android 8.0(APIレベル26)以上のサポートはsetSafeBrowsingEnabled()を使用します。低いAPIレベルでコンパイルするアプリはsetSafeBrowsingEnabled()を使用できません。マニフェストのEnableSafeBrowsingの値をfalseに変更して、 WebViewのすべてのインスタンスの機能。
Android 8.1(APIレベル27)以上)をターゲットにしている場合、アプリが既知の脅威にどのように応答するかをプログラムで定義できます。
以下のサンプルコードをご覧ください。既知の脅威に遭遇した後、常に安全に戻るようにアプリのWebViewのインスタンスに指示する方法を示しています。
MyWebActivity.Java
private WebView mSuperSafeWebView;
private boolean mSafeBrowsingIsInitialized;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mSuperSafeWebView = new WebView(this);
mSuperSafeWebView.setWebViewClient(new MyWebViewClient());
mSafeBrowsingIsInitialized = false;
mSuperSafeWebView.startSafeBrowsing(this, new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean success) {
mSafeBrowsingIsInitialized = true;
if (!success) {
Log.e("MY_APP_TAG", "Unable to initialize Safe Browsing!");
}
}
});
}
セーフブラウジングを有効または無効にします。次の方法を使用します。
mSuperSafeWebView.getSettings().setSafeBrowsingEnabled(true);
MyWebViewClient.Java
public class MyWebViewClient extends WebViewClient {
// Automatically go "back to safety" when attempting to load a website that
// Google has identified as a known threat. An instance of WebView calls
// this method only after Safe Browsing is initialized, so there's no
// conditional logic needed here.
@Override
public void onSafeBrowsingHit(WebView view, WebResourceRequest request,
int threatType, SafeBrowsingResponse callback) {
// The "true" argument indicates that your app reports incidents like
// this one to Safe Browsing.
callback.backToSafety(true);
Toast.makeText(view.getContext(), "Unsafe web page blocked.",
Toast.LENGTH_LONG).show();
}
}
バージョンごとのWebViewセキュリティバージョン について知りたい場合は、こちらをご覧ください。
@Andy Developerの回答に加えて、Androidバージョンチェックを実行できます。API27未満の場合は、セーフブラウジングAPIを使用できます。
ブラウザで最高のユーザーエクスペリエンスを確保するには、UpdateAPIを実装してローカルデータベースを設定することをお勧めします。これは、最近Playストアで見つけることができるブラウザの一般的なアプローチです。
ドキュメント から:
APIの更新(v4)
Update APIを使用すると、クライアントアプリケーションは、URLのローカルのクライアント側チェック用に暗号化されたバージョンのセーフブラウジングリストをダウンロードできます。
Update APIは、高頻度、低遅延の判定を必要とするクライアント向けに設計されています。いくつかのWebブラウザとソフトウェアプラットフォームは、このAPIを使用して多数のユーザーを保護します。
クエリされたURLのプライバシーや、ネットワークリクエストによって引き起こされる遅延が心配な場合は、UpdateAPIを使用してください。
これを行うことにより、ローエンドユーザーとハイエンドユーザーの両方にこの機能を提供できます。
注:WebViewはSafe Browsing APIをネイティブで実装しているため、まったく同じです。 @AndyDeveloperによって提案された回答の代わりにUpdateAPIのみを実装する場合でも、均一性が提供されるため、これをお勧めします。
間違いなく、この要件にGoogleのセーフブラウジングAPIを使用できます。このAPIの目的は、まさにそのためです。
So, the scenario can be one like this:
幸運を )