CodeQL 文档

Android WebView JavaScript 设置

ID: java/android/websettings-javascript-enabled
Kind: problem
Security severity: 6.1
Severity: warning
Precision: medium
Tags:
   - security
   - external/cwe/cwe-079
Query suites:
   - java-security-extended.qls
   - java-security-and-quality.qls

点击查看 CodeQL 存储库中的查询

在 Android WebView 中启用 JavaScript 允许在正在运行的应用程序上下文中执行 JavaScript 代码。这会造成跨站脚本攻击漏洞。

例如,如果你的应用的 WebView 允许访问你不信任的网页,攻击者可能会将用户引导至加载恶意 JavaScript 的页面。

你可以使用 WebView 设置中的 setJavaScriptEnabled 方法启用或禁用 Javascript 执行。

建议

默认情况下,JavaScript 执行是被禁用的。你可以通过在 WebView 的设置中调用 setJavaScriptEnabled(false) 来明确禁用它。

如果必须使用 JavaScript,请仅使用加密通道(如带有证书验证的 HTTPS)从受信任的服务器加载内容。

示例

在以下(错误)示例中,WebView 在其设置中启用了 JavaScript

WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);

在以下(正确)示例中,WebView 明确禁止 JavaScript 执行

WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(false);

参考资料

  • ©GitHub 公司
  • 条款
  • 隐私