android.webkit.WebView#removeJavascriptInterface ( )源码实例Demo

下面列出了android.webkit.WebView#removeJavascriptInterface ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ucar-weex-core   文件: WXEmbed.java
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onException(NestedContainer comp, String errCode, String msg) {
  //downgrade embed
  if( errCode != null && comp instanceof WXEmbed && errCode.startsWith("1|")) {
    ViewGroup container = comp.getViewContainer();
    WebView webView = new WebView(container.getContext());
    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    webView.setLayoutParams(params);
    webView.getSettings().setJavaScriptEnabled(true);

    //WebView Remote Code Execution Vulnerability
    webView.removeJavascriptInterface("searchBoxJavaBridge_");
    webView.removeJavascriptInterface("accessibility");
    webView.removeJavascriptInterface("accessibilityTraversal");
    webView.getSettings().setSavePassword(false);

    container.removeAllViews();
    container.addView(webView);
    webView.loadUrl(((WXEmbed) comp).src);
  }else{
    super.onException(comp,errCode,msg);
  }
}
 
源代码2 项目: weex-uikit   文件: WXEmbed.java
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onException(NestedContainer comp, String errCode, String msg) {
  //downgrade embed
  if( errCode != null && comp instanceof WXEmbed && errCode.startsWith("1|")) {
    ViewGroup container = comp.getViewContainer();
    WebView webView = new WebView(container.getContext());
    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    webView.setLayoutParams(params);
    webView.getSettings().setJavaScriptEnabled(true);

    //WebView Remote Code Execution Vulnerability
    webView.removeJavascriptInterface("searchBoxJavaBridge_");
    webView.removeJavascriptInterface("accessibility");
    webView.removeJavascriptInterface("accessibilityTraversal");
    webView.getSettings().setSavePassword(false);

    container.removeAllViews();
    container.addView(webView);
    webView.loadUrl(((WXEmbed) comp).src);
  }else{
    super.onException(comp,errCode,msg);
  }
}
 
源代码3 项目: PoupoLayer   文件: PopWebViewSecurity.java
@TargetApi(11)
public static final void removeJavascriptInterfaces(WebView webView) {
    try {
        if (Build.VERSION.SDK_INT >= 11 && Build.VERSION.SDK_INT < 17) {
            webView.removeJavascriptInterface("searchBoxJavaBridge_");
            webView.removeJavascriptInterface("accessibility");
            webView.removeJavascriptInterface("accessibilityTraversal");
        }
    } catch (Throwable tr) {
        tr.printStackTrace();
    }
}
 
源代码4 项目: YCAudioPlayer   文件: WebViewActivity.java
/**
 * 例如,该案例中链接来于喜马拉雅,支付宝,购物网站等等,就需要注意程序漏洞
 * 如果启用了JavaScript,务必做好安全措施,防止远程执行漏洞
 *
 * @param webView webView控件
 */
@SuppressLint("ObsoleteSdkInt")
@TargetApi(11)      //支持api11以上
private void removeJavascriptInterfaces(WebView webView) {
    try {
        if (Build.VERSION.SDK_INT >= 11 && Build.VERSION.SDK_INT < 17) {
            webView.removeJavascriptInterface("searchBoxJavaBridge_");
            webView.removeJavascriptInterface("accessibility");
            webView.removeJavascriptInterface("accessibilityTraversal");
        }
    } catch (Throwable tr) {
        tr.printStackTrace();
    }
}
 
源代码5 项目: AndroidQuick   文件: WebViewJavascriptActivity.java
@TargetApi(11)
public void release() {
    if (webViewHolder != null) {
        WebView webView = webViewHolder.get();
        if (webView != null) {
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
                webView.removeJavascriptInterface("AndroidJSInterfaceV2");
            }
        }
    }
}
 
源代码6 项目: AgentWeb   文件: WebSecurityLogicImpl.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public void dealHoneyComb(WebView view) {
    if (Build.VERSION_CODES.HONEYCOMB > Build.VERSION.SDK_INT || Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1) {
        return;
    }
    view.removeJavascriptInterface("searchBoxJavaBridge_");
    view.removeJavascriptInterface("accessibility");
    view.removeJavascriptInterface("accessibilityTraversal");
}
 
源代码7 项目: ProjectX   文件: PowerfulWebView.java
private void onRemove(WebView view) {
    view.removeJavascriptInterface(mName);
}