请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

info-tech
金牌服务用户   /  发表于:2022-10-7 10:28  /   查看:1654  /  回复:8
1金币
本帖最后由 Simon.Sun 于 2022-10-28 18:17 编辑

活字格如何限制外网只能通过APP访问某个应用?

最佳答案

查看完整内容

当你判断不为true的时候获取一下当前浏览器中的URL,根据URL判断一下是不是内网地址就可以了: JS 获取当前页面 URL | 菜鸟教程 (runoob.com)

8 个回复

Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-9 12:00:16
来自 7#
info-tech 发表于 2022-10-8 22:14
比如应用的外网网址是:www.abc.com:8080/aaa,客户端访问的时候,如果使用的是浏览器(无论手机浏览器、 ...

使用这个方法可以判断当前应用是否是在APP中打开的:

  1. !!(window.index&&window.index.ScanCode)
复制代码
如果返回true就是在APP里,否则在浏览器中。

您可以在全局JS命令中,在所有页面加载时使用上述方法进行判断:是否在APP中,如果返回结果不为true(即不在APP中),就跳转到特定页面:
看完必恍然大悟的活字格内幕:三十六、所有页面加载时都执行(Loaded事件) - 活字格专区 - 专题教程 - 葡萄城产品技术社区 (grapecity.com.cn)
回复 使用道具 举报
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-7 10:28:34
来自 9#
info-tech 发表于 2022-10-9 13:48
基本上接近需求了,需要根据所访问的网址来判断,比如上面举例中的www.abc.com:8080/aaa,如果是这个网址 ...

当你判断不为true的时候获取一下当前浏览器中的URL,根据URL判断一下是不是内网地址就可以了:
JS 获取当前页面 URL | 菜鸟教程 (runoob.com)
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-8 09:22:41
2#
您好,活字格本身开发出来是一个H5的页面,只要有URL在浏览器中就能访问,
如果要限制只能在活字格app中话,可能不太好办,
如果要自己封装app,不把URL暴露出去的话,用户就只能通过app访问了,
有专门封装app的软件厂家,感兴趣可以了解下
回复 使用道具 举报
willning
超级版主   /  发表于:2022-10-8 09:44:02
3#
Joe.xu 发表于 2022-10-8 09:22
您好,活字格本身开发出来是一个H5的页面,只要有URL在浏览器中就能访问,
如果要限制只能在活字格app中话 ...

防君子不防小人的话,可以用HAC的“隐藏设置菜单”(默认就是这个)。
回复 使用道具 举报
info-tech
金牌服务用户   /  发表于:2022-10-8 12:24:44
4#
Joe.xu 发表于 2022-10-8 09:22
您好,活字格本身开发出来是一个H5的页面,只要有URL在浏览器中就能访问,
如果要限制只能在活字格app中话 ...

使用代码开发的其他系统支持这种方式,在代码中进行限制。在外网输入网址时,获取不到首页的登录界面。活字格是否也可以?
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-8 14:23:49
5#
本帖最后由 Chelsey.Wang 于 2022-10-8 14:40 编辑
info-tech 发表于 2022-10-8 12:24
使用代码开发的其他系统支持这种方式,在代码中进行限制。在外网输入网址时,获取不到首页的登录界面。活 ...

您是指在页面加载时先判断在浏览器中还是在应用中,然后再通过判断用户的IP进行跳转吗?
由于浏览器的安全性限制,BS应用不好准确获取到客户端的IP,但是在APP中的话应该是可以获取到的,不过目前的活字格APP的确还不支持这样的功能,需要您自己封装APP来实现。
您可以尝试通过代码来实现,判断页面在浏览器/APP中的JS可以参考:
JS判断H5/Html页面,是在手机APP内或者是在手机浏览器打开_一只会飞的汪汪的博客-CSDN博客_js 判断h5
(在HAC1.3.0中 活字格PDA解决方案:活字格安卓容器(HAC),会在useragent里加一个HAC/1.3.0-beta,可以通过这个协议头来进行判断)


关于对于IP的限制方式,这个帖子中的场景和您类似,您可以参考一下:
在应用系统登录中,非法IP地址禁止登录问题 - 活字格专区 - 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)




回复 使用道具 举报
info-tech
金牌服务用户   /  发表于:2022-10-8 22:14:11
6#
Chelsey.Wang 发表于 2022-10-8 14:23
您是指在页面加载时先判断在浏览器中还是在应用中,然后再通过判断用户的IP进行跳转吗?
由于浏览器的安 ...

比如应用的外网网址是:www.abc.com:8080/aaa,客户端访问的时候,如果使用的是浏览器(无论手机浏览器、电脑浏览器),而没有使用伙子格的手机APP,不跳转到登录页面,提示无权限登录,或者出现登录页面但不出现用户名、密码等这些登录的内容。不是要限制客户端登录时的IP地址哪些可以登录。
回复 使用道具 举报
info-tech
金牌服务用户   /  发表于:2022-10-9 13:48:30
8#
Chelsey.Wang 发表于 2022-10-9 12:00
使用这个方法可以判断当前应用是否是在APP中打开的:

如果返回true就是在APP里,否则在浏览器中。

基本上接近需求了,需要根据所访问的网址来判断,比如上面举例中的www.abc.com:8080/aaa,如果是这个网址,再结合这个方法进行判断。内网网址访问时是允许在浏览器中打开的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部