我收到了Google控制台的警告,提醒我使用此页,因为我在应用程序中使用了JavaScript接口,并建议了两个解决问题的方案。
选项1告诉我们:
确保在加载不受信任的web内容的任何JavaScript接口中没有添加任何对象。您可以通过两种方式来实现这一点: 确保从未通过对JavaScript的调用将任何对象添加到addJavascriptInterface接口。 在不受信任的内容由JavaScript加载之前,通过removeJavascriptInterface从shouldInterceptRequest中的removeJavascriptInterface接口中删除对象。
但我不明白google到底在说些什么:
在不受信任的内容由JavaScript加载之前,通过removeJavascriptInterface从shouldInterceptRequest中的removeJavascriptInterface接口中删除对象
谁能告诉我更多的解释吗?
发布于 2018-12-27 11:32:30
我只是发布了一个更新,没有做什么特别的事情,警告消失了,但不确定它是否会回来。
发布于 2019-01-29 16:51:58
您可以通过以下方式解决此问题:
现在,关于“通过removeJavascriptInterface从shouldInterceptRequest中的JavaScript接口删除对象,然后由WebView 加载不受信任的内容”:这意味着当在WebView中加载任何非HTTPS时,应用程序应该删除(或禁用) JavaScriptInterface。
在完成这些操作之后,您需要在播放控制台上更新APK。
结论是,如果你想使用JavaScriptInterface,最好在你的网站上使用HTTPS。如果您使用HTTP,JavaScriptInterface将不被Google所允许。
发布于 2018-12-22 09:11:45
我也面临着同样的问题,也没能解决这个问题。在如何解决“JavaScript接口注入漏洞的修复”?中对我起作用的是使用WebView.evaluateJavascript。唉,这并不是对JavascriptInterface的所有用例的完全替代,但也许它对您的目的来说已经足够了。
https://stackoverflow.com/questions/53679624
复制相似问题