android– 如何解决“JavaScript接口注入漏洞的修复”?

android– 如何解决“JavaScript接口注入漏洞的修复”?,第1张

概述谷歌要求我在我的Android应用程序中解决https://support.google.com/faqs/answer/9095419,这基本上意味着不对通过HTTP加载的网页使用JavaScript注入机制.不使用此机制(选项1)对我不起作用.将android:usesCleartextTraffic设置为false也不起作用,因为该应用程序在其他地方使用非HTT

谷歌要求我在我的Android应用程序中解决https://support.google.com/faqs/answer/9095419,这基本上意味着不对通过http加载的网页使用JavaScript注入机制.

不使用此机制(选项1)对我不起作用.将androID:usesCleartextTraffic设置为false也不起作用,因为该应用程序在其他地方使用非httpS流量.因此,“我可以确保任何受影响的WebVIEw都不会通过loadUrl加载任何带有http方案的URL” – 我很乐意这样做,因为我的应用程序只使用file:/// URL将内容加载到WebVIEw中,安全性应该很好.但是我如何编写shouldOverrIDeUrlLoading方法的代码,以便Google的检查程序识别出我只使用file:/// URL?

请注意,问题不同于Remediation for JavaScript Interface Injection Vulnerability(因为我清楚要问的是什么)和In Android, JavaScript Interface Injection Vulnerability(因为我没有使用http,而是文件:/// URL).

编辑:添加我的shouldOverrIDeUrlLoading方法. (这不是整个方法,而是它的重要部分.)

    @OverrIDe    public boolean shouldOverrIDeUrlLoading (WebVIEw browser, String url) {        if (url.startsWith("file:///")) {            // This is my web site, so do not overrIDe; let my WebVIEw load the page            browser.loadUrl(url);            return true;        }        // Otherwise, the link is not for a page on my site, or is an entirely different kind of URI        // (like tel:, geo: or mailto:), so launch another Activity that handles URLs        act.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));        return true;    }

解决方法:

我还没有找到一种方法来使用file:// URL和资产,以满足Google代码检查器的方式.虽然这可以解决问题,但我仍然不清楚如何编写代码.

我最终做的 – 解决我的直接问题 – 是通过WebVIEw.evaluateJavaScript方法调用JavaScript方法.从WebVIEwClIEnt.onPageFinished中调用时,页面已完成加载,因此可以访问所有元素.虽然对我的情况不重要,但此方法也可以返回Java代码的值.因此,虽然它不是JavaScriptInterface的一般替代品,但它解决了一些用例.

总结

以上是内存溢出为你收集整理的android – 如何解决“JavaScript接口注入漏洞的修复”?全部内容,希望文章能够帮你解决android – 如何解决“JavaScript接口注入漏洞的修复”?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存