登录

去注册

登录

注册

去登录

注册

每日一问 webview 加载的页面好像被劫持了?

xiaoyang   2019-09-17   收藏

wanandroid有很多开源app,最近发现通过app查看文章时,经常自动打开淘宝、京东等第三方 app。

  1. h5页面怎么做到的可以让我们“自动打开淘宝”?
  2. 如果认为“自动打开淘宝”是一个非常严重的体验问题,那么从技术角度思考该如何解决?
  3. 除了h5 页本身写了跳转代码,还有哪些情况下会导致“自动打开淘宝”这样的现象产生?
5
  1. Android中的h5我们使用Scheme跳转
    一个测试网站 (有些浏览器可能会拦截)
  2. 可以设置拦截,许多浏览器中就有拦截,有的需要你给予权限才能实现跳转。在Android中的话可以使用web view的WebViewClient进行处理,让他不跳转,也可以设置WebView的 webView.getSettings().setJavaScriptEnabled(false) (大部分的自动跳转都是在js代码中实现的)。
  3. Android中还有可以在一个app中唤醒另外一个app(有三种方式:包名、特定的Activity名、uri)
回复
1
  1. 通过deeplink的scheme 协议拉起应用,或者遍历安装的应用的启动launcher通过模拟点击启动图标拉起,又或者应用具有一定的权限直接通过js调用原生java关联拉起淘宝,等等,需要看具体场景。
  2. 出现这种问题的原因分析,一般有二,一是服务器页面被js注入,另一种是比较隐晦的运营商劫持url并重定向到淘宝。服务器页面被注入,这种在手机端基本不好处理,只能服务器添加防注入机制;运营商劫持重定向,通过webviewclient的url拦截是一种方式,另外就是在自己h5的app跳转的url中增加安全校验码;
  3. 见第一条的分析。
回复

删除留言

确认删除留言,会导致相关评论丢失?

取消 确定