首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android WebView 啟用 JavaScript 的 XSS 風險解讀

     編輯:程式設計疑難解答

Android 開發中常見警告:Using setJavaScriptEnabled can introduce XSS vulnerabilities into your application, review carefully. 本文解釋其含義與防範措施。

警告原文翻譯

「啟用 setJavaScriptEnabled 可能將 XSS(跨站腳本攻擊)漏洞引入你的應用,請仔細審查。」

風險成因

  • WebView 加載的網頁若包含惡意 JavaScript,可通過 addJavascriptInterface 暴露的 Java 對象訪問本地文件、竊取數據、甚至執行任意代碼。
  • Android 4.2 (API 17) 以下版本尤其嚴重,任何公共方法均可被調用。

最佳實踐

  1. 僅在必要時啟用:webView.getSettings().setJavaScriptEnabled(true);
  2. 移除不必要的 JS 接口:避免 addJavascriptInterface 暴露敏感對象。
  3. API 17+ 使用 @JavascriptInterface 註解:僅暴露標註方法。
  4. 驗證加載 URL 來源:僅信任自有域名,禁止加載用戶輸入或第三方鏈接。
  5. 設置 WebViewClient 進行攔截:覆寫 shouldOverrideUrlLoading 防止跳轉釣魚頁面。

總結

啟用 JavaScript 是雙刃劍,必須在「功能需求」與「安全風險」間權衡,嚴格遵循最小權限原則,並保持 WebView 組件更新(使用 AndroidX WebKit 庫)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved