Как включить безопасный поиск в моем браузере Android - PullRequest
0 голосов
/ 13 сентября 2018

Требование

У меня есть требование в моем браузере включить / отключить безопасный поиск во время просмотра.

Вкл. Страница безопасного поиска Google

Блокировать явные результаты в Google с помощью SafeSearch

Вы можете отфильтровать явный поискрезультаты на Google, как и порнография, с установкой Безопасной.Безопасный поиск не на 100% точен.Но это может помочь вам избежать явных и неуместных результатов поиска на вашем телефоне, планшете или компьютере.

Как вы знаете, когда включен безопасный поиск (например, Google Chrome), пользователь не видит результатымногих типов угроз, зараженных страниц, инженерных страниц социальных, порнографии и т.д. и блок откровенных изображений, видео и веб-сайтов с Google результаты поиска

1018 * Эта информация доступна на Google платформах, таких как хром, Google App и т.д. Так что я получилэто задание, но могу ли я включить его в своем браузере ?

Ресурсы найдены

Я получил подсказки от безопасный поиск API , но я незнаю, полезно ли это для меня, потому что, если я использую это, я могу сделать две вещи:

  • Либо мне нужно каждый раз вызывать api, когда пользователь открывает сайт ( Lookup api )
  • Или я могу загрузить все данные URL.( Обновление API )

Проблема

  1. Как я могу отфильтровать результаты поиска Google в моем WebView?Есть ли какой-то способ, предоставляемый поисковыми системами, такими как www.google.com, www.bing.com и т. Д.
  2. Если вышеупомянутое не представляется возможным, это единственный способ вызвать безопасный просмотр lookup api и выполнить блокировку / предупреждениекогда вредоносная программа обнаружила заражение?

Может ли мой друг дать какие-нибудь подсказки, если это возможно?

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Если вы заглядываете на сайт разработчика, четко упоминается, что

Если ваше приложение предназначено для Android 7.1 (уровень API 25) или ниже, вы можете отказаться от проверки своих объектов WebView.URL-адреса для списка безопасных веб-сайтов Google Safe Browsing , добавив следующий элемент в файл манифеста вашего приложения:

<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) или выше, вы можете программно определить, как ваше приложение реагирует на известную угрозу:

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

Пожалуйста, посмотрите на приведенный ниже пример кода, он показывает, какВы можете указать экземплярам 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 по версии.

0 голосов
/ 20 сентября 2018

Добавьте к ответу @Andy Developer, вы можете выполнить проверку версии Android, если она меньше API 27, вы можете использовать API безопасного просмотра.

Чтобы обеспечить вашему браузеру наилучшее взаимодействие с пользователем, я бы предложил вам реализовать API-интерфейс обновления и настроить локальную базу данных. Это общий подход для браузеров, которые вы можете найти в Play Store в настоящее время.

Из Документации :

Обновление API (v4)

Обновление API позволяет вашим клиентским приложениям загружать зашифрованные версии списков безопасного просмотра для локальной, клиентской части проверка URL-адресов.

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

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

Делая это, вы можете предлагать эти функции как для конечного пользователя, так и для верхнего.

Примечание. В WebView реализован API-интерфейс безопасного просмотра на нативном языке, поэтому он точно такой же. Если вы хотите реализовать только обновление API вместо ответа, предложенного @Andy Developer, это все еще рекомендуется, поскольку обеспечивает единообразие.

0 голосов
/ 20 сентября 2018

Определенно, мы можем использовать API безопасного просмотра Googles для этого требования, цель этих API именно для этого.

So, the scenario can be one like this:
  • у нас может быть механизм проверки URL в фоновом режиме
  • он использует очередь, которая содержит проверяемые URL-адреса, и использует Googles Safe Browsing API для проверки
  • результаты могут быть отозваны обратно в главный поток для сохранения данных просмотра

Удачи)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...