我是靠谱客的博主 美满书本,最近开发中收集的这篇文章主要介绍android 浏览器跳转app_移动端APP内嵌H5怎么防外链打开?移动端APP内嵌H5怎么防外链打开?,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
移动端APP内嵌H5怎么防外链打开?
APP内嵌页面可被抓包获取链接然后在浏览器打开,这样安全性就会有问题了。涉及到用户的个人信息泄露、被盗取等一系列的问题。
起初后端说让我在接口的RequestHeaders里的User-Agent里面追加字段,百度一下User-Agent
原来是发现浏览器标识,怎么哪里感觉不对劲,尝试着修改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!!!
这就好办了,直接上才艺!!!和移动端约定下标识就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怎么防外链打开?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复