在Android WebView中防止跨站脚本攻击(XSS)可以采取以下措施:
- 启用WebView的JavaScript支持:确保WebView启用了JavaScript,因为XSS攻击通常依赖于执行恶意脚本。在WebView的设置中启用JavaScript:
WebView webView = findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true);
- 使用WebViewClient的
shouldInterceptRequest
方法过滤恶意资源:通过重写shouldInterceptRequest
方法,可以拦截WebView加载的资源,检查其内容是否包含恶意脚本,并进行相应的处理,如删除或替换。
webView.setWebViewClient(new WebViewClient() { @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); // 检查URL是否包含恶意资源,如包含