关于phonegap的白名单机制

今天在项目中发现了一个问题,使用phonegap开发的APP默认情况下可以将外部网页加载进入手机APP当中,这是相当危险的,同时也会给人一种APP非native的感觉。

可能遇见的一种情况是有些WiFi需要认证,如果你的APP默认允许访问所有外部资源的话,那么很可能你一打开APP就会跳转到认证页面,这当然是不允许的,而且最不能接受的是,当你认证不成功的时候,每次打开APP都会进入这个页面!

这里采用白名单机制来解决这个问题,即默认情况下,我只允许APP和我的服务器进行通讯,例如我的服务器的域名是http://127.0.0.1,那么可以通过在项目的主目录下的config.xml里面添加一段代码

如下所示:

即<access orgin=http://127.0.0.1/>这段代码,其意义是只允许访问这个地址下的资源,其他的一概不允许在APP中通过网络访问,

加上这种白名单机制之后,当需要进行连接验证的时候,会调用手机的外部浏览器加载认证页面,而不是直接在APP中打开页面,这样,外部页面是无法访问到APP内部的,如果一定要加载外部页面在我们的APP当中,

那么必须使用inappbrowser这个插件,它与白名单机制不会互相冲突,并且使用它打开的外部页面是无法访问到我们内部资源的。

时间: 2024-11-08 13:53:24

关于phonegap的白名单机制的相关文章

cordova 5.0 白名单

最新的cordova 5.0 更新了白名单机制,增强了安全性,但是也给我们在开发中带来了很多问题: 当你引入谷歌.百度地图时,会出现 Failed to load resource -- 解决办法: 1.ionic plugin add cordova-plugin-whitelist 2.<meta http-equiv="Content-Security-Policy" content="script-src * 'unsafe-eval'; connect-src

iptables详解(9):iptables的黑白名单机制

注意:在参照本文进行iptables实验时,请务必在个人的测试机上进行,因为如果iptables规则设置不当,有可能使你无法连接到远程主机中. 前文中一直在强调一个概念:报文在经过iptables的链时,会匹配链中的规则,遇到匹配的规则时,就执行对应的动作,如果链中的规则都无法匹配到当前报文,则使用链的默认策略(默认动作),链的默认策略通常设置为ACCEPT或者DROP. 那么,当链的默认策略设置为ACCEPT时,如果对应的链中没有配置任何规则,就表示接受所有的报文,如果对应的链中存在规则,但是

PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍

一. Phonegap 白名单安全机制 Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器 视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了白名单安全机制,通过它来 控制能够加载到内置浏览器视图的内容来源. Android 不通过白名单安全机制的话调用外部浏览器 IOS 不通过白名单安全的话 会直接拒绝 二.Android 配置白名单 在res/xml/config.xml这个文件里进行配置 三.IOS 配置 以及 Wp7/wp8配置白

PhoneGap 白名单安全机制 navigator.app 加载外部页面返回

学习要点: 1. Phonegap 白名单安全机制 2. Navigator.app 对象加载外部页面 返回上级页面 一. Phonegap 白名单安全机制 Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器 视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了白名单安全机制,通过它来 控制能够加载到内置浏览器视图的内容来源. Android 不通过白名单安全机制的话调用外部浏览器 IOS 不通过白名单安全的话会直接拒绝. Android

Android PhoneGap源码分析——白名单

对于单独的Web app应用来说,加载进来的url一般不能保证它的安全性.那么如何来处理url安全性的问题呢. 让我们来看看PhoneGap是如何做的. PhoneGap采用了白名单的形式,认为在白名单中的url认为是安全的,不在白名单中的url是不安全的.对于安全的url,PhoneGap的Web app会直接打开,对于不安全的url,会通过浏览器打开. 那么怎么增加白名单呢?PhoneGap是需要在配置文件res/xml/config.xml中设置,如下: <cordova> - <

gitlab的rack-attack机制和如何设置白名单的记录

目标gitlab是使用源码安装的10.5中文版 大纲: gitlab rack-attack 机制的作用 如何启用和禁用gitlab的rack-attack机制,以及如何配置白名单 如果一个ip被错误地拦截,导致了不能访问,如何快速地恢复 如果gitlab工作在一个反向代理(或者是负载均衡器)的后边,会导致的问题和解决的方法 如何写出一个可以触发拦截机制的测试用例 正文: 1.gitlab rack-attack 机制的作用 gitlab的rack-attack机制是为了限制某个ip对gitla

iOS9中如何适配http,Bitcode,设置sina,qq,weChat配置Scheme白名单

iOS9.0SDK在编译的时候,默认所有从NSURLConnection.CFURL和NSURLSession发出的http请求,都改为https请求.由于AFNetworking版本底层是用了NSURLConnection,所以使用AFNetworking的app都将受到影响.对于这个问题的解决办法有三种,一:让服务器更新,使用https,以解析相关的数据. 二:在info.plist做些配置,让其暂时倒回到不安全的网络传输协议(http协议).下面详细来说下这两种方案. 方案一:让服务器更新

一个用于白名单服务的布隆过滤器(bloom filter)

bloom filter这种数据结构用于判断一个元素是否在集合内,当然,这种功能也可以由HashMap来实现.bloom filter与HashMap的区别在于,HashMap会储存代表这个元素的key自身(如key为"IKnow7",那么HashMap将存储"IKnow7"这12个字节(java),其实还需要包括引用大小,但java中相同string只存一份),而bloom filter在底层只会使用几个bit来代表这个元素.在速度上,bloom filter对比

利用script和scriptlet moniker绕过脚本白名单限制

没事儿看了一下subtee和enigma0x3今年在BSides Nashville 2017上的演讲,觉得这两个猥琐男简直不能再猥琐了 :-)其中有一个猥琐小技巧,又可以让我们好好hunting一番了.我这里先简单介绍一下吧: 在很多时候我们发现我们在目标机器环境里想要运行个js或者vbs脚本很困难,原因就是因为好多环境里使用了白名单限制机制只允许特定签名的脚本文件可以执行.在这样的环境里,我们应该怎么样去执行这些脚本呢? 首先在windows 7以上系统中,有这样一个目录:c:\window