做的H5页面,app嵌入页面,H5发布上线后

做的H5页面,app嵌入页面,H5发布上线后怎么不让浏览器打开,只能app打开页面

阅读 4.9k
6 个回答

这个只能服务器端控制或者应用中通过一定的判断处理,实际大概思路是

  1. app有专门的客户端特征信息,在请求时传递给服务器
  2. 服务器检验访问请求中是否带有该特征信息,有则正常服务,否则跳转到下载app页面

这个处理也可以通过应用中利用一些手段检测当前环境状态来实现,不过这样一来,相应处理信息存在暴露的可能,所以没有服务器端处理保护级别高。

判断是否在app内就行了吧

可以选择把编译后的项目打包进App,App直接打开本地项目。

app嵌入页面之后就在APP内打开的,如果用浏览器打开这个H5页面,应该在H5页面控制不让浏览器打开,可以用navigator.userAgent判断

防君子不防小人, 如果是自己的app, 在app请求的时候带上header或特定user-agent, 然后配置nginx或apache, 检查请求头, 如果有就允许, 没有就拒绝

一个思路:App 的 WebView 是可以通过 JS 跟页面进行交互的,所以页面打开之后等 App 的交互(或主动去请求),得到一个预定的标识,如果是,就继续,否则就跳转到其他页面(比如 App 下载页)。

如果要防止模拟标识,可以采用加密认证的方式。简单的可以使用 HMAC 算法或对称(如 AES 算法)来加密,不过密钥在前端拿得到,并不是很安全。要安全一点可以用非对称加密,就是算起来比较耗资源。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题