我是靠谱客的博主 美满书本,最近开发中收集的这篇文章主要介绍android 浏览器跳转app_移动端APP内嵌H5怎么防外链打开?移动端APP内嵌H5怎么防外链打开?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

移动端APP内嵌H5怎么防外链打开?

APP内嵌页面可被抓包获取链接然后在浏览器打开,这样安全性就会有问题了。涉及到用户的个人信息泄露、被盗取等一系列的问题。

起初后端说让我在接口的RequestHeaders里的User-Agent里面追加字段,百度一下User-Agent

89187a6e93f61d967bdc23c9c7813d47.png

原来是发现浏览器标识,怎么哪里感觉不对劲,尝试着修改User-Agent,加了半天也没加上。发现它并不是很好玩,兼容性也不是很好,还不怎么听话。浏览器的User Agent字段令人迷惑,例如:某一版本的Chrome访问网络时,User Agent字段如下:

Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.29 Safari/537.36

  • Mozilla/5.0:网景公司浏览器的标识,由于互联网初期浏览器市场主要被网景公司占领,很多服务器被设置成仅响应含有标志为Mozilla的浏览器的请求,因此,新款的浏览器为了打入市场,不得不加上这个字段。
  • Windows NT 6.3 : Windows 8.1的标识符
  • WOW64:32位的Windows系统运行在64位的处理器上
  • AppleWebKit/537.36:苹果公司开发的呈现引擎
  • KHTML:是Linux平台中Konqueror浏览器的呈现引擎KHTML
  • Geckeo:呈现引擎
  • like Gecko:表示其行为与Gecko浏览器引擎类似

尝试了几种方法发现没有一点卵用犹如石沉大海,于是我决定另寻出路,既然浏览器有标识,那手机肯定也有啊。

山重水复疑无路,柳暗花明又一村。

问了下安卓和IOS,毕竟他们是原生,果然他们原生提供有这个方法!NICE!!!

a47f2b19ab8348c48e62f783519a82a0.gif

这就好办了,直接上才艺!!!和移动端约定下标识就OK了

    // 通过ua标识判断
    var userAgent_app = navigator.userAgent.toLowerCase();//获取UA信息
    var isApp;
    // console.log(userAgent_app)
    if (userAgent_app.indexOf("faceying") != -1) {//判断ua中是否含有和app端约定好的标识
        isApp = true //客户端调用
    }else{
        isApp = false //客户端调用
    }
    if (isApp) {
        $('#app').css('display', 'block');
        // $('#noapp').css('display','none');
    } else {
        // console.log(userAgent_app)
        $('#app').css('display', 'none');
        // $('#noapp').css('display','block');
        let nav = getNav();
        if (nav == 'IOS') {
            // 跳转到app store
            location.href = 'https://itunes.apple.com/cn/app/id1399525115?mt=8';
        } else if (nav == 'Android') {
            // 跳转到应用宝
            location.href = 'https://a.app.qq.com/o/simple.jsp?pkgname=com.kaixun.faceshadow';
        } else if (nav == 'mac' || 'Windows') {
            location.href = 'https://a.app.qq.com/o/simple.jsp?pkgname=com.kaixun.faceshadow';
        }
    }
        // 判断在哪打开安卓还是ios
    function getNav() {
        let u = navigator.userAgent;
            // app = navigator.appVersion;
        // console.log(navigator.userAgent)
        let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 //g
        let isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/) //ios终端
        let mac = u.indexOf('Mac')
        let win = u.indexOf('Windows')
        if (isAndroid) {
            return 'Android'
        }
        if (isIOS) {
            return 'IOS'
        }
        if (mac > -1) {
            return 'mac'
        }
        if (win > -1) {
            return 'Windows'
        }
    }

最后

以上就是美满书本为你收集整理的android 浏览器跳转app_移动端APP内嵌H5怎么防外链打开?移动端APP内嵌H5怎么防外链打开?的全部内容,希望文章能够帮你解决android 浏览器跳转app_移动端APP内嵌H5怎么防外链打开?移动端APP内嵌H5怎么防外链打开?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部