如何在我的Android浏览器中启用安全搜索

Khe*_*raj 9 android android-browser

需求

我的浏览器要求在浏览时启用/禁用安全搜索.

Google安全搜索页面上

使用安全搜索在Google上屏蔽显式结果

您可以使用安全搜索设置过滤Google上的显式搜索结果,例如色情内容.安全搜索不是100%准确.但它可以帮助您避免在手机,平板电脑或计算机上显式和不恰当的搜索结果.

如您所知,当安全搜索开启时(如谷歌浏览器),用户不会看到许多威胁类型,受感染的网页,社交工程网页,色情内容等的结果,并阻止来自Google搜索结果的显式图片,视频和网站

这可以在Chrome平台,谷歌应用等谷歌平台上使用.所以我完成了这个任务,但是我可以在浏览器中启用它吗?

资源找到

我从安全搜索api得到了提示,但我不知道它对我有用,因为如果我使用它,我可以做两件事,

  • 我要么每次都打电话给api打开一个网站(Lookup api)
  • 或者我可以下载所有网址数据.(更新api)

问题

  1. 如何在WebView中过滤Google搜索结果?有没有被搜索引擎等提供的一些方法www.google.com,www.bing.com等等.
  2. 如果以上是不可能的,只有这样才能调用安全浏览查找API并在发现恶意软件时执行阻止/警告?

如果可能,任何朋友都可以给我任何提示吗?

And*_*per 5

如果您查看开发者网站,显然会提到

如果您的应用程序针对Android 7.1(API级别25)或更低版本,则可以通过在应用程序的清单文件中添加以下元素,选择不使用WebView对象来对照Google安全浏览的不安全网站列表检查URL :

<manifest>
<application>
    <meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
               android:value="false" />
    ...
 </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

对于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!");
          }
      }
   });
}
Run Code Online (Sandbox Code Playgroud)

用于启用或禁用安全浏览。使用以下方法。

mSuperSafeWebView.getSettings().setSafeBrowsingEnabled(true);
Run Code Online (Sandbox Code Playgroud)

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();
   }
}
Run Code Online (Sandbox Code Playgroud)

如果您想了解有关WebView安全版本的信息,请查看。


Hov*_*yan 0

当然,我们可以使用 Google 的安全浏览 API 来满足此要求,该 API 的目的就是为了这个目的。

So, the scenario can be one like this:
Run Code Online (Sandbox Code Playgroud)
  • 我们可以在后台有一个 URL 检查器引擎
  • 它使用一个包含要检查的 URL 的队列,并使用 Google 的安全浏览 API 来检查
  • 结果可以回调到主线程以保护浏览数据

祝你好运 )