【转】PhoneGap域名白名单说明书(Domain Whitelist Guide)

临碣秘藏 2012-07-05

概述

Cordova项目中的域名白名单是一个用来控制外部域名访问的安全模块,比如http://google.com默认的安全机制是没有网络访问权限。开发者可以定义特定域名和子域名的访问权限。

规范

域名白名单是W3CWidgetAccess规范的基础。在部件访问(WidgetAccess)规范中,<access>元素用来定义特定域名的访问权限,在以后的更新中Cordova平台白名单将趋近W3CWidgetAccess规范。特别的,每个平台必须定义自身的白名单。

语法

访问google.com:

http://google.com

访问安全连接google.com(https://):

https://google.com

访问子域名maps.google.com:

http://maps.google.com

访问google.com上的全部子域名(比如.mail.google.com或docs.google.com):

http://*.google.com

全部域名(诸如google.com或baidu.com):

*

Android:细节:

白名单规则见下载包res/xml/cordova.xml,通过元素<accessorigin="..."/>.声明

安卓支持白名单的全部语法

语法:

访问google.com:

<accessorigin="http://google.com"/>

BadaBada不支持白名单设置.默认的,所有域名都可以访问.

BlackBerryDetails白名单规则见目录www/config.xml通过元素<accessuri="..."/>声明.

查阅详细资料,见BlackBerryWebWorksAccessElementdocumentation.

语法访问google.com:

<accessuri="http://google.com"subdomains="false"/>

访问maps.google.com:

<accessuri="http://maps.google.com"subdomains="false"/>

访问google.com:全部子域名

<accessuri="http://google.com"subdomains="true"/>

访问全部域名,包括file://协议:

<accessuri="*"subdomains="true"/>

iOS详细

打开Cordova.plist.
  • 在Xcode中,见目录AppName/SupportingFiles/Cordova.plist
  • 在目录,见AppName/Cordova.plist
在ExternalHostskey下添加新的键值.
  • 建议使用Xcode避免编辑原始XML.

iOS不支持域名协议(诸如. http:// a或https://) .

语法访问google.com和安全连接google.com(https://):

google.com

访问子域名maps.google.com:

maps.google.com

访问全部子域名google.com(诸如mail.google.com或docs.google.com):

*.google.com

访问全部域名(诸如google.com或baidu.com):

*

IOS(*)通配符比W3CWidgetAccess规范更灵活。

访问所有子域名和顶级域名(.com,.net,等):

*.google.*

SymbianBada不支持白名单设置.默认的,所有域名都可以访问.

webOSBada不支持白名单设置.默认的,所有域名都可以访问.

WindowsPhoneBada不支持白名单设置.默认的,所有域名都可以访问.

相关推荐