Android 防止webview 注入

現在android 4.2以上的版本,反正注入很簡單,js交互函數加上@JavascriptInterface就ok,那低版本呢?其實很簡單別把它想的很難。
說白了總體思路是:在網頁沒加載完前,注入自己寫的js代碼,然後在onJsPrompt() 通過反射,調取本地js交互的函數。那你會問onJsPrompt()在哪?這個函數有什麼作用?

1.首先這個函數是在WebChromeClient()下的一個函數。

2.onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result)函數:message爲交互時是h5傳遞過來的數據,那我們反射調用結果返回到H5當中呢?可以通過prompt方法。例如(從其他博客抓的)

這裏寫圖片描述

那你說代碼怎麼寫自己注入的js代碼呢?這裏有個封裝好的,可以直接用。demo後續給出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章